Manuale collegamento e comandi WiFi/HTTP e WiFi/MQTT (+GSM) per DoorOpen, DoorSwitch, MegaSwitch
|
E' possibile integrare
DoorOpen o
DoorSwitch o
MegaSwitch in qualsiasi automazione esistente; si può fare questo tramite WiFi, sia usando HTTP che
MQTT.
MQTT è supportato dalla maggior parte degli hub e/o
Home Assistant e ci sono praticamente sempre trucchetti per usarlo con quelli che non lo supportano direttamente.
Collegamento WiFi per HTTP <<<
Dal tuo dispositivo (smartphone, PC, Mac, Linux, microcontrollore) ci si può collegare al WiFi interno generato da DoorOpen/DoorSwitch (quindi senza necessitare di Internet), oppure si può collegare DoorOpen/DoorSwitch al Wifi di casa/ufficio/laboratorio nelle Impostazioni, come illustrato nel
manuale veloce di DoorOpen.
Se ti colleghi al WiFi di casa/lavoro/ecc e usi il funzionamento HTTP, può essere opportuno per comodità rendere fisso l'IP di DO/DS dentro alle opzioni di configurazione del tuo router (tipicamente questo si può fare in un menù del router tipo DHCP utilites; supponiamo sia 192.168.1.4).
Comandi WiFi/HTTP (c)
I comandi si possono mandare tramite una richesta HTTP GET fatta a:
- oppure qualcosa come http://192.168.1.20/c (se hai collegato DoorOpen al tuo WiFi; l'IP che abbiamo esemplificato con 192.168.1.20 è assegnato dal router, DoorOpen/DoorSwitch lo scrive in calce a tutte le pagine una volta collegato; e volendo si può fissare dentro alle opzioni di configurazione del tuo router, così che non cambi).
Si possono mandare a DoorOpen/DoorSwitch comandi nel formato classico delle richieste GET (e quindi usando & per inserire parametri multipli e separarli, e usando il classico "URLencode" per gestire i caratteri non alfanumerici).
I comandi disponibili sono nel seguito.
Esempio: http://wfeasy.com/c?cm=ON1 apre la porta
Se usi l'IP, sarà (per esempio) http://192.168.1.4/c?cm=ON1 e così via.
Tutto questo lo si può provare per esempio collegandosi al WiFi interno con un PC e scrivendo queste cose sulla barra del browser (es. Safari, Chrome, Firefox, Explorer); ovviamente lo si può fare anche con Mac, Raspberry o altri dispositivi...
Comando pw=
Se l'uso di una RY Password è abilitato, la si deve obbligatoriamente aggiungere a qualsiasi richiesta, mettendola in pw
Esempi:
http://wfeasy.com/c?cm=STATE&pw=a8d7f6k5
restituisce le informazioni di stato, ma solo se la password è a8d7f6k5 - se invece la pass non è giusta, non fa nulla.
Comando cm=
permette tutte le azioni consentite dai comandi MQTT, con gli stessi comandi (vedi sotto)
Esempio:
http://wfeasy.com/c?cm=STATE
restituisce lo stato di
DoorOpen /
DoorSwitch2, il che comprende lo stato dei relè (ON/OFF) e lo stato degli ingressi per fine corsa / interruttori / fotocellule F1 F2, in formato JSON (identico a STATE per MQTT)
http://wfeasy.com/c?cm=ON1
aziona l'interruttore 1.
Collegamento simil-dyn-dns con ControlHUB o altri controller HTTP per controllare molti Door Switch o MegaSwitch o DoorOpen in un'automazione o in una casa (domotica)
Ogni minuto (per comunicare il suo IP e quindi facilitare il comando a distanza tramite HTTP) oppure ogni volta che cambia lo stato di un relè o di un interruttore/fine corsa, DoorSwitch può comunicare una stringa di stato JSON via HTTP.
Questa comunicazione avviene SE i campi ControlHUB IP (si può anche mettere un dominio o dominio/cartella, non solo un IP), ControlHUB Pass, e Ch Wifi sono impostati.
Se DoorSwitch è collegato al WiFi creato da
ControlHUB (l'hotspot WiFi interno di CHUB) si può lasciare il campo ControlHUB IP vuoto e DoorSwitch farà tutto in automatico.
La stringa di stato è simile a quella MQTT (compariranno se possibile solo i valori che cambiano; ogni 10 minuti circa sono inviati tutti i valori).
Lo script chiamato su ControlHUB (o su qualsiasi altro sistema vogliate mettere su) è come in questo esempio:
http://chub_ip/x?pw=pass&w=ch&r={"RY2":1,"F2":1,"Name":"Salotto1"}
Nota che se tra i dati è presente una variabile "Name",
ControlHUB creerà la variabile di sistema
$i_salotto1$ mettendoci dentro l'IP del nostro DoorSwitch. La variabile è poi usabile in qualsiasi Azione.
Questo sistema è molto utile per impostare un'automazione HTTP anziché MQTT; noi lo usiamo e si può usare facilmente anche da periferiche di terze parti in modo che ControlHUB memorizzi il loro IP automaticamente (nome memorizzato: lunghezza massima 8 caratteri; alfanumerico no spazi; primo carattere alfabetico, se non lo è, diventa "_" ).
Collegamento WiFi e MQTT, +GSM <<<
Per MQTT è necessario un collegamento WiFi esterno, non basta collegarsi al WiFi interno generato da DoorOpen/DoorSwitch, ma ci si deve collegare a un WiFi che abbia accesso a un Broker MQTT; per esempio ci si può collegare al Wifi di laboratorio/casa/ufficio o al WiFi di
ControlHUB se il broker interno è abilitato. Questo si fa dalle
Impostazioni, come illustrato nel
manuale veloce di DoorOpen.
Sempre in Impostazioni alla voce MQTT si inserirà:
- l'IP o il nome del server dove gira il Broker MQTT (se lasciato vuoto, DoorOpen/DoorSwitch non userà MQTT)
- eventualmente username e password del Broker, se li necessita
DoorOpen/DoorSwitch mostra nella voce MQTT il nome dei topic di default usati per la pubblicazione/out e per ricevere comandi/cmd; è possibile qui specificare un prefisso se ti serve (alcuni Broker gratuiti richiedono che i tuoi topic incomincino per esempio con tuousername/feeds/ o cose del genere), altrimenti le caselle "prefix" vanno lasciate vuote.
Quindi si clicca Salva e
DoorOpen/
DoorSwitch ci si collegherà, e dopo qualche secondo comincerà a poter funzionare anche in MQTT. Se il collegamento è OK scriverà OK dopo la parola MQTT; e già da subito nella stessa pagina mostra i nomi dei Topic da usare per comandare
DoorOpen/
DoorSwitch e per ricevere i messaggi di DoorOpen/DoorSwitch.
Suggeriamo
per sicurezza, come già detto, visto che si tratta di comandare una serratura, di utilizzare un Broker installato su un tuo dispositivo (PC o altro; si può scaricare e installare e far girare un programma Broker come Mosquitto anche su un semplice PC Windows; oppure si può usare il
broker interno di ControlHUB) e di NON utilizzare cloud esterni o Broker gratuiti esterni perché se lo fai stai potenzialmente mettendo l'apertura della tua porta, garage o cancello in mani di estranei... Occhio!
Può comunque essere comodo usare queste cose se si comanda con DoorSwitch una lampadina o cose meno importanti...
Topic di Risposta/Pubblicazione
Quando risponde ai comandi, nei cambi di stato oppure quando vuol dire qualcosa,
DoorOpen/
DoorSwitch pubblica un messaggio sul topic
do-o-nome (dove Nome è il nome che hai dato al dispositivo un po' più in basso sempre nelle Impostazioni).
Un Home Assistant o un'automazione deve mettersi in ascolto su questo Topic per poter leggere cosa dice
DoorOpen/
DoorSwitch.
La risposta/payload è un testo, per es. {"ON1"} dopo che è stato dato il comando ON1 (questo formato con le graffe si chiama JSON).
All'accensione, non appena collegato a MQTT,
DoorOpen/
DoorSwitch pubblica su questo topic il suo stato (come se rispondesse a STATE).
Topic di Comando/Ascolto - comandi GSM via SMS
DoorOpen/
DoorSwitch rimane sempre in ascolto sul topic
do-c-nome (dove Nome è il nome che hai dato al tuo dispositivo nelle Impostazioni). Per comandarlo l'hub l'assistant insomma l'automazione (o volendo tu "a mano" tramite programmi di invio messaggi MQTT) deve pubblicare su tale Topic di comando un messaggio/payload tra questi che seguono.
Per le versioni di DoorOpen o DoorSwitch con supporto GSM questi comandi possono essere forniti anche via SMS
ON1 oppure {"ON1"}
|
apre la porta/garage/cancello o aziona l'interruttore ( con impulso o con ON permanente del relè, a seconda di cosa scelto nel menù a tendina Impulso di apertura); in DoorSwitch2 questo apre la porta/garage/cancello o aziona l'interruttore 1
|
OFF1 oppure {"OFF1"}
|
spegne l'interruttore 1 (ovviamente è inutile nel caso che sia settata la modalità a impulso)
|
ON2 oppure {"ON2"}
|
in DoorSwitch2, apre la porta/garage/cancello o aziona l'interruttore 2 (con impulso o con ON permanente del relè, a seconda di cosa viene scelto nel menù a tendina Impulso di apertura)
|
OFF2 oppure {"OFF2"}
|
spegne l'interruttore 2
|
GSMCON1 (pass) +393490001234
|
(dove "pass" è la corrente password di servizio) aggiunge il numero +39349000123 assegnando come azione in chiamata ON1 (se questo numero chiama, viene eseguito ON1)
|
GSMCOFF1 (pass) +393490001234
|
(dove "pass" è la corrente password di servizio) aggiunge il numero +39349000123 assegnando come azione in chiamata ON1 (se questo numero chiama, viene eseguito ON1)
|
GSMCDEL (pass) +393490001234
|
(dove "pass" è la corrente password di servizio) rimuove il numero +39349000123 dai numeri che eseguono azioni in chiamata (se questo numero è in elenco)
|
GSMSADD (pass) +393490001234
|
(dove "pass" è la corrente password di servizio) aggiunge il numero +39349000123 alla lista dei numeri abilitati ad azioni via SMS; occhio che se questa lista non è vuota solo i numeri in lista potranno dare comandi via SMS - quindi il primo numero da aggiungere è il proprio numero
|
GSMSDEL (pass) +393490001234
|
(dove "pass" è la corrente password di servizio) rimuove il numero +39349000123 alla lista dei numeri abilitati ad azioni via SMS; occhio che se questa lista non è vuota solo i numeri in lista potranno dare comandi - quindi rimuovere il proprio numero potrebbe rendere impossibile mandare altri comandi via SMS
|
STATE oppure {"STATE"}
|
non fa niente e pubblica lo stato globale sul topic di output, es
{"RY2":0,"RY2":1,"F1":1,"F2":1}
|
Per qualsiasi cambiamento di stato, lo stato del sistema viene pubblicato sul topic di output ovvero do-o-nome.
Come noto, per MQTT è necessario un sistema locale o remoto (accessibile via Internet) che faccia il Broker.
Se stai facendo un'automazione con
DoorOpen/
DoorSwitch puoi semplificare, ed evitare questa necessità utilizzando anziché MQTT dei semplici comandi HTTP / Web, spiegati a inizio pagina.
Hardware e software professionale e facile da usare, dal 1996