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

domenica 8 ottobre 2017

Home Automation System - Controllo degli aggiornamenti di TASMOTA con OpenHAB v.2




Un piccolo post riguardo l'inserimento in OpenHAB v.2 di una notifica automatica in caso di aggiornamento della versione del firmware TASMOTA per i SONOFF

Come abbiamo già scoperto in un post precedente e come si "intuisce" dalla documentazione ufficiale di TASMOTA (https://github.com/arendst/Sonoff-Tasmota/wiki/Upgrade#firmware-binary-sources), l'utente @smadds gestisce un broker MQTT pubblico "sonoff.maddox.co.uk:1883" sul quale viene pubblicato l'ultimo aggiornamento della versione del firmware TASMOTA su topic sonoff-version.

Sulla mia configurazione ho facilmente aggiunto un "item" legato, tramite MQTT, a questo valore che poi ho pubblicato sulla mia sitemap.

Per prima cosa ho dovuto creare una nuova connessione MQTT (chiamata sonoffmaddox-mqtt) al broker di @smadds, andando ad aggiungere al file /etc/openhab2/services/mqtt.cfg le seguenti righe:

sonoffmaddox-mqtt.url=tcp://sonoff.maddox.co.uk:1883
sonoffmaddox-mqtt.clientId=
sonoffmaddox-mqtt.user=
sonoffmaddox-mqtt.pwd=
sonoffmaddox-mqtt.qos=0
sonoffmaddox-mqtt.retain=true

Ho creato quindi un nuovo file nella cartella /etc/openhab2/items che ho chiamato general.items, nel quale ho inserito la seguente riga:

String      SonoffTasmotaVersion      "SONOFF Tasmota Version [%s]"     <settings>
{mqtt="<[sonoffmaddox-mqtt:sonoff-version:state:default]"}


Il mio item si chiama SonoffTasmotaVersion, è di tipo "String" ed è legato alla connessione mqtt sonoffmaddox-mqtt, topic sonoff-version. In questo modo tutte le volte che verrà pubblicato qualcosa sul topic sonoff-version del broker sonoff.maddox.co.uk:1883 il mio item verrà aggiornato.

Ultimo passaggio: aggiungere l'item nella sitemap, in modo tale da visualizzare sempre l'ultima versione disponibile di TASMOTA.

Per fare questo, modifico il solito file /etc/openhab2/sitemaps/test.sitemap, aggiungendo, in testa, la visualizzazione dell'item appena creato, all'interno di un "frame" chiamato "general":

Frame label="General" {
    Text item=SonoffTasmotaVersion
}

Ecco il risultato:



Per rendere tutto più utile, ho inserito una regola che mi notifica ogni volta che la versione di TASMOTA viene aggiornata.

Aggiungo quindi il file /etc/openhab2/rules/checks.rules ed inserisco le seguenti righe all'interno:

rule "tasmota version check"
when
Item SonoffTasmotaVersion changed
then

logInfo("rules", "New Tasmota Version " + SonoffTasmotaVersion.state)

sendNotification([user_to_be_notified], "New Tasmota Version " + SonoffTasmotaVersion.state)

end

La funzione sendNotification invia una notifica all'utente specificato; questa notifica viene visualizzata sui dispositivi mobile che hanno installato l'app di OpenHAB agganciata al cloud di OpenHAB (MyOpenHAB). La configurazione è molto semplice; basta seguire la guida ufficiale qui http://docs.openhab.org/addons/io/openhabcloud/readme.html

Attendo il prossimo aggiornamento per verificare che la regola funzioni.