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