Manuale collegamento e comandi WiFi/HTTP e WiFi/MQTT per WaterOpen
|
E' possibile integrare
WaterOpen in moltissime
automazioni esistenti; 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, tipo passare per IFTTT o cose simili.
Collegamento WiFi per HTTP <<<
Dal tuo dispositivo (smartphone, iPhone, PC, Mac, Linux, microcontrollore) ci si può collegare al WiFi interno generato da
WaterOpen (quindi non è indispensabile avere Internet o un router WiFi, funziona anche senza). Oppure si può collegare WaterOpen al Wifi di casa/ufficio/laboratorio nelle Impostazioni, come illustrato nel
manuale veloce di WaterOpen.
Se ti colleghi al WiFi di casa/lavoro/ecc e usi il funzionamento HTTP, può essere opportuno per comodità rendere fisso l'IP di WaterOpen dentro alle opzioni di configurazione del tuo router (tipicamente questo si può fare in un menù del modem-router tipo DHCP utilities, LAN, Avanzate, o altro; supponiamo sia 192.168.1.20).
Comandi WiFi/HTTP (c)
I comandi si possono mandare tramite una richesta HTTP GET fatta a:
-
http://wfeasy.com/c (se sei connesso al wifi interno di
WaterOpen)
- oppure qualcosa come http://192.168.1.20/c (se hai collegato WaterOpen al tuo WiFi; l'IP che abbiamo esemplificato con 192.168.1.20 è normalmente assegnato dal modem-router WiFi, WaterOpen 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 WaterOpen 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 l'acqua
Se usi l'IP, sarà (per esempio) http://192.168.1.20/c?cm=ON1 e così via.
Tutto questo lo si può provare per esempio collegandosi al WiFi interno con un PC o un iPhone o Android 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
WaterOpen, il che comprende lo stato dei relè (ON/OFF) e la misura dell'umidità se esiste, in formato JSON (identico a STATE per MQTT)
http://wfeasy.com/c?cm=ON1
apre l'acqua (valvola 1, l'unica valvola nella versione standard; oppure mette il relè nella posizione "azionato" per versioni a relè).
Collegamento simil-dyn-dns con ControlHUB o altri controller HTTP per controllare molti WaterOpen 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 la misura dell'umidità, WaterOpen 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 WaterOpen è collegato al WiFi creato da
ControlHUB (l'hotspot WiFi interno di CHUB) si può lasciare il campo ControlHUB IP vuoto e WaterOpen 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={"RY1":1,"Moisture":70,"Name":"Giardino"}
Nota che siccome tra i dati è presente una variabile "Name" che contiene il nome che hai dato al dispositivo,
ControlHUB creerà la variabile di sistema
$i_giardino$ mettendoci dentro l'IP del nostro WaterOpen. La variabile è poi utilizzabile in qualsiasi Azione ed è quindi un modo comodo per richiamare azioni HTTP scrivendo http://$i_giardino/ anziché dover fissare un http://192.168.1.15/ o qualcosa del genere.
Collegamento WiFi e MQTT <<<
Sempre in Impostazioni alla voce MQTT si inserirà:
- l'IP o il nome del server dove gira il Broker MQTT (se lasciato vuoto, WaterOpen non userà MQTT)
- eventualmente username e password del Broker, se li necessita
WaterOpen 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
WaterOpen 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
WaterOpen e per ricevere i messaggi di WaterOpen.
Suggeriamo
per sicurezza 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), infatti utilizzando cloud esterni o Broker gratuiti esterni ci sono rischi per la privacy e ci possono essere rischi per l'azionamento.
Può comunque essere comodo.
Topic di Risposta/Pubblicazione
Quando risponde ai comandi, nei cambi di stato oppure quando vuol dire qualcosa,
WaterOpen pubblica un messaggio sul topic
wo-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
WaterOpen.
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,
WaterOpen pubblica su questo topic il suo stato (come se rispondesse a STATE).
Topic di Comando/Ascolto
WaterOpen rimane sempre in ascolto sul topic
wo-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:
ON1 oppure {"ON1"}
|
apre la valvola e quindi apre l'acqua
|
OFF1 oppure {"OFF1"}
|
chiude l'acqua / valvola
|
AUTO1 oppure {"AUTO1"}
|
abilita il modo di funzionamento automatico che utilizzerà le impostazioni definite con la pagina di Servizio
|
ON2 oppure {"ON2"}
ON3 oppure {"ON3"}
ON4 oppure {"ON4"}
|
per le versioni multi-relé di WaterOpen, analogo a ON1, per le altre valvole/relè
|
OFF2 oppure {"OFF2"}
OFF3 oppure {"OFF3"}
OFF4 oppure {"OFF4"}
|
|
AUTO2 oppure {"AUTO2"}
AUTO3 oppure {"AUTO3"}
AUTO4 oppure {"AUTO4"}
|
|
|
|
STATE oppure {"STATE"}
|
non fa niente e pubblica lo stato globale sul topic di output, es
{"RY1":0,"Moisture":60}
|
Per qualsiasi cambiamento di stato, lo stato del sistema viene pubblicato sul topic di output ovvero wo-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
WaterOpen 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