Configurazione MQTT - GeekyIdea/SmartHomeAlarm GitHub Wiki
In questa schermata è possibile modificare i parametri del protocollo MQTT
Abilita MQTT Spuntando questa opzione è possibile abilitare il protocollo MQTT
Parametro | Descrizione |
---|---|
Host |
L'url o l'indirizzo IP del broker MQTT |
Porta |
La porta utilizzata dal broker MQTT (0-65535) (Default: 1883) |
Client |
Il nome che identifica ogni client MQTT che si connette a un broker MQTT. Questo ID deve essere univoco per ogni dispositivo connesso al broker MQTT. |
User |
L'username necessaria per collegarsi al broker MQTT |
Password |
La password necessaria per collegarsi al broker MQTT |
Topic |
Il nome del topic che verrà utilizzato da questo dispitivio, è usato nei comandi e nelle risposte MQTT e dovrebbe essere unico |
Periodo Telemetria |
Il tempo in secondi passato il quale la centralina invia lo stato generale dell'allarme al broker MQTT (Default: 300) |
Per inviare comandi e visualizzare le risposte avrai bisogno di un client MQTT.
I comandi MQTT vengono inviati alla centralina usando il seguente schema cmd/%topic%/<COMANDO> <PARAMETRO>
In questi esempi è possibile vedere alcune delle risposte che si ricevono quando si invia un comando via MQTT.
cmnd/topic-allarme/REPORT ←
↳ stat/topic-allarme/REPORT → {"Time":"23:0:46D19-4-2019","Uptime":"0D0:6:21","Status":"TOT","Wifi":{"SSId":"LA_MIA_RETE","RSSI":100,"Mac":"00:11:22:33:44:55"}}
cmnd/topic-allarme/TOT ←
↳ stat/topic-allarme/STATUS → {"Time":"22:6:8D21-4-2019","Status":"TOT","Zone":"","Schedule":"","Sensor":""}
↳ stat/topic-allarme/SENSOR → {"Time":"22:5:11D21-4-2019","SensorCount":2,"PreAlarmed":{"Sensore 3"}} //In caso di sensori già allarmati
cmnd/topic-allarme/EX-TOT ←
↳ stat/topic-allarme/STATUS → {"Time":"22:6:8D21-4-2019","Status":"TOT","Zone":"","Schedule":"","Sensor":""}
cmnd/topic-allarme/PAR-0 ←
↳ stat/topic-allarme/STATUS → {"Time":"22:6:8D21-4-2019","Status":"PAR","Zone":"","Schedule":"","Sensor":""}
↳ stat/topic-allarme/SENSOR → {"Time":"22:5:11D21-4-2019","SensorCount":2,"PreAlarmed":{"Sensore 3"}} //In caso di sensori già allarmati
cmnd/topic-allarme/EX-PAR-0 ←
↳ stat/topic-allarme/STATUS → {"Time":"22:6:8D21-4-2019","Status":"PAR","Zone":"","Schedule":"","Sensor":""}
cmnd/topic-allarme/SCHED-0 ←
↳ stat/topic-allarme/STATUS → {"Time":"22:15:54D21-4-2019","Status":"SCHED-TOT-ACT","Zone":"","Schedule":"Programma 0","Sensor":""}
cmnd/topic-allarme/OFF ←
↳ stat/topic-allarme/STATUS → {"Time":"22:14:55D21-4-2019","Status":"OFF","Zone":"","Schedule":"","Sensor":""}
cmnd/topic-allarme/SENSOR ←
↳ stat/topic-allarme/SENSOR → {"Time":"0:10:57D22-5-2019","SensorCount":1,"PreAlarmed":{}}
cmnd/topic-allarme/LIST-SCHEDULE ←
↳ stat/topic-allarme/LIST-SCHEDULE → {"Time":"23:59:10D21-5-2019","ScheduleName": {"Programma 0"},"ScheduleCount": 1}
cmnd/topic-allarme/LIST-ZONE ←
↳ stat/topic-allarme/LIST-ZONE → {"Time":"23:49:10D21-5-2019","ZoneName": {"Zona Cucina"},"ZoneCount": 1}
cmnd/topic-allarme/INFO ←
↳ stat/topic-allarme/INFO → {"Version":"v.1.0.8","FallbackTopic":"Allarme","IPAddress":"192.168.1.2","RestartReason": "External System"}
Il parametro "Status" può restituire i seguenti valori:
Valore | Descrizione |
---|---|
OFF |
L'allarme è disattivato |
SCHED-TOT |
Lo schedule ha attivato l'allarme totale |
TOT |
L'allarme totale è attivato |
SCHED-PAR |
Lo schedule ha attivato l'allarme parziale |
PAR |
L'allarme parziale è attivato |
TRIG |
L'allarme è triggerato: è stata rilevata un intrusione |
SCHED-TOT-ACT |
L'allarme schedulare sta attivando l'allarme totale |
SCHED-PAR-ACT |
L'allarme schedulare sta attivando l'allarme parziale |
TOT-ACT |
L'allarme totale è in attivazione |
PAR-ACT |
L'allarme parziale è in attivazione |
PANIC |
L'allarme antipanico è stato triggerato |
JAMMER |
L'allarme antijammer è stato triggerato |
TAMPER |
L'allarme antitamper è stato triggerato |
Nei seguenti esempi il nome del topic usato è topic-allarme
-
Ricevere un report dello stato generale dell'allarme Contattare il topic
cmd/topic-allarme/REPORT
inviando un parametro vuoto o nel caso il broker non lo permettesse, inviare semplicemente come parametro un carattere qualsiasi. L'allarme visualizzerà lo stato generale della centralina al seguente topicstat/topic-allarme/REPORT
. -
Attivare l'allarme totale Contattare il topic
cmd/topic-allarme/TOT
inviando un parametro vuoto o nel caso il broker non lo permettesse, inviare semplicemente come parametro un carattere qualsiasi. L'allarme visualizzerà lo stato al seguente topicstat/topic-allarme/REPORT
. -
Attivare l'allarme totale con esclusione sensori Nel caso si voglia attivare l'allarme escludendo eventuali sensori già allarmati in fase di attivazione basterà semplicemente contattare il topic
cmd/topic-allarme/EX-TOT
inviando un parametro vuoto o nel caso il broker non lo permettesse, inviare semplicemente come parametro un carattere qualsiasi. L'allarme visualizzerà lo stato al seguente topicstat/topic-allarme/REPORT
. -
Attivare l'allarme parziale Contattare il topic
cmd/topic-allarme/PAR-x
dove x sta ad indicare l'id della zona che si vuole attivare, inviando un parametro vuoto o nel caso il broker non lo permettesse, inviare semplicemente come parametro un carattere qualsiasi. Per conoscere gli id di tutte le zone attivabili contattare il topiccmd/topic-allarme/LIST-ZONE
inviando un parametro vuoto o nel caso il broker non lo permettesse, inviare semplicemente come parametro un carattere qualsiasi. L'allarme visualizzerà lo stato al seguente topicstat/topic-allarme/REPORT
. -
Attivare l'allarme parziale con esclusione sensori Nel caso si voglia attivare l'allarme escludendo eventuali sensori già allarmati in fase di attivazione basterà semplicemente contattare il topic
cmd/topic-allarme/EX-PAR-x
dove x sta ad indicare l'id della zona che si vuole attivare, inviando un parametro vuoto o nel caso il broker non lo permettesse, inviare semplicemente come parametro un carattere qualsiasi. Per conoscere gli id di tutte le zone attivabili contattare il topiccmd/topic-allarme/LIST-ZONE
inviando un parametro vuoto o nel caso il broker non lo permettesse, inviare semplicemente come parametro un carattere qualsiasi. L'allarme visualizzerà lo stato al seguente topicstat/topic-allarme/REPORT
. -
Attivare l'allarme schedulare Contattare il topic
cmd/topic-allarme/SCHED-x
dove x sta ad indicare l'id della zona che si vuole attivare, inviando un parametro vuoto o nel caso il broker non lo permettesse, inviare semplicemente come parametro un carattere qualsiasi. Per conoscere gli id di tutti gli schedule attivabili contattare il topiccmd/topic-allarme/LIST-SCHEDULE
inviando un parametro vuoto o nel caso il broker non lo permettesse, inviare semplicemente come parametro un carattere qualsiasi. L'allarme visualizzerà lo stato al seguente topicstat/topic-allarme/REPORT
. -
Disattivare l'allarme Contattare il topic
cmd/topic-allarme/OFF
inviando un parametro vuoto o nel caso il broker non lo permettesse, inviare semplicemente come parametro un carattere qualsiasi. L'allarme visualizzerà lo stato al seguente topicstat/topic-allarme/REPORT
. -
Conoscere lo stato dei sensori Contattare il topic
cmd/topic-allarme/SENSOR
inviando un parametro vuoto o nel caso il broker non lo permettesse, inviare semplicemente come parametro un carattere qualsiasi. L'allarme visualizzerà lo stato dei sensorial seguente topicstat/topic-allarme/SENSOR
. -
Conoscere le zone disponibili Contattare il topic
cmd/topic-allarme/LIST-ZONE
inviando un parametro vuoto o nel caso il broker non lo permettesse, inviare semplicemente come parametro un carattere qualsiasi. L'allarme visualizzerà le zone disponibili al seguente topicstat/topic-allarme/LIST-ZONE
. -
Conoscere gli schedule disponibili Contattare il topic
cmd/topic-allarme/LIST-SCHEDULE
inviando un parametro vuoto o nel caso il broker non lo permettesse, inviare semplicemente come parametro un carattere qualsiasi. L'allarme visualizzerà gli schedule disponibili al seguente topicstat/topic-allarme/LIST-SCHEDULE
. -
Visualizzare le informazioni del software Contattare il topic
cmd/topic-allarme/INFO
inviando un parametro vuoto o nel caso il broker non lo permettesse, inviare semplicemente come parametro un carattere qualsiasi. L'allarme visualizzerà le informazioni del software al seguente topicstat/topic-allarme/INFO
.
Comando | Risposta |
---|---|
cmd/topic-allarme/REPORT |
stat/topic-allarme/REPORT |
cmd/topic-allarme/TOT |
stat/topic-allarme/STATUS |
cmd/topic-allarme/EX-TOT |
stat/topic-allarme/STATUS |
cmd/topic-allarme/PAR-x |
stat/topic-allarme/STATUS |
cmd/topic-allarme/EX-PAR-x |
stat/topic-allarme/STATUS |
cmd/topic-allarme/SCHED-x |
stat/topic-allarme/STATUS |
cmd/topic-allarme/OFF |
stat/topic-allarme/STATUS |
cmd/topic-allarme/SENSOR |
stat/topic-allarme/SENSOR |
cmd/topic-allarme/LIST-SCHEDULE |
stat/topic-allarme/LIST-SCHEDULE |
cmd/topic-allarme/LIST-ZONE |
stat/topic-allarme/LIST-ZONE |
cmd/topic-allarme/INFO |
stat/topic-allarme/INFO |
L'allarme usa 3 tipi diversi di prefissi per la formulazione del topic:
-
cmd
- E' il prefisso usato per impartire comandi e richiedere gli eventuali stati -
stat
- E' il prefisso usato per visualizzare le varie statistiche dell'allarme -
tele
- E' il prefisso usato per i report di telemetria inviati ad intervalli di tempo regolari