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:

Colleghiamoci in un terminale e creiamo lo user per homeassistant:

# pacman -S python-pip python-virtualenv python
# useradd -rm homeassistant -G dialout,gpio
$ cd /srv
$ sudo mkdir homeassistant
$ sudo chown homeassistant:homeassistant homeassistant
$ sudo -u homeassistant -H -s
$ cd /srv/homeassistant
$ python3 -m venv .
$ source bin/activate
$ pip3 install homeassistant

E ora per terminare la configurazione avviamolo:
$ hass
Questo creerà tutte le cartelle e le configurazioni necessarie sotto /home/homoassistant/.homeassistant.
 

Aggiornamento:

Quando vorremmo aggiornare homeassistant dovremmo eseguire i seguenti programmi:
sudo -u homeassistant -H -s
$ source /srv/homeassistant/bin/activate
$ pip3 install --upgrade homeassistant

È tutto! Nelle prossime guide inizieremo a configurarlo per il nostro setup.

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

Progetto home Automation: configuriamo un relè Sonoff Basic con Openhab

Tempo fa ho comprato un paio di Sonoff Basic per integrarli nel nostro impianto domotico e dopo tanto tempo (ahimè) sono riuscito ad avere un momento per giocarci, quindi… vediamo come procedere!

Installiamo Tasmota Firmware sul nostro Sonoff

I device Sonoff sono fatti per essere controllati dalla propria app tramite un servizio cloud. A me personalmente piace avere il controllo dei miei dispositivi di home automation in locale, quindi per avere pieno accesso alle funzionalità di questi apparecchi 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.iniuser_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.

Per quanto riguarda la configurazione MQTT

Configuriamo Openhab per comunicare col Sonoff

Una volta configurato correttamente il vostro Sonoff è molto semplice integrarlo con Openhab, soprattutto se avete già un broker MQTT configurato.

Quindi creiamo un file sonoff.items in cui inseriamo:
Group Sonoff


Switch Sonoff "SonoffName" (Sonoff)
{ mqtt=">[broker:percorso/prefix/topic/POWER:command:*:default],
<[broker:percorso/prefix/topic/POWER:state:default]" }

NOTA: prefix e topic e il loro ordine dipende dalla vostra configurazione.
Ora non resta che aggiungerlo sulla nostra sitemap
Frame label="Sonoff Controllers" {
Switch item=SonoffName
}

Con questi semplici passi dovreste avere il vostro Sonoff funzionante e comandabile da Openhab. Fate comunque riferimento al wiki di Tasmota per dei piccoli trucchi e miglioramenti nella configurazione in Openhab.

Come sempre se avete consigli o problemi non esitate a commentare!

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

Arch Linux su Dell Inspiron 7559: come risolvere Bumblebee che causa il crash di X

Dopo un aggiornamento (dovuto al kernel) Bumblebee ha iniziato a darmi problemi bloccandomi il server X all’avvio.
La soluzione l’ho trovata sul github del progetto, ed è davvero semplice:
editiamo il file /etc/default/grub ed aggiungiamo:
GRUB_CMDLINE_LINUX_DEFAULT='quiet acpi_osi="!Windows 2015"'
successivamente riconfiguriamo grub con
sudo grub-mkconfig -o /boot/grub/grub.cfg

Ora riavviate e godetevi il vostro computer di nuovo pienamente funzionante!

Nota: a quanto pare questa soluzione è valida anche per altri OS linux (ho dovuto installare Ubuntu 16.04 per l’università e ha risolto i problemi del server grafico anche lì)

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

Progetto home Automation: miglioriamo la persistence e i grafici su openhab con influxDB e Grafana

Dopo aver collegato il Raspberry ad Openhab con mqtt vediamo di migliorare il nostro monitor dei consumi; uno dei problemi di Rdd come persistence per i consumi e la produzione dei pannelli è che è un database a dimensione fissa.. e quindi?
Quindi per mantenere la dimensione fissa tende a comprimere i dati raggruppando quelli più vecchi (nella nostra configurazione facendo la media tra tot) e questo non è un bel comportamento per noi che magari un domani vorremmo vedere cosa hanno prodotto i nostri pannelli un anno fa.
Inoltre permette di fare i grafici solo salvando i dati almeno ogni minuto e a me interesserebbe di più avere l’istantaneo ogni 5/7 secondi e salvare sul database per il grafico la media ogni 5 minuti… Vediamo come fare!

Installazione pacchetti

Dobbiamo installare la persistence di InfluxDB da PanelUI su openhab e da AUR influxdb; purtroppo Grafana non è disponibile per aarch64 e dovremmo procedere alla compilazione da sorgenti per il nostro ODROID-C2, procediamo:
# pacman -S nodejs git go
$ mkdir /home/user/.go
$ export GOPATH=/home/user/.go
$ go get github.com/grafana/grafana
$ cd $GOPATH/src/github.com/grafana/grafana
$ go run build.go setup
$ go run build.go build
# pacman -S phantomjs
# npm install -g yarn
$ yarn install --pure-lockfile
# npm install -g grunt-cli
# chmod 777 /home/user/.go
$ grunt
# nano /etc/systemd/system/grafana-server.service

e aggiungiamo
Continua a leggere

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

Progetto home Automation: usiamo MQTT per ricevere dati su openhab e disegnarli su un grafico

Dopo tanto tempo son riuscito a prendermi un weekend libero da poter dedicare al questo progetto; l’obiettivo che mi ero prefissato era di creare una pagina con Openhab dove potevo vedere in tempo reale la produzione, i consumi e dei semplici storici (non sono granchè ma punto a migliorarli in seguito).
Avendo dovuto sostituire il Raspberry Pi 3 con un Pi Zero W, diciamo che ne hanno risentito un po’ le performance; a dire il vero pensavo sostenesse openhab, e infatti lo fa, solo che in modo parecchio lento e diventa quindi non troppo usabile.

In questo modo ho deciso di installare Openhab sull’Odroid C2 che ho come TV Box e NAS (tanto è un quad core, potenza ne ha) e far inviare i dati dal Pi Zero tramite MQTT; vediamo come fare!
Nota prima di iniziare: Io sul Pi zero avevo già installati i software necessari cioè aurora e sdm120c; se non li avete trovate come installarli sulle guide precedenti.
Continua a leggere

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

Progetto home Automation: aggiungere la data su OpenHAB

L’idea di questa guida flash è di creare una sitemap dove viene visualizzata la data odierna, come nell’immagine qui sotto.

Andiamo dunque sulla nostra installazione di Openhab ed editiamo i seguenti file come segue:

    • items/stuff.items

DateTime Date "Date [%1$tA, %1$td.%1$tm.%1$tY %1$tH:%1$tM]" { channel="ntp:ntp:local:dateTime" }

    • things/ntp.things

ntp:ntp:local [ hostname="nl.pool.ntp.org", refreshInterval=60, refreshNtp=30 ]

    • sitemaps/default.sitemap

sitemap default label="House Energy Monitor"
{
Frame label="Date"{
Text item=Date
}
}

Ora dovreste avere la data come nell’immagine, semplice no?

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

Installiamo Arch Linux su Raspberry Pi Zero W

Purtroppo il Raspberry Pi 3 che gestiva i pannelli solari e i consumi è morto (non vanno più nè wifi nè ethernet, quindi non riesco ad accederci), per questo ho deciso di acquistare un Raspberri Pi Zero W (il quale dovrebbe essere più che sufficiente per il lavoro che deve fare), con un Hub USB per collegarci tutte le periferiche.
Per chi non conoscesse Raspberry Pi vi rimando al sito ufficiale.

Backup/ripristino della nostra immagine (se avete installato altro)

Essendo un “esperimento” il mio, o comunque Raspbian era configurato a puntino e mi dispiaceva perderlo, ho provveduto a fare un backcup (riferimento ArchWiki)

# dd if=/dev/mmcblk0 conv=sync,noerror bs=64K | gzip -c > /cartella/dove/vogliamo/salvare/backup.img.gz
# fdisk -l /dev/mmcblk0 > /cartella/dove/vogliamo/salvare/backup_fdisk.info

Nota: voi mettete sempre il vostro nome del device

E per ripristinare:
# gunzip -c /cartella/dove/vogliamo/salvare/backup.img.gz | dd of=/dev/mmcblk0

Installazione Arch

Continua a leggere

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