smarthome-tricks.de

Bei Adapter-Störung Benachrichtigung per E-Mail oder Telegram

In diesem Artikel zeige ich Dir, wie Du Dir bei einer Störung eines Adapters eine Benachrichtigung senden kannst. 

Gerade in meiner Anfangszeit von ioBroker haben sich manchmal Adapter verabschiedet. Diese Abstürze waren häufig auf Fehlkonfigurationen zurückzuführen. Eigentlich nichts schlimmes, da sich der Adapter dann automatisch wieder neu startet. Um den Problemen auf den Grund zu gehen und eben gleich über eine solche Störung informiert zu werden, habe ich mir ein Skript erstellt, welches den Zustand aller Adapter überwacht und bei einer Änderung auf „inaktiv“ eine Benachrichtigung versendet. Hier können im Skript auch Adapter definiert werden, welche nicht überwacht werden sollen, da dieses sich regelmäßig standardmäßig neu starten.

 

Im folgenden Skript habe ich eine solche Überwachung implementiert:

function createNotification(NotificationText) {
sendTo("telegram", "send", { text: NotificationText });
}

on({id: /^system\.adapter\..+\.alive$/, change: 'ne', val: false}, 
function(dp) {
var id = dp.id.split('.');
id = 'system.adapter.' + id[2] + '.' + id[3];
var instance = getObject(id);
var ignoreList= ["dwd.0.alive","yr.0.alive","ical.0.alive"];

if ( !ignoreList.includes(dp.common.name)) {
if(instance.common.enabled) {
createNotification(dp.common.name);
}
}});

Über das Array ignoreList können Adapter definiert werden, welche ignoriert werden sollen. Das Skript überwacht die Datenpunkte der Adapter alive Zustände und versendet dann eine Benachrichtigung per Telegram, wenn der Adapter nicht ignoriert wird.

Alternativ zur Benachrichtigung via Telegram können natürlich auch E-Mails versendet werden. Hierfür muss einfach die Funktion CreateNotification auf den E-Mail Versand umgeschrieben werden. Hier der entsprechende Artikel zum Thema E-Mails:  E-Mails mit ioBroker versenden

 

Ich hoffe euch gefällt dieser Artikel. Über Kommentare unterhalb des Artikels oder per E-Mail freue ich mich wie immer ?

Die mobile Version verlassen