ESP Easy
Rules
Forum
Site
Table of Contents
About Us
History
Early days (Nodo Uno)
04/2010 (Nodo Due)
10/2011 (Joining the Nodo community)
03/2012 (Nodo Mega)
05/2013 (Nodo NES Shield)
01/2014 (Exploring new wireless capabilities)
02/2015 (Entering the Wi-Fi solution)
04/2015 (ESP Connexio)
05/2015 (ESP Easy initiative)
09/2015 (ESP Easy R020)
02/2016 (ESP Easy R078)
08/2016 (ESP Easy R120)
11/2016 (ESP Easy Mega)
02/2017 (Change of roles)
08/2018 (New core team)
Supported ESP Chips
Datasheets
Technical Reference Manuals
ESP8266/ESP8285
ESP32/ESP32-solo1
ESP32-S2
ESP32-S3
Quad/Octal SPI mode
ESP32-C2/ESP8684
ESP32-C3/ESP8685
ESP32-C5
ESP32-C6
ESP32-C61
ESP32-H2
ESP32-P4
ESP Easy Function Blocks
Plugin
Task
Controller
Rules
Notifications
ESPEasy Scheduler
Scheduled Action Parameters
Background Actions & System/Rules Events
Fixed Interval ‘jitter’
Config page
Main Settings
Unit Name
Unit Number
Append Unit Number to hostname
Admin Password
WiFi Settings
SSID
WPA Key
Fallback SSID / WPA Key
WPA AP Mode Key
Don’t force /setup in AP-Mode
Do Not Start AP
Custom Build WiFi credentials
Client IP filtering
Client IP block level
Access IP lower range
Access IP upper range
WiFi/Ethernet IP Settings
Sleep Mode
Description
Sleep awake time
Sleep time
Sleep on connection failure
CDN (Content delivery network)
Controller
Controller Plugins
Controller Parameters
Generic fields
Send queue parameters
TLS configuration
Controller user credentials
MQTT related settings
Hardware page
Wifi Status LED
Reset pin
I2C Interface
I2C Multiplexer
Device configuration
SPI Interface
SD Card
Ethernet
Preferred network medium
Ethernet PHY type
Ethernet PHY Address
RMII Ethernet
SPI Ethernet
Ethernet with PoE
Ethernet Isolation
GPIO boot states
Devices Page
Task Config Page
Sensor
Device Settings
Output
Statistics
Data Acquisition
Values
List of official plugins
Plugins per build set
Build set:
NORMAL
Build set:
COLLECTION A
Build set:
COLLECTION B
Build set:
COLLECTION C
Build set:
COLLECTION D
Build set:
COLLECTION E
Build set:
COLLECTION F
Build set:
COLLECTION G
Build set:
CLIMATE
Build set:
DISPLAY
Build set:
ENERGY
Build set:
IR
Build set:
IRext
Build set:
NEOPIXEL
Build set:
MAX
Plugins per Category
Internal GPIO handling
Analog input
Acceleration
Color
Communication
Display
Distance
Dust
Energy (AC)
Energy (DC)
Energy (Heat)
Environment
Extra IO
Gases
Generic
Gesture
Gyro
Hardware
Input
Keypad
Light/Color
Light/Lux
Light/UV
Motor
Notify
Output
Position
Power management
Presence
Regulator
RFID
Switch input
Touch
Weight
Rules
Introduction
Enable Rules
Device name special considerations
Special Notations
Syntax
IF/ELSE - IF/ELSEIF/ELSE
AND/OR
Trigger
Operator (inequality function)
(System) events
Matching events
Matching events using wildcard
Test
Action
Comment
Referring values
Event name (%eventname% or %eventpar%)
Event value (%eventvalue%)
Task value events
Internal variables
Task-specific settings
Special task names
Parameter parsing
Formatting referred values
String Formatting and Interpreting
Math Functions
System variables
Best practice
Some working examples
TaskValueSet
Averaging filters
PIR and LDR
SR04 and LDR
Timer
Sub-second resolution and loop timers
Starting/stopping repeating timers with events
HTTP call
SendTo and Publish
Time
SendToHTTP
Convert curl POST command to PostToHTTP
Dew Point for temp/humidity sensors (BME280 for example)
Report IP every 30 seconds using MQTT
Custom reports to Domoticz with own IDX
Authentication to Domoticz via SendToHTTP
One button, multiple actions using long press
Calculating water consumption
Iterate over lookup table
Validate a RFID tag against a sorted list
Moving average of many values
Register daily working time
Register power used for a heater
Notifications
Feature Summary
Notifications Plugins
Tools
Command
System
Log
Info
Advanced
Show JSON
Show Metrics
Timing Stats
System Variables
Interfaces
I2C Scan
Settings
Load
Save
Backup files
Firmware
Firmware update
File system
File browser
Factory Reset
Settings Archive
Provisioning
WiFi
WiFi State Machine
WiFi STA states
WiFi AP mode states
WiFi disconnect reasons
Beacon timeout (200)
ECO mode
TL;DR
Appendix
PlatformIO
PlatformIO Prerequisites
PlatformIO with VSCode
Install
Uncrustify
Load a project using PlatformIO
Make a custom build using PlatformIO
VS-Code with WSL2
Installing WSL2
Linking USB serial adapter to WSL2
Upload to ESP
Linux
Starter guide for (local) development on ESPEasy
Github account
The Github flow
Fork the ESPEasy repository
Install VSCode and PlatformIO
Clone your forked repository to your computer
Open the folder with ESPEasy project
Compile an ESPEasy PIO environment
Create a new branch
Change code of ESPEasy
Add a plugin to ESPEasy
Writing documentation
Commit and create a pull request
Regular maintenance of your fork
Get a pull request by someone else on your system
Arduino IDE
Prepare Arduino IDE
Arduino IDE Prerequisites
Download ESPEasy Sources
Building using Custom.h
Define USE_CUSTOM_H in ESPEasy_common.h
Build definition via platform.local.txt
Board definitions
Documentation
PlatformIO with VSCode
Project Structure
ESPEasy Project Directories
ESPEasy src dir
ESPEasy ‘nightly builds’
Build Type
ESP Chip Type
Memory Size and Partitioning
Optional build options
Difference between .bin and .bin.gz
ESP32 builds
Blank Images
Flashing
Flashing Software
Flashing Parameters
Baud Rate
Crystal
SPI Speed
SPI Mode
ESP82xx
ESP32
Flash ESP32 with Espressif Download Tool
Safety
HLW8012 & CSE7766
Command Reference
Command a specific task for multiple instances of a plugin
Internal Commands
Event command
GPIO Commands
Internal GPIO
External MCPGPIO
External PCFGPIO
Ringtone Internal GPIO
Task Value Stats Commands
Plugin based commands
P003
P003_page
P007
P007_page
P009
P009_page
P011
P011_page
P012
P012_page
P019
P019_page
P020
P020_page
P021
P021_page
P022
P022_page
P023
P023_page
P035
P035_page
P036
P036_page
P038
P038_page
P043
P043_page
P048
P048_page
P049
P049_page
P052
P052_page
P053
P053_page
P059
P059_page
P065
P065_page
P067
P067_page
P073
P073_page
P075
P075_page
P076
P076_page
P077
P077_page
P078
P078_page
P079
P079_page
P082
P082_page
P087
P087_page
P088
P088_page
P089
P089_page
P091
P091_page
P093
P093_page
P094
P094_page
P095
P095_page
P098
P098_page
P099
P099_page
P101
P101_page
P104
P104_page
P109
P109_page
P115
P115_page
P116
P116_page
P117
P117_page
P118
P118_page
P123
P123_page
P124
P124_page
P126
P126_page
P127
P127_page
P128
P128_page
P129
P129_page
P131
P131_page
P135
P135_page
P137
P137_page
P141
P141_page
P143
P143_page
P146
P146_page
P148
P148_page
P152
P152_page
P153
P153_page
P159
P159_page
P162
P162_page
P163
P163_page
P166
P166_page
P167
P167_page
P169
P169_page
P175
P175_page
P178
P178_page
AdafruitGFX Helper commands
Event Reference
Internal (core) events
Plugin based events
P000 (core)
P000_Buzzer_page
P036
P036_page
P037
P037_page
P043
P043_page
P053
P053_page
P064
P064_page
P080
P080_page
P081
P081_page
P082
P082_page
P097
P097_page
P098
P098_page
P099
P099_page
P115
P115_page
P123
P123_page
P129
P129_page
P138
P138_page
P143
P143_page
P170
P170_page
P175
P175_page
GPIO
Best pins to use on ESP8266
Special notes on GPIO 6 - 11
Special notes on GPIO 16
Best pins to use on ESP32
Special notes on GPIO 6 - 11 & 16, 17
Special notes on GPIO 34-39
Pins used for RMII Ethernet PHY
Best pins to use on ESP32-C3
ESP32-C3 UART0
ESP32-C3 USB
ESP32-C3 Strapping Pins
ESP32-C3 SPI flash pins
Best pins to use on ESP32-S2
ESP32-S2 UART0
ESP32-S2 USB
ESP32-S2 Strapping Pins
ESP32-S2 SPI flash pins
Best pins to use on ESP32-S3
ESP32-S3 UART0
ESP32-S3 USB
ESP32-S3 Strapping Pins
ESP32-S3 SPI flash pins
Special notes on ADC pins
Boot Strapping Pins
ESP8266 (ESP8285)
ESP32 (classic)
ESP32-S2
ESP32-S3
ESP32-C3 (ESP8685)
ESP32-C2 (ESP8684)
ESP32-C6
ESP32-H2
Serial Helper configuration
Using ESP8266
Using ESP32
Both ESP8266 and ESP32
System Variables
Available System Variables
Standard Conversions
Task Formulas
Examples
URLs
JSON
CSV
Control
RTC Reference
RTC layout ESPEasy
ESP8266
ESP32
RTC Struct
Change Log
2.0
External Hosted Static Files
So what does this al mean?
Page
Welcome to ESP Easy’s documentation!
Indices and tables
About Us »
Welcome to ESP Easy’s documentation!
¶
Table of Contents
About Us
History
Supported ESP Chips
Datasheets
Technical Reference Manuals
ESP8266/ESP8285
ESP32/ESP32-solo1
ESP32-S2
ESP32-S3
ESP32-C2/ESP8684
ESP32-C3/ESP8685
ESP32-C5
ESP32-C6
ESP32-C61
ESP32-H2
ESP32-P4
ESP Easy Function Blocks
Plugin
Task
Controller
Rules
Notifications
ESPEasy Scheduler
Config page
Main Settings
WiFi Settings
Client IP filtering
WiFi/Ethernet IP Settings
Sleep Mode
Controller
Controller Plugins
Controller Parameters
Hardware page
Wifi Status LED
Reset pin
I2C Interface
I2C Multiplexer
SPI Interface
SD Card
Ethernet
GPIO boot states
Devices Page
Task Config Page
List of official plugins
Plugins per build set
Plugins per Category
Rules
Introduction
Some working examples
Notifications
Feature Summary
Tools
Command
System
Interfaces
Settings
Firmware
File system
WiFi
WiFi State Machine
WiFi disconnect reasons
ECO mode
Appendix
PlatformIO
PlatformIO Prerequisites
PlatformIO with VSCode
VS-Code with WSL2
Upload to ESP
Starter guide for (local) development on ESPEasy
Arduino IDE
Prepare Arduino IDE
Arduino IDE Prerequisites
Download ESPEasy Sources
Building using Custom.h
Board definitions
Documentation
PlatformIO with VSCode
Project Structure
ESPEasy Project Directories
ESPEasy src dir
ESPEasy ‘nightly builds’
Flashing
Flashing Software
Flashing Parameters
ESP82xx
ESP32
Safety
HLW8012 & CSE7766
Command Reference
Command a specific task for multiple instances of a plugin
Internal Commands
GPIO Commands
Plugin based commands
AdafruitGFX Helper commands
Event Reference
Internal (core) events
Plugin based events
GPIO
Best pins to use on ESP8266
Best pins to use on ESP32
Best pins to use on ESP32-C3
Best pins to use on ESP32-S2
Best pins to use on ESP32-S3
Special notes on ADC pins
Boot Strapping Pins
Serial Helper configuration
Using ESP8266
Using ESP32
Both ESP8266 and ESP32
System Variables
Available System Variables
Standard Conversions
Task Formulas
URLs
JSON
CSV
Control
RTC Reference
RTC layout ESPEasy
RTC Struct
Change Log
2.0
External Hosted Static Files
So what does this al mean?
Indices and tables
¶
Index
Module Index
Search Page