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:1883sonoffmaddox-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":
Text item=SonoffTasmotaVersion
}
Ecco il risultato:
Aggiungo quindi il file /etc/openhab2/rules/checks.rules ed inserisco le seguenti righe all'interno:
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.
Nessun commento:
Posta un commento