smarthome-tricks.de

Blockly – Benachrichtigung bei bestimmten Adapter-Update

In diesem Artikel zeige ich Dir, wie Du Dir für einen bestimmten ioBroker Adapter eine Benachrichtigung per Telegramm oder E-Mail einrichten kannst.

Aktuell schaue ich nicht jeden Tag in den ioBroker Admin-Adapter meines Produktiv-Systems, da das System in der Regel völlig problemlos läuft. Um aber die Adapter auf dem neuesten Stand halten zu können, und für bestimmte Adapter direkt eine Update-Benachrichtigung erhalte, habe ich mir das folgende kleine Blockly-Script erstellt, welches mir Informationen über ein verfügbares Update zusendet. Im Artikel zeige ich Dir, wie Du dir ein solches Script einfach und schnell erstellen kannst.

Bevor wir nun mit der Erstellung des Scripts beginnen, zeige ich Dir zunächst die benötigten Datenpunkte im ioBroker Admin Bereich Objekte. Im Datenpunkt admin.0.info.updatesList findest Du eine mit Komma getrennte Liste von Adapter-Updates. Auf diesen Datenpunkt werden wir uns einen Trigger erstellen, welcher bei einem größeren Wert als zuletzt anspringt.

In meinem Fall stehen aktuell 15 Updates (admin, backitup, …) zur Verfügung.

Im nächsten Schritt erstellen wir uns nun ein neues Blockly-Script mit einem Trigger auf den oben gezeigten Datenpunkt admin.0.info.updatesList. Als Bedingung für den Trigger wählen wir hier „ist größer als letztes“. Dadurch wird der Trigger nur aktiviert, wenn eine längere Zeichenkette als zuvor im Datenpunkt steht. Die Bedingung ist für unser Script elementar, da sonst nach jedem erledigten Adapter-Update eine Telegram-Nachricht versendet wird.

Bevor wir den Body des Triggers weiter implementieren legen wir uns nun eine neue Variable an. Dazu klickst Du im Bereich Variablen auf die Schaltfläche „Variable erstellen …“.

In der folgenden Abfrage gibst Du dann noch den Namen für die neue Variable an. In unserem Fall bekommt die Variable den Namen searchForAdapter, da hier später der Adaptername eingetragen wird.

Im Body des Triggers können wir dann einen Falls-Block einfügen, welcher mit einem Logik-Block den Text im Wert des Triggers nach dem Namen des Adapters durchsucht. Der Block ruft intern die IndexOf() Funktion auf, welche einen Wert größer -1 zurückgibt. Der Zurück gegebene Wert wird zudem um eins erhöht, daher müssen wir hier größer Null abfragen. Wenn die Bedingung zutrifft wird der Telegram-Block für das Versenden der Nachricht aufgerufen. Optional könnten wir hier natürlich auch den E-Mail Block verwenden.

Ich hoffe Dir gefällt der Artikel. Über Kommentare, Anregungen oder Ideen freue ich mich wie immer 🙂

Die mobile Version verlassen