Progetto Home Automation: Rediamo sicura la nostra installazione di HomeAssistant

La sicurezza (soprattutto su internet) è una delle cose che più vengono prese sottogamba, nonostante sia una delle più importanti. Il motivo è semplice: non porta a dei vantaggi visibili (come può farlo invece una nuova feature)… finchè va tutto bene!
Questo step avrei dovuto farlo tanto tempo fa, subito dopo l’installazione di Home Assistant. Ma si sa, è molto più appagante vedere il monitor dei consumi funzionante che il sapere che la propria connessione ad Home Assistant è criptata!

Adesso però è venuto il momento di occuparsi un po’ di alcuni buoni step della sicurezza, come consigliato sulla wiki di Home Assistant. Vediamo dunque come fare!

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

ZimaBoard, la Single Board Server for Creators!

Cari lettori, in questo articolo voglio solamente segnalarvi un progetto a mio avviso molto interessante: ZimaBoard.

Si tratta di una single board che invece di utilizzare una architettura ARM utilizza l’architettura x86_64 a un prezzo davvero interessante (circa 66€ in preordine la versione meno potente e con 2 GB di RAM).

Per acquistarlo in preordine e finanziare la campagna di crowdfunding (ancora 22 giorni disponibili) vi rimando al progetto su kickstarter.

La cosa interessante di questo progetto secondo me è appunto l’utilizzo di processori con architettura x86_64 (Intel Celeron N3350, quella base che ho preso, e Intel Celeron N3450), la memoria eMMC, le porte Sata 6.0Gb/s, le GbE LAN, e la porta PCIe. Tutte le porte necessarie per collegare qualsiasi cosa! Inoltre ha consumi da soli 6W ottimo per utilizzo come server.

Io personalmente l’ho comprato per sostituire il mio server che ho a casa, che attualmente usa un Odroid-C2, e serve sia come HUB di Home Automation sia come NAS casalingo.

Spero che questa notizia possa esservi utile per un qualche update a un vostro serverino o per utilizzarlo su qualche progetto interessante! A proposito… se avete in mente progetti con cui potete utilizzare questa board… aspetto con ansia le vostre idee!

Pubblicato in Home automation, linux, Prodotti | Contrassegnato , , , , , , , , , , | Lascia un commento

Progetto Home Automation: Usiamo gli input boolean per creare degli stati personalizzati

La cosa bella di tutte le automazioni è che sono tanto più efficaci quanto più vengono si adattano alle nostre abitudini e necessità. Le automazioni che uso attualmente sono pensate per adattarsi ai miei ritmi lavorativi. Ora che sono in ferie (finalmente!) e che ho tanto tempo da stare a casa visto il periodo mi scontro coi limiti di queste automazioni, che non rispecchiano più le mie abitudini di questi giorni.

La soluzione più facile è disabilitare le automazioni fastidiose e gestirle a mano… ok, facile, ma non soddisfacente. Guardando sulle funzionalità di Home Assistant mi sono imbattuto negli Input Boolean. Cosa sono? Beh sono degli switch virtuali che possono essere utilizzati per settare uno stato su Home Assistant… guarda caso proprio gli strumenti perfetti per creare il nostro Holiday Mode!

Aggiungiamo un Input Boolean ad Home Assistant

Aggiungere un Input Boolean ad Home Assistant è facile ed è consigliato farlo da interfaccia grafica.

Quindi andiamo su Impostazioni -> Aiutanti e aggiungiamo un Commutatore.

Io come nome ho usato Holiday Mode e come icona mdi:beach.

Ora non vi resta che aggiungere il vostro input boolean al pannello lovelace per poterlo editare.

Usiamo l’Input Boolean sulle Automazioni

Adesso che avete il vostro input boolean potrete metterlo in AND o in OR nelle vostre condizioni delle automazioni per abilitare/disabilitare una data regola in base al fatto che siete in ferie o no! Semplice no?!

I potenziali usi per questi input boolean sono molti e molto semplici da attuare, non vi resta che adattarli alle vostre esigenze! A presto!

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

Progetto Home Automation: Controlliamo i nostri apparecchi a radiofrequenza con Sonoff RF Bridge e Home Assistant

Questa guida vuole essere un avanzamento della guida sui Sonoff Basics fatta in precedenza. In questa guida però vedremo come configurare dei Sonoff RF Bridge a 433Mhz per controllare dei dispositivi a radiofrequenza. Il mio bisogno particolare è controllare una tenda, in modo da poterla alzare ed abbassare da remoto, o automaticamente la sera quando il sole tramonta. I processi descritti in questa guida saranno:

  • Installazione del firmware Tasmota sul Sonoff
  • Collegamento del Sonoff ad HomeAssistant tramite MQTT
  • Registrazione dei comandi RF e configurazione

Vediamo come fare!

Configuriamo il Sonoff con Tasmota

Come già preannunciato, siccome 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.

A differenza della guida precedente, questa volta per installare Tasmota su un Sonoff ho deciso di utilizzare un tool scritto in python: Tasmotizer.

Per quanto riguarda il collegamento hardware per interfacciarci col computer vi rimando alla documentazione ufficiale Tasmota per il Sonoff RF Bridge 433Mhz.

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

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 , , , , , , , , , , , , , , | 4 commenti

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.

NOTA 10/10/20: Ho appena scoperto che c’è un “nuovo” tool molto comodo scritto in python per installare Tasmota su un Sonoff: Tasmotizer.

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
# mkdir -m 740 -p /var/run/mosquitto
# chown vostroutentecheusamosquitto: /var/run/mosquitto
# nano /etc/mosquitto/mosquitto.conf

e decommentiamo e modifichiamo le righe:

pid_file /var/run/mosquitto/mosquitto.pid

user vostroutentecheusamosquitto

listener 1883

allow_anonymous true

poi abilitiamo il server MQTT al solito modo (NOTA: se come me non avete creato l’utente mosquitto ma lo fate runnare come un altro utente ricordatevi di cambiare lo user sul file /lib/systemd/system/mosquitto.service)

# 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

Progetto home Automation: installiamo HomeAssistant su Odroid C2

Ennesimo cambio di rotta per questo progetto!
Siccome dall’ultima reinstallazione OpenHAB mi stava dando problemi (si bloccava) e siccome non ha ancora un sistema di autenticazione, dopo aver configurato un Sonoff per comunicare con OpenHAB ho deciso di cambiare, perchè non è che mi andasse a genio che chiunque potesse accendere o spegnere le cose di casa mia (si perchè ho attivato l’accesso dall’esterno della rete locale per vedere i consumi ovunque e in ogni momento).

Quindi la mia scelta è ricaduta su HomeAssistant per i seguenti motivi:

  1. È scritto in Python quindi è meno pesante di Java con cui è scritto OpenHAB
  2. L’ultima versione ha integrato un sistema di login, cosa che a me interessava molto per il motivo detto sopra
  3.  Ha un plugin per comandare i dispositivi Mitsubishi attraverso MelCloud (appena avrò tempo aggiungerò una guida anche per questo)
  4. Si adatta senza troppe difficoltà al nostro setup

Quindi… vediamo come procedere! (io ho seguito questo link)

Installazione:

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