Tasmota/sonoff/API.md

4.3 KiB

Sonoff-Tasmota basic API information

Sonoff-Tasmota can easily be extended by developers using provided function pointers as callback Ids. This document lists the available callback function Ids. See the wiki (https://github.com/arendst/Sonoff-Tasmota/wiki/Sensor-API) for more information.

Callback availability can be checked by searching for either XdrvCall, XsnsCall, XdspCall and XnrgCall.

Driver, Sensor and Energy Callback Ids

The following table lists Callback Ids and their availability for a Driver, Sensor or Energy service.

Callback Id Bool Version xdrv xsns xnrg Description
FUNC_MODULE_INIT x 6.2.1.17 x Init module specific parameters
FUNC_PRE_INIT x x Once GPIO have been established
FUNC_INIT x x x At end of initialisation
FUNC_LOOP x In main loop
FUNC_EVERY_50_MSECOND x x
FUNC_EVERY_100_MSECOND x x
FUNC_EVERY_200_MSECOND x x
FUNC_EVERY_250_MSECOND x
FUNC_EVERY_SECOND x x x
FUNC_PREP_BEFORE_TELEPERIOD x Deprecated. Use a FUNC_EVERY_
FUNC_JSON_APPEND x Extend teleperiod JSON text
FUNC_WEB_APPEND x Extend webgui ajax info
FUNC_SAVE_BEFORE_RESTART x Just before a planned restart
FUNC_COMMAND x x x When a command is not recognized
FUNC_MQTT_SUBSCRIBE 5.12.0k x At end of MQTT subscriptions
FUNC_MQTT_INIT 5.12.0k x Once at end of MQTT connection
FUNC_MQTT_DATA x 5.12.0k x Before decoding command
FUNC_SET_POWER x Before setting relays
FUNC_SET_DEVICE_POWER x 6.2.1.18 x Set relay
FUNC_SHOW_SENSOR x When FUNC_JSON_APPEND completes
FUNC_RULES_PROCESS x 6.0.0 x Process specific rule
FUNC_SERIAL x x x Process serial data
FUNC_FREE_MEM x Show free memory for debugging
FUNC_BUTTON_PRESSED x 6.2.1.18 x When a button is pressed
FUNC_WEB_ADD_BUTTON 6.2.1.14 x Add a Configuration Button to GUI
FUNC_WEB_ADD_MAIN_BUTTON 6.2.1.14 x Add a main button to GUI
FUNC_WEB_ADD_HANDLER 6.2.1.14 x Add a webserver handler

Display Call back Ids

The following table lists all Callback Ids for a Display service.

Callback Id Bool Version Description
FUNC_DISPLAY_INIT_DRIVER 6.1.1.7
FUNC_DISPLAY_INIT 6.1.1.7
FUNC_DISPLAY_EVERY_50_MSECOND 6.1.1.7
FUNC_DISPLAY_EVERY_SECOND 6.1.1.7
FUNC_DISPLAY_MODEL x 6.1.1.7
FUNC_DISPLAY_MODE 6.1.1.7
FUNC_DISPLAY_POWER 6.1.1.7
FUNC_DISPLAY_CLEAR 6.1.1.7
FUNC_DISPLAY_DRAW_FRAME 6.1.1.7
FUNC_DISPLAY_DRAW_HLINE 6.1.1.7
FUNC_DISPLAY_DRAW_VLINE 6.1.1.7
FUNC_DISPLAY_DRAW_LINE 6.1.1.7
FUNC_DISPLAY_DRAW_CIRCLE 6.1.1.7
FUNC_DISPLAY_FILL_CIRCLE 6.1.1.7
FUNC_DISPLAY_DRAW_RECTANGLE 6.1.1.7
FUNC_DISPLAY_FILL_RECTANGLE 6.1.1.7
FUNC_DISPLAY_TEXT_SIZE 6.1.1.7
FUNC_DISPLAY_FONT_SIZE 6.1.1.7
FUNC_DISPLAY_ROTATION 6.1.1.7
FUNC_DISPLAY_DRAW_STRING 6.1.1.7
FUNC_DISPLAY_ONOFF 6.1.1.7