MQTT
MQTT
Il existe deux types de messages MQTT :
- Ceux qui ont pour destinataire le centre (serveur) et qui sont spécifié par le topic MirTOS (cf config.ini)
- Ceux qui ont pour destinataire un module en particulier (communication de module à module) et qui ont comme Topic le nom du module destination
Message pour le serveur :
MQTT Vocabulary
Syntaxe :
DeviceID/Key1=value1{&KeyN=valueN}
DeviceID should be unique
NOTE : A partir de la version 2.x04, la syntaxe devient :
STATE?FROM=deviceID&Key1=value1{&KeyN=valueN}
exemple :
STATE?FROM=Dgl_ESP_07&E=RSTAT&R=000X&P=0076&B=100&TS=20230111151600
STATE?FROM=TerrSud&E=RSTAT&R=000X&P=0080&B=000&TS=20230111151601
Key :
MAC : MAC Address - Mandatory on startup (first msg) / exemple : MAC=AC:67:B2:24:25:D8
IP : IP Address - Mandatory on startup (first msg) / exemple : IP=192.168.0.82
DN : Device Name - should be the same as DeviceID
N : Depreciated - Device Nam. New design should use DN / exemple E=T_Sud
HT : Hardware type / exemple :
T : Depreciated - Harware type. New design should use HT
AP : Access Point used
E : Event message / enum of {START,STATE,FCTRY,RSTAT}, exemple E=START
START : module is starting
STATE : Message has been sent using MQTTSentState
RSTAT : Automatic recurent state message (setted by MQTT_Time in config)
FCTRY : Fct RY has been called and Relay has been changed
FM : Specific (free) Message FM=Anything
E : Depreciated : get specific info exemple E=B000L+0015S0000U0000 should be rempaced by FM=xxx
R : Relay state (4 digits), X Relay not available. Exemple : R=001x
P : Analogic level (0..1023). exemple P=0001
TS : Timestamp (en LT) - exemple : TS=20210201040028
RC : Reconnect count (MQTT reconnect count). exemple RC=0
Specific (depreciated) :
ES_WT : Water temperature/consigne. exemple : ES_WT=86/84
ES_SMK : Smoke temoerature. exemple : ES_SMK=83
ES_STAT : Status. exemle ES_STAT=!
Message de module à module
Send MQTT message to other device
Use MQ() fct.
exemple :
main.xml :
<B2>
<P>DP(XXX);MQ(MirTOS801,tgl********);</P>
</B2>
Les '*' sont remplacées par les IO (Btn)
Get Message from other device :
Called as an event od the <M> subtree of main.xml
exemple :
main.xml :
<M>
<tgl......1.>IDP(0,4,tgl_1 );</tgl......1.>
<tgl......0.>IDP(0,4,tgl_0 );</tgl......0.>
<test>IDP(0,4,MQTT test message received);</test>
</M>
Créé avec HelpNDoc Personal Edition: Créer de la documentation iPhone facilement