Blog migrato su nuova piattaforma

Disclaimer

Prestare sempre attenzione a seguire le indicazioni fornite in questo blog, soprattutto se si tratta di apparecchiature elettriche collegate alla tensione di 220V. Non mi ritengo responsabile di danni causati dall'aver seguito i consigli qui pubblicati.
Grazie
Visualizzazione post con etichetta mqtt. Mostra tutti i post
Visualizzazione post con etichetta mqtt. Mostra tutti i post

venerdì 26 ottobre 2018

Home Automation System - Domotizziamo una lampada






Continuiamo, un passettino alla volta, la costruzione del nostro Home Automation System, basato su OpenHAB.

Questa volta tocca ad una lampada da pavimento che abbiamo in soggiorno, da rendere SMART attraverso un semplice SONOFF BASIC.

Ecco una parte del mio arsenale:



Per chi non lo conoscesse, il SONOFF è un semplice "pulsante wifi" che permette di pilotare dei carichi in remoto. Il modello Basic é la versione più semplice in quanto contiene un solo relè, quindi permette di pilotare un solo carico.

Lavoretto relativamente semplice questa volta in quanto non dobbiamo andare alla ricerca di passaggi strani nei tubi dell'impianto attuale e soprattutto non abbiamo bisogno di cercare uno spazio dove inserire il SONOFF.

Operiamo alla luce del sole...

Quello che si deve fare è andare a sostituire il pulsante della lampada con il SONOFF...taglio quindi il filo ai capi del pulsante e lo sfilo via...la parte di filo che va alla presa di corrente verrà collegata all'INPUT del SONOFF, mentre il filo che va verso la lampada sarà collegato all'OUTPUT. Detto fatto...

Complichiamo un pochino la faccenda: sul Wiki di TASMOTA (https://github.com/arendst/Sonoff-Tasmota/wiki/DHT11-Wiring---Sonoff-Basic), il firmware custom caricato sui miei SONOFF, che ne permette, tra le altre cose, l'integrazione in OpenHAB tramite protocollo MQTT, apprendo che questo firmware è in grado di gestire anche un sensore di temperatura / umidità connesso ad un pin di INPUT libero nel SONOFF, il GPIO14. Fortunatamente il sensore gestito è il DHT11 e io ne possiedo un paio.


Questo sensore ha 3 pin, Vin, GND e OUT. Connetto quindi al Vin e al GND i rispettivi segnali presi dal SONOFF e al pin di OUT collego il GPIO14...scopro dove sono fisicamente collocati questi pin sul SONOFF sempre dal solito Wiki di TASMOTA (https://github.com/arendst/Sonoff-Tasmota/wiki/GPIO-Locations)

Ecco i tre fili saldati e protetti da guaina termorestringente




Adesso non mi resta che saldare l'altro capo dei fili al sensore DHT11...



Anche qui, metto della guaina per protezione...i contatti sono molto vicino tra loro



Ed ecco il nostro SONOFF al completo...



Adesso non mi rimane che fare un piccolo foro nel coperchio del SONOFF per far passare i fili, chiudere tutto e collegarlo alla corrente



Ed ecco la lampada, con il SONOFF in basso a destra e il sensore di temperatura temporaneamente appeso al palo...



Adesso tocca alla configurazione software...tramite il solito pannello web del SONOFF, andiamo a dire che abbiamo connesso un sensore al GPIO14


e poi inseriamo le solite informazioni per la comunicazione MQTT e altro...(nulla di diverso dagli altri SONOFF)

Tornando alla home page dell'interfaccia WEB si vede che nella parte alta sono apparse le informazioni rilevate dal sensore DHT11


Passiamo ad OpenHAB...devo, come sempre, definire gli items agganciati al topic MQTT con il quale il SONOFF invia e riceve le informazioni dal mondo esterno...

Nel mio caso il topic che ho scelto è smarthome/light_env/%topic%/%prefix%/

Sniffando la console del SONOFF si vede che, oltre al solito invio di informazioni circa lo stato del pulsante, viene inviato anche lo stato del sensore, con un prefix diverso



Sarà questo topic che dovrò agganciare agli item di OpenHAB per ricevere le informazioni di temperatura ed umidità rilevate dal DHT11

Ecco il risultato sull'applicazione




Ed ecco la dashboard di Grafana




Per quanto riguarda il pulsante per accendere la lampada, nulla di diverso rispetto al solito


-----------------------------------------------------
Oggetti simili usati in questo progetto
-----------------------------------------------------

venerdì 5 ottobre 2018

Home Automation System - Due PZEM-004T con unico ESP8266




Dopo il successo degli esperimenti fatti con il PZEM-004T connesso ad un Nodemcu ESP8266 per la misurazione dei consumi tramite pinza amperometrica (metodo poco invasivo...), sistema attualmente funzionante nel mio impianto per il monitoraggio dei consumi del piano terra (vedere https://domoticaduino.blogspot.com/2018/05/home-automation-system-misurazione-dei.html), ho deciso di aggiornare l'attuale sistema di monitoraggio della produzione dei pannelli fotovoltaici, basato su un ricevitore Wifi 433Mhz (vedere https://domoticaduino.blogspot.com/2017/08/home-automation-system-mqtt-e-rf433-per.html).

L'attuale sistema ha un problema dovuto al fatto che quando l'inverter è spento viene rilevato un passaggio di corrente anomalo che porta ad un'indicazione di circa 250W di consumo / produzione.

L'idea è quella di utilizzare lo stesso circuito usato per il monitoraggio dei consumi del piano terra...quindi un PZEM-004T, la sua pinza amperometrica e un Nodemcu ESP8266 per l'acquisizione delle informazioni e il loro invio verso il server MQTT.

Per chi non sapesse di cosa sto parlando, questi sono i dispositivi:

NODEMCU ESP8266

PZEM-004T

Poichè l'inverter è vicino al quadro elettrico in garage, decido di complicare un po' la cosa, a scopo di ottimizzazione, cercando di gestire due PZEM-004T con la stessa scheda ESP8266, in modo tale da poter monitorare anche il consumo del piano seminterrato.

E, dulcis in fundo, perchè non inserire anche un sensore di temperatura e umidità nello stesso circuito?

Faccio al volo due prove per verificare che effettivamente due PZEM-004T siano gestibili dalla stessa scheda e, verificatone il corretto funzionamento, creo il circuito definitivo, per adesso su breadboard.

Ecco il primo PZEM-004T connesso, tramite la sonda, al cavo di fase all'uscita dell'inverter...sulla destra si può notare anche il sensore di temperatura e umidità DHT11 (sensore non precisissimo, ma non male per le misure che voglio fare io...)


Questo invece è il secondo PZEM-004T connesso al cavo di fase del piano seminterrato, all'interno del quadro elettrico


Vista d'insieme:


Adesso non rimane altro che scrivere il software e fare qualche prova. Operazione relativamente semplice in quanto il codice è molto simile a quanto già fatto in precedenza.

Battezzo i topic MQTT per la gestione del dato su OpenHAB e creo i soliti items e oggetti all'interno di una sitemap...

Ecco il risultato sulla BASIC UI di OpenHAB



Il valore di Energy Consumption è dato dalla somma dei consumi dei 3 piani...due dei quali sono già monitorati (i valori non coincidono tra i due screenshot perchè sono stati presi in momenti diversi...)


Essendo informazioni che possono avere anche una loro valenza storica, ho creato i rispettivi grafici temporali sulla dashboard di Grafana


L'obiettivo principale è stato raggiunto: ad inverter spento la produzione passa a circa 0 W...


sabato 1 settembre 2018

Home Automation System - SONOFF 4 channel integrato in OpenHAB






Nel post precedente avevo introdotto il mio SONOFF 4 channel, descrivendo gli step fisici di installazione nell'impianto.

Questo bel dispositivo mi andrà a pilotare 4 luci: 1 interna e 3 esterne; naturalmente la centralina di controllo sarà sempre il solito OpenHAB con le sue belle e comode sitemap; il protocollo di comunicazione tra SONOFF e OpenHAB sarà, as usual, l'ormai arcinoto MQTT

Come prima cosa andiamo a configurare il SONOFF tramite interfaccia web, raggiungibile attraverso browser utilizzando l'indirizzo ip assegnato al device



Il primo step è settare il tipo di modello nella sezione Configuration -> Configure Module




Successivamente, nella sezione Configuration -> Configure MQTT, oltre alle solite informazioni di connessione al broker MQTT, inseriamo il topic così come lo vuole TASMOTA e cioè separato in TOPIC e FULLTOPIC



In questo caso il dispositivo trasmetterà e sarà in ascolto sul topic smarthome/sonoff4ch14/###
Al posto di ### TASMOTA andrà ad inserire il tipo di messaggio che andrà ad inviare (ad esempio cmnd per i comandi, state per le informazioni di stato, etc etc)

Tralascio il resto della configurazione che è praticamente identico a quanto già fatto sugli altri SONOFF.

Adesso tocca ad OpenHAB...vanno subito aggiunti i 4 item che mapperanno le 4 luci da comandare...

Creiamo quindi un nuovo file, chiamato sonoff4ch.items, nella solita cartella /etc/openhab2/items nel quale andremo ad inserire gli item da creare:


Come si vede, il topic MQTT è identico per tutti e 4 gli items...quello che cambia è il nome della proprietà, indicizzato da un numero con lo scopo di distinguere quale dei 4 relè entra in gioco.

Ultimo step....far vivere i 4 items attraverso una sitemap e prendere così il controllo del sonoff tramite APP OpenHAB (oltre che dai pulsanti a muro, cablati direttamente sui bottoni presenti nel sonoff)

Inseriamo allora i nostri 4 items nella sitemap già attiva per la gestione delle luci

(i 3 items per le luci esterne...)

Ecco il risultato nella sitemap completa:


Non ci resta che premere i pulsanti e vedere come si comportano le luci coinvolte.

Ecco un video con alcune prove



venerdì 17 agosto 2018

Home Automation System - Utilizzo del SONOFF 4ch




Finalmente trovo un pò di tempo per proseguire con la mia "domotizzazione" di casa...
E' già da un pò di tempo che ho in casa il SONOFF 4 channel, il più grande.


Con questo semplice aggeggino sono in grado di pilotare, tramite connessione Wifi, 4 carichi. Nel mio caso lo utilizzerò per comandare 4 luci tra interno ed esterno.

Oltre ai connettori di collegamento di neutro, fase e terra per i 4 canali di uscita più un canale di ingresso per l'alimentazione, sono presenti 4 pulsanti che consentono di comandare le 4 uscite. Fondamentalmente è come se fossero 4 SONOFF Basic in un unico apparecchio e con un'unica connessione Wifi.

Come sempre, non utilizzerò il firmware standard, che permette l'utilizzo del dispositivo solo tramite app proprietaria EWelink, ma andrò a caricare l'ormai famosissimo firmware TASMOTA per una facile integrazione in OpenHAB tramite protocollo MQTT

Ecco il SONOFF durante l'upload del firmware tramite seriale


Come sempre, basta seguire le indicazioni presenti sul Wiki ufficiale di TASMOTA ed il gioco è fatto. In questo caso i connettori seriali sono anche molto comodi...

Ricordarsi che è un'operazione irreversibile, in quanto non è più ripristinabile il firmware originale

Per poter comandare il SONOFF anche tramite pulsante tradizionale ho pensato di rendere disponibili i 4 pulsanti integrati nel dispositivo stesso...collegandoli opportunamente ai pulsanti / interruttori a muro...

Fortunatamente non butto via mai niente ed in questo caso torna molto utile un cavetto seriale maschio/femmina per connettere in maniera comoda e plug and play i pulsanti/interruttori a muro con i pulsanti del SONOFF.

Grazie all'aiuto del solito Piero siamo (anzi è) riusciti a saldare i terminali della femmina ai pin dei 4 pulsanti


facendo uscire il connettore dalla scatola del SONOFF


Dall'altro lato abbiamo un cavo di rete collegato ai pulsanti a muro


al quale è stato saldato il connettore maschio seriale per poter connettersi al SONOFF


Il gioco è fatto...adesso non mi resta che configurare il dispositivo ed integrarlo in OpenHAB tramite MQTT...

Alla prossima puntata...

mercoledì 30 maggio 2018

Home Automation System - Misurazione dei consumi...versione definitiva




Sono passati diversi giorni dal mio ultimo post sul sistema di Home Automation ed avevamo lasciato un discorso in sospeso, in merito alla misurazione dei consumi di casa.

Il prototipo funziona bene, quindi è arrivato il momento di utilizzarlo per quello che è nato: misurare il consumo di casa.

Il mio progetto definitivo prevede di mettere 3 misuratori, uno per piano, per avere l'indicazione dei consumi differenziati. Certo, l'ottimale sarebbe avere un rilevatore per ogni punto luce presente in casa, ma, non avendoci pensato in fase di definizione impianti durante la costruzione, al momento sarebbe un lavoro immane. Mi accontento di avere un totale per piano...

La destinazione finale di questo primo rilevatore è il piano principale, dove ci sono i principali apparecchi da cucina da tenere sotto controllo.

Il punto migliore dove mettere il rilevatore è vicino al salvavita del piano, dove arrivano fase e neutro dall'esterno. In questo modo sono sicuro di monitorare tutto il passaggio di corrente del piano.

Individuo quindi la scatola di derivazione, mi faccio un paio di collegamenti per alimentare l'ESP8266 con un alimentatore da 5V e il PZEM-004T direttamente ed inserisco la pinza amperometrica attorno al cavo di fase principale.

Per adesso lascio i fili volanti per fare un test di funzionamento prima di chiudere il tutto:



Vediamo, con il solito mqtt-spy, se i messaggi MQTT arrivano:


Perfetto, tutto funziona. Posso mettere tutto in ordine e chiudere


Metterò poi bene in sicurezza la schedina, perchè lato sinistro (potenza) un po' di corrente passa...e non vorrei mai che mi finisse il dito li dentro per sbaglio :)

Adesso tocca ad OpenHAB e Grafana.

Iniziamo ad acquisire il dato su OpenHAB, come variabile numerica (prendo solo la potenza W), utilizzando il solito topic MQTT nella definizione dell'item. Inserisco quindi una nuova entry nella sitemap per la visualizzazione. Ecco il risultato:




Interessante metterlo a confronto con la produzione fotovoltaica (oggi non c'è il sole...e si vede).

Ultimo step, visualizzare i dati storici con Grafana. Anche qui, utile vedere i grafici di produzione (verde) e consumo (giallo) a confronto:



Visto il successo di questa prima prova, ho ordinato altri PZEM-004T, per completare il monitoraggio degli altri piani.

Alla prossima puntata!