Alcuni mesi fa avevo accennato alla possibilità di poter controllare piGarden direttamente da Home Assistant, il noto controller di domotica open source. In questo articolo spiegherò come poterlo fare in modo da arrivare ad aver un pannello di gestione simile a quello mostrato nell’immagine riportata qui sopra.
In diverse occasioni mi è stato chiesto come piGarden funzionasse e alcune volte è stata fatta un po’ di confusione riguardo ai ruoli dei diversi componenti che entrano in giorco. Ci sono stati alcuni utenti infatti che volendo cambiare o aggiungere nuove funzionalità pensavano di dovere intervenire su quella che è solo l’interfaccia web (piGardenWeb). Per questo motivo ho deciso di fare questo piccolo post dove cerco di spiegare una volta per tutte l’architettura del progetto e il ruolo delle varie parti in gioco.
Alcuni anni fa tornando a casa da lavoro ad attendermi trovai con una brutta sorpresa: la centralina del mio sistema di antifurto aveva tirato le cuoia. Dopo un veloce consulto con il tecnico specializzato venivo a sapere che questa non poteva essere riparata e cosa ancora più grave avrei dovuto sostituire anche parte dei sensori e dispositivi di controllo perché non più compatibili con i sistemi di nuova generazione.
Dopo avere ricevuto un preventivo di spesa non indifferente per installare un nuovo sistema di antifurto, mi sono fermato a riflettere e mi sono detto: perché non provare ad utilizzare un Raspberry Pi come centralina per controllare i sensori perimetrali, di movimento e le varie sirene del vecchio impianto?
Mi sono quindi imbattuto in una serie di ricerche e sperimentazioni per ricostruire un nuovo impianto antifurto in autonomia con il vantaggio di risparmiare molti soldi e di potere recuperare le parti del vecchio impianto ancora funzionante.
Ho colto l’occasione per scrivere questo piccolo articolo dove conservare il file di configurazione di nginx che permette di servire piGardenWeb come sottodirectory e non direttamente sulla root.
inserita le gestione dei lock per evitare sovrapposizioni di schedulazioni
inserita funzionalità di cleanup al boot (rimozione eventuali lock files)
migliorata l’integrazione con drv_rainsensorqty, poiché quest’ultimo non solo gestisce l’evento pioggia secondo i criteri di piGarden, ma registra anche ogni singolo movimento della vaschetta
inserita l’irrigazione progressiva che si riduce in base alla quantità di pioggia precipitata, se questa non è sufficiente per determinare l’evento pioggia
NOTE IMPORTANTI versione 0.3.3:
con questa versione le valvole vengono indicate con EV# anziché con EV#_ALIAS (es. EV1 vs EV1_ALIAS)
per poter utilizzare la nuova versione è necessario cancellare a mano dal file /etc/piGarden.sched le occorrenze di “_ALIAS”; in alternativa è possibile cancellare il file e ricostituire le schedulazioni con i comandi di seguito indicati.
il nuovo file per impedire l’irrigazione, al fine di verificare il funzionamento dello schedulatore, è: /home/pi/piGardenSched/include/TEST
piGardenSched
piGardenSched.sh e’ un’alternativa all’attuale schedulatore di piGarden.
E’ stato scritto dall’amico Andrea, il quale vedendo nell’attuale gestione di piGarden alcune limitazioni, ha deciso di creare un nuovo sistema di pianificazione delle irrigazioni.
Uno dei principali vantaggi di piGardenSched è quello di poter programmare l’apertura di una EV senza una schedulazione di apertura e una di chiusura, ma semplicemente indicando l’orario di partenza, il tempo di azione da eseguire e la ricorrenza.
Sono in oltre presenti funzioni avanzate come quella di potere impostare in un’unica schedulazioni l’irrigazione sequenziale di più elettrovalvole.
Lascio ora la parola ad Andrea, il quale vi spiegherà nel dettaglio come funziona piGardenSched.
Recentemente ho acquistato un Lenovo Thinkpad X1 Carbon di terza generazione. Qui di seguito riporto qualche appunto su alcune ottimizzazioni che ho fatto per migliorare l’esperienza su Ubuntu 18.10.
Per chi ama smanettare con i dispositivi domotici modificati con il firmware Tasmota, esiste un web tool, Tasmoadmin, che permette di racchiudere tutti i dispositivi presenti nella propria rete domestica in un unica interfaccia.
Questo porta numerosi vantaggi dal momento che si avranno tutti i parametri di funzionamento e di configurazione dei vari Tasmota facilmente accessibili e modificabili.
Questo programma si può installare su molte piattaforme ed è comodamente accessibile via interfaccia web, per installarlo occorrono pochi passaggi come ben descritti nella seguente guida:
In questo articolo vorrei approfondire e fare più chiarezza sulle api (Application Program Interface) che piGarden mette a disposizione e con le quali può interfacciarsi con altri software esterni.
Le api vengono esposte tramite socket server già da tempo e più recentemente invece possono essere utilizzate anche tramite protocollo mqtt.
Tramite l’utilizzo delle api è possibile conoscere lo stato di piGardem, aprire o chiudere le elettrovalvole, creare schedulazioni e molto altro.
In questi anni stanno sempre più prendendo piede i sistemi domotici in particolare homeassistant (hass), un software open source già citato in questo blog, che permette di creare un vero impianto domotico di casa. Ci sono alcuni modi per installarlo, esiste pure una immagine già pronta da flashare sul raspberry ma questa soluzione non è certo l’ideale se volete che condivida l’installazione con piGarden; quindi dovremmo procedere manualmente. La seguente guida è una libera traduzione dell’originale in inglese il cui riferimento lo trovate in fondo all’articolo. La guida descriverà come configurare un ambiente virtuale phyton su cui far girare homeassistant per poi renderlo avviabile al boot, oltre a come tenerlo aggiornato.
Recentemente ho avuto la necessità di poter controllare piGarden e piGuardian tramite protocollo mqtt in modo da potere avviare o fermare l’irrigazione da Home Assistant, il famoso software open source per la gestione domotica della casa.
A questo proposito ho creato un piccolo script python che funziona da subscribe per alcuni topic mqtt destinati a ricevere nei rispettivi payload i comandi delle api di piGarden e piGuardian e di inoltrarli ai rispettivi socket server. In pratica mqttconnector funziona da intermediario tra mqtt e piGarden/piGuardian.
By continuing to use the site, you agree to the use of cookies. more information
The cookie settings on this website are set to "allow cookies" to give you the best browsing experience possible. If you continue to use this website without changing your cookie settings or you click "Accept" below then you are consenting to this.