Skip to main content

Web Variables

Web variables 'web vars' are special expressions, that are provided by the template engine and can be used to render a variety of information about the system state with the Templates feature.

How to use this document

The main content (reference of available web vars) is organized into multiple lists by their respective table structure. At the end, there is a list of Simple Web vars, that dont belong to a table structure.

Simple variables and table items have a data type.

Refer to the table of contents for more information.

After the web variables reference, you will find glossaries of used flags and used data formats/types.

info

A machine readable reference of all available web variables in the form of a .json file (e.g. for use by LLMs) is available here.

Web Variables Reference

Table of Contents

TableDescription
webvarsSimple web variables
changetabTable of changes that are stored in the database in flash.
filetabThe filetab table contains the installed content files.
fwtabThe fwtab table contains information about the two firmware buffers.
histotabThe histotab table contains the results of the most recently queried history. The table is generated dynamically from the parameters of the query.
inputtabTable of inputs
logtabThe logtab table contains the 8 most recent syslog notifications.
netiftabThe netiftab table contains information about the two network interfaces.
outputtabTable of outputs
pushtabTable of destinations for HTTP Push
sensortabThe sensortab table contains information on up to 16 sensors.
watchtabTable of Watchdogs

webvars

VariableDescriptionFlagsFormat
abnormal_conditionsNumber of sensor alarms and triggered watchdogsPUBLIC, RONLYuint32
admin_nameName of admin userchar[]
admin_pwdVariable for changing the passwordRONLYchar[]
admin_pwd2Variable for changing the password for comparison with admin_pwdRONLYchar[]
anon_readShould reading be possible without loginbool
api_keyAPI key for HTTP requests, like Box2BoxRONLYchar[]
ca_cert_statusHas a CA certificate been uploadedRONLYbool
changes_startTime stamp of oldest recorded entry in changetabPUBLIC, RONLYts
changetab_countNumber of stored changes. Can be lower than loop.length, if entries at start have been deleted.PUBLIC, RONLYuint32
changetab_maxIndex of newest changePUBLIC, RONLYuint32
changetab_minIndex of oldest changePUBLIC, RONLYuint32
cmnty_readSNMP Community for read-only accesschar[15]
cmnty_trapSNMP Community for trapschar[15]
cmnty_writeSNMP Community for write accesschar[15]
config_usageThe configuration's current size in percentRONLYchar[]
csrf_tokenRandom text, which is generated once per session and must be included in many POST requests, to prevent CSRF attacksPUBLIC, RONLYchar[]
db_usageCurrent database usage in percentPUBLIC, RONLYint32
db_usage_changesCurrent database usage for changes in percentPUBLIC, RONLYint32
db_usage_historyCurrent database usage for sensor data in percentPUBLIC, RONLYint32
db_usage_syslogCurrent database usage for syslog messages in percentPUBLIC, RONLYint32
db_usage_unknownCurrent database usage for unknown data in percentPUBLIC, RONLYint32
db_usage_unknown_blocksCurrent database usage for unknown data in blocksPUBLIC, RONLYint32
dev_typeType of device, e.g. "310"PUBLIC, RONLYchar[]
fs_has_spaceNew files can be uploaded in filesystemRONLYbool
fw_devRONLY
fw_manufacturerProducer of the active firmwarePUBLIC, RONLYchar[]
fw_nameName of the active firmwarePUBLIC, RONLYchar[]
fw_versionVersion of the active firmwarePUBLIC, RONLYchar[]
gmt_offsetDifference between local time and UTC in seconds, including summer time, if activePUBLIC, RONLYint32
gmt_offset_dstDifference between local time and UTC in seconds, if summer time is activePUBLIC, RONLYint32
gmt_offset_normalDifference between local time and UTC in seconds, if normal time is activePUBLIC, RONLYint32
has_passwordHas admin user passwordPUBLIC, RONLYbool
has_simulated_network_inputsNEEDS_REBOOT
has_simulated_sensors
histo_rateLogging rate in seconds (only full minutes)PUBLICuint32
histo_rate_mLogging rate in minutesPUBLICuint32
histo_startTime stamp of the oldest recorded dataPUBLIC, RONLYts
histotab_countNumber of stored sensor data. Can be lower than loop.length, if entries at start have been deleted.PUBLIC, RONLYuint32
histotab_maxIndex of newest measurementPUBLIC, RONLYuint32
histotab_minIndex of oldest measurementPUBLIC, RONLYuint32
hostnameName of the devicePUBLICchar[15]
http_hostHost used for current HTTP requestPUBLIC, RONLYchar[]
https_activeIs TLS used for current HTTP requestPUBLIC, RONLYbool
https_redirectRedirect to HTTPS enabledPUBLIC, NEEDS_REBOOTbool
hw_fail_strError message for detected hardware problemsPUBLIC, RONLYchar[]
icons_urlPUBLIC, RONLY
is_adminIs current user adminPUBLIC, RONLYbool
langIndex of language settings

0: English

1: German
PUBLICint32
led_brnDimming level of LED in normal stateuint16
mailtab_addrEmail address of receiverchar[63]
mailtab_enaSending of emails enabledbool
mailtab_tplName of template file for emailschar[]
mb_enaModbus activatedcheck
mb_wrprotModbus is read-onlycheck
memfree_kbFree RAM in kilobytesPUBLIC, RONLYuint32
memfree_min_kbMinimal free RAM in kilobytesPUBLIC, RONLYuint32
memusageCurrent usage of RAM in percentPUBLIC, RONLYchar[]
memusage_maxMaximum usage of RAM in percentPUBLIC, RONLYchar[]
menu_contentPUBLIC, RONLY
mqtt_brokerHostname or IP address of the MQTT brokerchar[63]
mqtt_client_idClient ID, that is sent to the brokerchar[23]
mqtt_enaMQTT activatedcheck
mqtt_intervalUpdate rate in minutes for sensor datauint32
mqtt_keep_aliveKeep alive value, which is sent during connecting to MQTT. The value specifies the maximum time allowed between messages from device to broker. Pings are used, so the device sends enough messages to fulfill this.uint16
mqtt_last_will_connect_messageMessage that will be sent at connection for mqtt_last_will_topicchar[]
mqtt_last_will_messageLast will message. See mqtt_last_will_topicchar[]
mqtt_last_will_topicLast will topic. If mqtt_last_will_message and mqtt_last_will_topic are set, then both are sent to the broker while connecting. The broker will send the message, when the device is not connected any more.char[]
mqtt_passwordPassword for MQTTchar[31]
mqtt_portPort of the MQTT brokeruint16
mqtt_retain_inputsSet retain flag for messages for inputsbool
mqtt_retain_last_willSet retain flag for last willbool
mqtt_retain_outputsSet retain flag for messages for outputsbool
mqtt_retain_sensorsSet retain flag for messages for sensorsbool
mqtt_retain_watchdogsSet retain flag for messages for watchdogsbool
mqtt_send_rebootSend messages with current state after rebootbool
mqtt_statusState of MQTT connectionRONLYint32
mqtt_tlsUse TLS for MQTT connectionbool
mqtt_topic_prefixPrefix used for MQTT topicschar[]
mqtt_userUser for MQTTPUBLICchar[31]
netifActive network interface, "ETH", "WLAN" or "WLAN AP"RONLYchar[]
ntp_enaTime synchronisation with NTP enabledbool
ntpdNTP server's hostname or IP addresschar[31]
remotetab_api_keyAPI key for control of other device using Box2Boxchar[]
remotetab_enaBox2Box enabledbool
remotetab_flagsBit flags for Box2Boxuint32
remotetab_output_countNumber of outputs of other deviceuint32
remotetab_pulse_flagsBit flags indicating which outputs use a pulse.uint32
remotetab_send_rebootSend notifications after Reboot for current statebool
remotetab_urlURL used for changes of other devicechar[]
reset_reqReboot requiredPUBLIC, RONLYbool
server_cert_statusHas a TLS server certificate been uploadedRONLYbool
server_key_statusHas a TLS server key been uploadedRONLYbool
smtptab_hostnameName of the SMTP serverchar[]
smtptab_loginLogin namechar[]
smtptab_passwordLogin passwordchar[]
smtptab_portSMTP server portuint16
smtptab_senderSender addresschar[]
snmp_enaSNMPv1/v2c activatedcheck
snmpdSNMP server's hostname or IP addresschar[]
syscontactResponsible person, see SNMP OID 1.3.6.1.2.1.1.4PUBLICchar[63]
sysdateCurrent date (local)PUBLIC, RONLYdate
sysgmdateCurrent date (UTC)PUBLIC, RONLYdate
sysgmtimeCurrent time (UTC)PUBLIC, RONLYtime
syslocationLocation of the device, see SNMP OID 1.3.6.1.2.1.1.6PUBLICchar[63]
systimeCurrent time (local)PUBLIC, RONLYtime
systimestampTime stamp of current local timePUBLIC, RONLYts
timerange_endEnd timestamp configured with function timerange after normalisationPUBLIC, RONLYts
timerange_startStart timestamp configured with function timerange after normalisationPUBLIC, RONLYts
timerange_stepStep value configured with function timerange after normalisationPUBLIC, RONLYuint32
timezoneCurrent timezone in POSIX TZ formatPUBLICchar[]
timezone_inputRONLY
uptimeTime since boot in days, hours, minutes and secondsPUBLIC, RONLY[Dd Hh Mm Ss](#format-dd hh mm ss)
uptime_dFull days since last bootPUBLIC, RONLYuint
uptime_hHours past full days since last bootPUBLIC, RONLYuint
uptime_mMinutes past full hours since last bootPUBLIC, RONLYuint
uptime_sSeconds past full minute since last bootPUBLIC, RONLYuint
uriURI of current HTTP requestPUBLIC, RONLYchar[]
uri_pathPath in URI of current HTTP requestPUBLIC, RONLYchar[]
userCurrent userRONLYchar[]
wlan_ap_enaWLAN access point enabledNEEDS_REBOOTbool
wlan_ap_nameName of WLAN access point (SSID)NEEDS_REBOOTchar[]
wlan_ap_passWLAN access point passwordNEEDS_REBOOTchar[]
wlan_ap_secuSecurity of WLAN access pointNEEDS_REBOOTuint16
wlan_ap_secu_inputRONLY
wlan_ap_sta_listList of stations connected to WLAN access pointRONLYchar[]
wlan_enaWLAN enabledbool
wlan_nameName of WiFi network (SSID)PUBLICchar[32]
wlan_passPassphrase for Wifi networkchar[64]
wlan_secuSecurity of WiFi network
* 0: Unknown
* 1: WEP-OPEN
* 2: WEP-PSK
* 3: WEP-SHARED
* 4: WPA-PSK-TKIP
* 5: WPA-PSK-AES
* 6: WPA2-PSK-AES
* 7: WPA2-PSK-TKIP
* 8: WPA2-PSK-MIXED
uint16
wlan_secu_inputRONLY

changetab

VariableDescriptionFlagsFormat
changetab_dateDate of change (local time)PUBLIC, RONLYdate
changetab_descDescription of changePUBLIC, RONLYchar[]
changetab_events_jsonEvents as JSONPUBLIC, RONLYchar[]
changetab_flagsBit flags
* Bit 0: First value after system start
* Bit 1: Internal: Values are stored as difference
* Bit 2: There is an event
* Bit 3: Internal: Previous input states are explicitly stored
* Bit 4: Internal: Previous output states are explicitly stored
* Bit 5: Internal: Previous watchdog states are explicitly stored
* Bit 8: There is a database error (not stored)
* Bit 9: The first entry in a time interval is a reboot or database error (only with timerange)
* Bit 10: The next entry after a time interval is a reboot or database error (only with timerange)
PUBLIC, RONLYuint32
changetab_gmdateDate of change (UTC)PUBLIC, RONLYdate
changetab_gmt_offsetDifference between local time and GMT in seconds, including summer time, if activePUBLIC, RONLYint32
changetab_gmtimeTime of change (UTC)PUBLIC, RONLYtime
changetab_idID of object for change. For inputs, outputs and watchdogs it is the index.PUBLIC, RONLYuint32
changetab_next_inputsState of inputs after this eventPUBLIC, RONLYuint32
changetab_next_outputsState of outputs after this eventPUBLIC, RONLYuint32
changetab_next_watchdogsState of watchdogs after this eventPUBLIC, RONLYuint32
changetab_objectnameName of object for this changePUBLIC, RONLYchar[]
changetab_prev_inputsState of inputs before this eventPUBLIC, RONLYuint32
changetab_prev_outputsState of outputs before this eventPUBLIC, RONLYuint32
changetab_prev_watchdogsState of watchdogs before this eventPUBLIC, RONLYuint32
changetab_timeTime of change (local time)PUBLIC, RONLYtime
changetab_timestampTime stamp of change (UTC)PUBLIC, RONLYts
changetab_typeType of change:
* 1: Input
* 2: Output
* 3: Watchdog
PUBLIC, RONLYuint32
changetab_typedescType of change as TextPUBLIC, RONLYchar[]
changetab_userIndex of the user who made this change, or special values for changes without userPUBLIC, RONLYuint32
changetab_usernameName of the user who made this change, or special values for changes without userPUBLIC, RONLYchar[]
changetab_valueNew value after changePUBLIC, RONLYint32

filetab

VariableDescriptionFlagsFormat
filetab_dateDate on which the content file was uploadedRONLYdate
filetab_is_defaultIs this a default fileRONLYbool
filetab_nameName of content fileRONLYchar[]
filetab_pathPath of content fileRONLYchar[]
filetab_sizeSize of content file in BytesRONLYuint32
filetab_timeTime of last change to content fileRONLYtime

fwtab

VariableDescriptionFlagsFormat
fwtab_dateDate of creation of firmwareRONLYdate
fwtab_nameName of firmwareRONLYchar[]
fwtab_system_versionVersion of operating system of firmwareRONLYchar[]
fwtab_timeTime of creation of firmwareRONLYtime
fwtab_validBuffer contains valid firmware imageRONLYbool
fwtab_versionFirmware versionRONLYchar[]

histotab

VariableDescriptionFlagsFormat
histotab_dateDate of measurement (local time)PUBLIC, RONLYdate
histotab_flagsStatus of sensor
* Bit 0: First value after system start
* Bit 1: Internal: Values are stored as difference
* Bit 2: Internal: The set of sensors is unchanged
* Bit 8: There is a database error (not stored)
PUBLIC, RONLYuint16
histotab_gmdateDate of measurement (UTC)PUBLIC, RONLYdate
histotab_gmt_offsetDifference between local time and UTC in seconds, including summer time, if activePUBLIC, RONLYint32
histotab_gmtimeTime of measurement (UTC)PUBLIC, RONLYtime
histotab_raw_contentPrints content of database entry directly. Useful for debugging, because
e.g. also data for deleted sensors is visible.
PUBLIC, RONLYchar[]
histotab_timeTime of measurement (local time)PUBLIC, RONLYtime
histotab_timestampTime stamp of measurement (UTC)PUBLIC, RONLYts

inputtab

VariableDescriptionFlagsFormat
inputtab_activityNumber of seconds since last activity for this input or -1 for no activity since startPUBLIC, RONLYint32
inputtab_activity_textTime since last activity for this input or "" for no activity since startPUBLIC, RONLYchar[]
inputtab_flagsBit flags for notificationsuint32
inputtab_groupArbitrary text for groupingPUBLICchar[]
inputtab_min_change_durMinimal duration until an input change is recognized in steps of 0.1sfixed
inputtab_nameName of inputPUBLICchar[]
inputtab_name_defName with default value if emptyPUBLIC, RONLYchar[]
inputtab_notification_htmlRONLY
inputtab_remote0_flagsBit flags for notificationsuint32
inputtab_remote0_notification_htmlRONLY
inputtab_valueCurrent state of inputPUBLIC, RONLYint32

logtab

VariableDescriptionFlagsFormat
logtab_dateDate of eventPUBLIC, RONLYdate
logtab_msgSyslog notificationPUBLIC, RONLYchar[]
logtab_timeTime of eventPUBLIC, RONLYtime
logtab_timestampTime stamp of eventPUBLIC, RONLYts

netiftab

VariableDescriptionFlagsFormat
include_network_settingsRONLY
netiftab_cdns_ipConfigured static IP address of primary DNS serverNEEDS_REBOOTip4
netiftab_cdns_ip_secConfigured static IP address of secondary DNS serverNEEDS_REBOOTip4
netiftab_cip_addrConfigured static IP addressNEEDS_REBOOTip4
netiftab_cip_gateConfigured static IP address of gatewayNEEDS_REBOOTip4
netiftab_cip_maskConfigured static subnet maskNEEDS_REBOOTip4
netiftab_dhcp_stateDHCP stateRONLYchar[]
netiftab_dns_ipCurrent IP address of primary DNS serverRONLYip4
netiftab_dns_ip_secCurrent IP address of secondary DNS serverRONLYip4
netiftab_dns_manuManual DNS IP address activatedNEEDS_REBOOTbool
netiftab_flagsBit flags for activations

Bit 0: Discovery

Bit 3: WiFi

Bit 4: DHCP

Bit 5: MDNS
NEEDS_REBOOTuint32
netiftab_ip_addrCurrent IP addressRONLYip4
netiftab_ip_gateGateway IP addressRONLYip4
netiftab_ip_manuManual IP configuration activatedNEEDS_REBOOTbool
netiftab_ip_maskIP network maskRONLYip4
netiftab_macMAC addressPUBLIC, RONLYchar[]
netiftab_syslogSyslog server hostname or IP addresschar[]
netiftab_syslog_portPort number of Syslog serveruint16
netiftab_type_nameType of network interface, "WLAN" or "Ethernet"RONLYchar[]
netiftab_upIs network interface activeRONLYbool

outputtab

VariableDescriptionFlagsFormat
outputtab_activityNumber of seconds since last activity for this output or -1 for no activity since startPUBLIC, RONLYint32
outputtab_activity_textTime since last activity for this output or "" for no activity since startPUBLIC, RONLYchar[]
outputtab_flagsBit flags for notificationsuint32
outputtab_groupArbitrary text for groupingPUBLICchar[]
outputtab_mqtt_subscribeMQTT topic for control of this outputchar[]
outputtab_nameName of outputPUBLICchar[]
outputtab_name_defName with default value if emptyPUBLIC, RONLYchar[]
outputtab_notification_htmlRONLY
outputtab_pulsePulse length in seconds or 0, if no pulse should be usedfixed
outputtab_remote0_flagsBit flags for notificationsuint32
outputtab_remote0_notification_htmlRONLY
outputtab_valueCurrent state of outputPUBLIC, RONLYint32

pushtab

VariableDescriptionFlagsFormat
pushtab_enaHTTP Push enabledbool
pushtab_rateUpdate rate of HTTP Push in minutesuint16
pushtab_tplName of template file for HTTP Push servicechar[]
pushtab_urlURL for HTTP Push servicechar[]
pushtab_var1First variable for HTTP Push servicechar[]
pushtab_var2Second variable for HTTP Push servicechar[]

sensortab

VariableDescriptionFlagsFormat
sensortab_activityNumber of seconds since last activity for this sensor or -1 for no activity since startPUBLIC, RONLYint32
sensortab_activity_textTime since last activity for this sensor or "" for no activity since startPUBLIC, RONLYchar[]
sensortab_control_register
sensortab_cunitCustom unit as textPUBLICchar[]
sensortab_firmware_infoRONLY
sensortab_firmware_info_updaterRONLY
sensortab_flagsBit flags for notificationsuint32
sensortab_found_hardwareSensor found with searchPUBLIC, RONLYbool
sensortab_gainFactor by which the measured sensor values are multipliedPUBLICfixed
sensortab_groupArbitrary text for groupingPUBLICchar[]
sensortab_hist_avgAverage value for this sensor in histotab entryPUBLIC, RONLYfixed
sensortab_hist_flagsFlags for this Sensor in histotab entry
Same as sensortab_status with the addition of:
* Bit 12: First entry for this sensor
PUBLIC, RONLYuint32
sensortab_hist_hiMaximal value for this sensor in histotab entryPUBLIC, RONLYfixed
sensortab_hist_loMinimal value for this sensor in histotab entryPUBLIC, RONLYfixed
sensortab_hystHysteresis for sensor alertsPUBLICfixed
sensortab_iunitUnit of sensor as numberPUBLICuint32
sensortab_last_errorLast error code for sensor as hex stringPUBLIC, RONLYchar[]
sensortab_lim_hiSensor's upper alert thresholdPUBLICfixed
sensortab_lim_loSensor's lower alert thresholdPUBLICfixed
sensortab_nameName of sensorPUBLICchar[]
sensortab_name_defName with default value if emptyPUBLIC, RONLYchar[]
sensortab_notification_htmlRONLY
sensortab_offsetOffset that is added to the measured sensor valuesPUBLICfixed
sensortab_remote0_flagsBit flags for notificationsuint32
sensortab_remote0_notification_htmlRONLY
sensortab_serialSerial number of sensor
For 1-Wire the serial number has an additional index to distinguish
multiple sensors of the same 1-Wire device
PUBLIC, RONLYchar[]
sensortab_serial_onewire1-Wire serial number of sensorPUBLICchar[]
sensortab_statusCurrent sensor status
* Bit 0: Lower limit alarm
* Bit 1: Upper limit alarm
* Bit 2: Falling limit alarm
* Bit 3: Rising limit alarm
* Bit 7: Sensor error
PUBLIC, RONLYuint8
sensortab_status_textsensortab_status as textPUBLIC, RONLYchar[]
sensortab_unitUnit of value as text with HTML entities. Always %RH for humidity and °C, °F or K for temperatures, depending on sensortab_iunit.PUBLIC, RONLYchar[]
sensortab_unit_fractExponent of decimal fraction for display, also equals the number of decimal pointsPUBLICint32
sensortab_unit_inputRONLY
sensortab_updater_activePUBLIC
sensortab_valueCurrent value measured by sensorPUBLIC, RONLYfixed

watchtab

VariableDescriptionFlagsFormat
watchtab_activityNumber of seconds since last activity for this watchdog or -1 for no activity since startPUBLIC, RONLYint32
watchtab_activity_textTime since last activity for this watchdog or "" for no activity since startPUBLIC, RONLYchar[]
watchtab_flagsBit flags for notificationsuint32
watchtab_groupArbitrary text for groupingPUBLICchar[]
watchtab_nameName of WatchdogPUBLICchar[]
watchtab_name_defName with default value if emptyPUBLIC, RONLYchar[]
watchtab_notification_htmlRONLY
watchtab_rateFor passive watchdogs: Maximum duration, until the device has to report, before the watchdog triggers
For active watchdogs: Duration, until it is checked again, if device is reachable
uint32
watchtab_remote0_flagsBit flags for notificationsuint32
watchtab_remote0_notification_htmlRONLY
watchtab_stateState of the watchdog:
* -1: Unknown (After reboot or change of type)
* 0: Good
* 1: Triggered
PUBLIC, RONLYint32
watchtab_targetFor Ping-Out-Watchdog: IP/Hostname of device

For HTTP-Out-Watchdogs: IP/Hostname of device

For HTTP-In-Watchdogs: Name used in URL
char[]
watchtab_time_leftDuration until watchdog will be checked again or device has to reportPUBLIC, RONLYuint32
watchtab_typeType of Watchdog:
* 1: Outgoing Ping
* 2: Incoming Ping
* 3: Outgoing HTTP request
* 4: Incoming HTTP request
PUBLICuint32
watchtab_type_inputRONLY

Flag Reference

FlagMeaning
HTTP_PUSH_CHANGEDHTTP Push Changed
MODBUS_CHANGEDModbus Changed
MQTT_NEED_RECONNECTMQTT Needs Reconnect
NEEDS_REBOOTNeeds Reboot
NTP_CHANGEDNTP Changed
PUBLICPublic
RONLYRead only
SENSOR_SETTINGS_CHANGEDSensor Settings Changed
SNMP_SETTINGS_CHANGEDSNMP Settings Changed
SYSLOG_CHANGEDSyslog Changed
WATCHDOG_CHANGEDWatchdog Changed
WLAN_CLIENT_CHANGEDWLAN Client Changed

Format Reference

FormatMeaning
Dd Hh Mm Ss
bool
char[]
check
date
fixed
int
int32
ip4
time
ts
uin32
uint
uint16
uint32
uint8