ESPEasy System Variables

From Let's Control It
Jump to navigation Jump to search

To use other values than those created by sensors you need to go to system variables enclosed with "%". Not all of these can be used in rules tests (i.e. "=, >, <" etc.) since some of them output a string value and not a float. Which ones that are float are marked below.

System variables available

These can be used in templates for HTTP, MQTT, OLED and LCD displays and within rules. More uses of these system variables can be seen in the rules section and formula section.

Syntax Example output Extra information Float output
%sysname% ESP_Easy Name as configured through the webgui.
%systime% 01:23:54 Current time if NTP is enabled (hh:mm:ss, hh:mm prior to v2.0).
%systm_hm% 01:23 Current time if NTP is enabled (hh:mm "old behavior").
%systime_am% 1:23:54 AM Current AM/PM time if NTP is enabled (hh:mm:ss xM).
%systm_hm_am% 1:23 AM Current AM/PM time if NTP is enabled (hh:mm:ss xM).
%lcltime% 2020-03-16 01:23:54 Current date/time if NTP is enabled (YYYY-MM-DD hh:mm:ss).
%sunrise% 5:04 Time of sunrise on current day, when NTP is active and coordinates set. If you want to postpone or trigger something earlier but still using the sunset/sunrise time as reference you can use this syntax: %sunrise+10m% or %sunset-1h%. Where the offset must be a integer with the prefix "m" for minutes or "h" for hours. Minus or plus is used to tell if the offset is prior or later than the sunset/sunrise. Any other letter positioned between the number and '%' is regarded as "seconds" notation.
%sunset% 22:03 Time of sunset on current day, when NTP is active and coordinates set. For example on how to offset this time see the information for %sunrise%.
%lcltime_am% 2020-03-16 1:23:54 AM Current date/time (AM/PM) if NTP is enabled (YYYY-MM-DD hh:mm:ss xM).
%syshour%

%syshour_0%

6

06

Current hour (hh). %syshour% omits leading zeros. Yes
%sysmin%

%sysmin_0%

9

09

Current minute (mm). %sysmin% omits leading zeros. Yes
%syssec%

%syssec_0%

5

05

Current second (ss). %syssec% omits leading zeros. Yes
%sysday%

%sysday_0%

7

07

Current day of month (DD). %sysday% omits leading zeros. Yes
%sysmonth%

%sysmonth_0%

3

03

Current month (MM). Yes
%sysyear%

%sysyear_0%

2020

2020

4 digits (YYYY). Yes
%sysyears% 18 2 digits (YY). Yes
%sysweekday% 5 Weekday (integer) - 1, 2, 3... (1=Sunday, 2=Monday etc.). Yes
%sysweekday_s% Fri Weekday (verbose) - Sun, Mon, Tue...
%unixtime% 1521731277 Unix time (seconds since epoch, 1970-01-01 00:00:00)
Example: 1521731277 = 2018-03-22 15:07:57
Yes
%uptime% 3244 Uptime in minutes. Yes
%rssi% -45 WiFi signal strength (dBm). Yes
%ip% 192.168.0.123 Current IP address.
%unit% 32 Unit number. Yes
%ssid% H4XX0R njietwork! Name of current WiFi.
%bssid% 00:15:E9:2B:99:3C MAC of current AP.
%wi_ch% 11 WiFi channel of current AP. Yes
%vcc% 5.2 VCC value, this is only available in the VCC versions of FW. If the variable output is "-1.0" it means that the VCC is not activated or that a reading has not been completed (could be due to incorrect cabling, interval set to "0", etc. etc.). Yes
%mac% 00:14:22:01:23:45 MAC address.
%mac_int% 2212667 MAC address in integer to be used in rules (only the last 24 bit). Yes