Progetto Home Automation: Estrapolare i totali giornalieri di produzione e consumo dai dati istantanei salvati su InfluxDB

Era da tempo che volevo farlo e finalmente ho avuto il tempo di imparare un po’ meglio InfluxDB e Grafana per poter estrapolare i totali giornalieri dai dati grezzi che salviamo sul database.
Siccome a noi non interessa il valore preciso al milliWatt/h ma ci basta una stima “a grandi linee” per capire se siamo stati bravi nell’autoconsumo/consumo si possono attuare una serie di approssimazioni che rendono il problema apparentemente semplice.

La soluzione più intuitiva (e la prima che ci viene in mente) infatti è quella di fare la media di tutti i valori salvati in quel giorno (quindi è come se consumassimo costantemente quel valore) e moltiplicarla per le ore del giorno ottenendo il totale giornaliero.

Qui purtroppo mi sono scontrato con la dura realtà, cioè che quando i pannelli non producono non viene salvato nessun dato. Questo è un comportamento di per sé sensato e deriva dal fatto che quando ho configurato i sensori mqtt su homeassistant non ho impostato il force_update a true, poichè se il valore non cambia non voglio salvare dati inutili (e di solito il valore non cambia appunto quando i pannelli non producono).
E in tutto questo il problema dove sta? Beh semplicemente che la media che ottenevo dalla produzione energetica era enormemente più alta poichè non considerava i momenti in cui la produzione era a 0 nella media. E ora? Come fare?

Beh informandomi un pochino sulle capacità di InfluxDB, sfruttando le subquery sono riuscito a tirarmi fuori i dati come volevo io, quindi vediamo rapidamente come aggiungere queste informazioni a un grafico su Grafana!

Continua a leggere
Pubblicato in Arch Linux, Home automation | Contrassegnato , , , , , , , , , , , , , , | Lascia un commento

Progetto Home Automation: Monitoriamo il Server da HomeAssistant con System Monitor

Il computer dove gira Home Assistant (nel mio caso un Odroid C2) può essere spesso utilizzato anche per altre cose, ad esempio come NAS casalingo, media center o torrentbox. Può essere utile quindi poter monitorare il carico del sistema (cpu e ram occupata), lo stato dei dischi (spazio libero/spazio occupato) e via dicendo.. Beh il modo più semplice per farlo su HomeAssistant è utilizzare System Monitor.

Siccome questa vuole essere una guida lampo e l’installazione e la configurazione sono semplicissime mi limito ad aggiungerci la mia configurazione. Quindi editate la vostra sezione sensor: (o il file sensors.yaml) e aggiungete:

# systemmonitor
    - platform: systemmonitor
      resources:
        - type: disk_use_percent
          arg: /mnt/
        - type: disk_use
          arg: /mnt/
        - type: disk_free
          arg: /mnt/

        - type: memory_free
        - type: processor_use

        - type: throughput_network_in
          arg: eth0
        - type: throughput_network_out
          arg: eth0

Per tutte le varie configurazioni e argomenti andate sulla guida ufficiale (qui ho messo solamente quelli che servivano a me), ma spero vi abbia dato un’idea di come funzioni questo componente. Una volta riavviato Home Assistant ( non so se c’è un modo per ricaricare direttamente la configurazione coi nuovi sensori, io di solito riavvio sempre) potrete aggiungere i nuovi sensori a una sensor card, entity card o quello che preferite.

Pubblicato in Arch Linux, Home automation | Contrassegnato , , , , , , , | Lascia un commento

Progetto Home Automation: Home Assistant, monitoriamo il nostro router FRITZ!Box e impariamo i sensor template

Questo articolo vuole essere un po’ un “mapazzone” (cit.) di argomenti diversi (e in parte collegati tra loro) ma che sono utili in tutto l’ambiente di HomeAssistant: il Device Tracker, il Sensor Template e il FRITZ!Box NetMonitor (io posseggo un FRITZ!Box 7590 ma dovrebbero esserci diverse estensioni per altri modelli di monitor).

Prima di addentrarci nei dettagli vediamo a cosa servono i 3 componenti:

  • Device Tracker: questo componente solitamente viene utilizzato per identificare la presenza di dispositivi (e quindi anche di persone, nel caso di un telefono personale) in una determinata posizione, e solitamente (almeno nella configurazione che vi mostrerò) viene fatto guardando se un dispositivo è connesso o meno al router, con tutte le limitazioni del caso.
  • Sensor Template: questo componente vi permette di creare sensori relativi a un particolare dato e di trasformarlo nel formato che più vi fa comodo; in questa guida per esempio lo sfrutteremo per avere dei sensori che mostrino degli attributi del FRITZ!Box NetMonitor e ce li convertino da Bytes/s a KBytes/s.
  • FRITZ!Box NetMonitor: questo componente è molto semplice, si collega al vostro router e vi fornisce tutte le informazioni relative alla vostra connessione internet (se è connesso al provider, velocità massima U/D, velocità corrente U/D ecc).

Ora che abbiamo capito a cosa servono tutti i componenti procediamo ad utilizzarli al meglio!

Installiamo il Device Tracker relativo al il FRITZ!Box

L’installazione è molto semplice, basta aggiungere un paio di righe al vostro file configuration.yaml:

Continua a leggere
Pubblicato in Arch Linux, Home automation | Contrassegnato , , , , , , , , | Lascia un commento

Progetto Home Automation: Installiamo HACS per gestire tutte le estensioni di HomeAssistant

Sarà un articolo piuttosto breve ma ho appena scoperto HACS, che sta per Home Assistant Community Store, e volevo condividere con voi questa scoperta. HACS non è altro che un aiuto nell’installazione di tutti quei plugin di terze parti creati dalla Community che ci aiutano a rendere più figa la nostra configurazione di Home Assistant.

Installazione di HACS

Passiamo subito al dunque e vediamo come installarlo: per prima cosa leggete ATTENTAMENTE i prerequisiti, in particolare dovrete avere un account GitHub e l’accesso al disco dov’è installato HomeAssistant.
Come tutti i tool che automatizzano un qualche processo di installazione bisognerebbe avere idea di come si installano gli stessi componenti senza di esso, in modo da saper dove intervenire in caso di errore. Infatti uno dei prerequisiti è saper accedere al log di Home Assistant.

Procediamo dunque all’installazione seguendo la guida ufficiale.
Logghiamoci in al nostro pc dov’è installato Home Assistant e scarichiamo HACS (controllate sulla guida ufficiale per il link giusto, io ora ho installato la versione 0.23.2):

$ wget https://github.com/hacs/integration/releases/download/0.23.2/hacs.zip

Ora dovrete spostarvi sulla cartella di configurazione (quella dove c’è il file configuration.yaml) e se non c’è dovrete creare la cartella custom_components.
Una volta fatto spostate il file scaricato hacs.zip e scompattatelo dentro la cartella custom_components.

Ora non vi resta che riavviare Home Assistant e dovrete avere HACS installato.

Configurazione

Continua a leggere
Pubblicato in Home automation, linux | Contrassegnato , , , , , , | Lascia un commento

Progetto Home Automation: Configuriamo dei Sonoff e controlliamoli con HomeAssistant via MQTT

A casa ho attualmente 3 Sonoff Basic coi quali controllo vari elettrodomestici o ciabatte in base a delle regole di automazione di HomeAssistant. I Sonoff sono dispositivi interessanti che possono essere controllati tramite la loro app e sono compatibili con Google Assistant e Amazon Alexa. Se vogliamo comandarli via MQTT da HomeAssistant bisogna farci qualche piccola modifica. Vediamo come fare!

Configuriamo il Sonoff

Siccome come dicevo i device Sonoff sono fatti per essere controllati dalla propria app tramite un servizio cloud per poterli controllare da HomeAssistant in locale via MQTT bisogna installare un firmware specifico: Tasmota.

Per installare questo firmware bisogna seguire questa guida.

Per quanto riguarda il collegamento hardware per interfacciarci col computer vi rimando a questo tutorial su youtube, che potrete anche seguire per tutta la procedura di flash del firmware.

Io tuttavia per flashare Tasmota ho utilizzato Visual Studio Code, dal quale ho anche modificato i files platforms.ini e user_config.h.

In particolare su user_config.h si modificano le impostazioni per connettersi al WiFi e per la comunicazione MQTT, mentre in platforms.ini le impostazioni per il flash, in particolare upload_port va settata su COM 1,2,ecc se utilizzate Windows, mentre su /dev/ttyUSB0,1,2,ecc se utilizzate Linux.

Continua a leggere
Pubblicato in Arch Linux, Home automation | Contrassegnato , , , , , , , , , , , , , , | Lascia un commento

Progetto Home Automation: visualizziamo i nostri consumi su HomeAssistant con MQTT, Grafana e InfluxDB

Dopo aver reinstallato ArchLinux ed HomeAssistant nel mio Odroid C2 e aver fatto il punto della situazione è arrivato il momento di monitorare nuovamente i nostri consumi e la produzione e aggiungerli come grafici su HomeAssistant.

Cercherò di riassumere tutti i passaggi (anche quelli che sono già presenti su altre guide) in modo da avere una panoramica generale dell’intero procedimento.
L’unico prerequisito è che si parte dal presupposto che i vostri dati siano già raccolti da un qualche dispositivo e mandati sulla rete via MQTT. Non entrerò nel merito su come configurare questo dispositivo (nel mio caso un RaspberryPi Zero) perchè io l’ho configurato anni fa (come passa il tempo!) e siccome funziona non ho intenzione di toccarlo; in ogni caso vi rimando alla guida che avevo fatto a riguardo.

Ora che abbiamo tutti i prerequisiti giusti, colleghiamoci al nostro Odroid e possiamo iniziare!

Installazione e configurazione del server MQTT

$ yay -S mosquitto
# nano /etc/mosquitto/mosquitto.conf

e decommentiamo e modifichiamo le righe “pid_file” e “user” come dai commenti, poi abilitiamo il server MQTT al solito modo

# systemctl enable mosquitto
# systemctl start mosquitto

Ora possiamo verificare che il nostro client mandi correttamente i messaggi sottoscrivendoci a tutti i topic con

$ mosquitto_sub -v -h localhost -p 1883 -t '#'

Configurazione delle entità MQTT su HomeAssistant

Continua a leggere
Pubblicato in Arch Linux, Home automation, Uncategorized | Contrassegnato , , , , , , , , , , | Lascia un commento

Progetto Home Automation: Riassunto delle puntate precedenti

Dopo più di due anni che non scrivevo una riga in questo blog, preso da mille impegni e cambiamenti, approfitto di questa quarantena (e di una SD bruciata che mi ha costretto a reinstallare tutto il sistema sul mio Odroid C2) per fare il punto della situazione e riepilogare tutti i vari passaggi necessari per avere un sistema base funzionante sistema funzionante in modo da poter poi continuare con la configurazione di HomeAssistant che avverrà nei prossimi articoli.

Ecco… arrivati a questo punto avrete tutte le carte in tavola per proseguire con la configurazione di HomeAssistant. 😉

A presto!

Pubblicato in Arch Linux, Home automation | Contrassegnato , , , , , , , , , , , , , , | Lascia un commento