NEWS
Benachrichtigung Adapter/Instanzen-Ampel
-
Hallo über die Suche habe ich leider nichts gefunden.
Gibt es eine Möglichkeit der Benachrichtigung (via Telegram) wenn die Ampel eines Adapters gelb oder rot wird?
Ich stelle diese Frage in der Rubrik Skripte da ich denke das es (nur) damit realisierbar ist.
Vielleicht hat jemand eine Idee.
-
AM Ende sind das alles Datenpunkte der Adapterinstanzen.
Wenn ein Adapter einen Connection-Status hat ist der unter "adaptername.instanznummer.info.connection" als true/false
Ob der Adapter überhaupt läuft steht unter system.adapter.adaptername.instanznummer.alive als true/false
Die kannst Du in einem Skript oder Blockly als Trigger nehmen
-
Hey cool. Danke.
Bei System ist auch ein connected Datenpunkt drin. Ist ja bestimmt der selbe. Ich habe je Adapter
system.adapter.adaptername.instanznummer.alive –> false
system.adapter.adaptername.instanznummer.connection --> false
als Trigger für meine Benachrichtigung genommen.
Danke nochmal für die Info.
-
Und ein Script könnte so aussehen:
// Adapter noch verbunden, wenn nein dann telegram Nachricht und Ansage am Tablet // Variablen var v_Adapter = ""; function weiter(v_Adapter) { log("Auslöser Adapter " + v_Adapter + " nicht mehr connected !"); //Telegram sendTo('telegram', "Achtung, Achtung! \nDer Adapter "+ v_Adapter +" ist nicht mehr aktiv !"); //Sound var request = require ('request'); request('http://192.168.243.76:50000/track=tng_red_alert2.wav'); setTimeout(setState('sayit.0.tts.text', "Achtung, Achtung! Der Adapter "+ v_Adapter +" ist nicht mehr aktiv !"), 5000); } // ---------------------------------------------------------------------------------------------------------------------------------------------------- on({id: "system.adapter.admin.0.connected", change: "ne"}, function(obj){ if (obj.state.val === false) { v_Adapter = "Admin"; weiter(v_Adapter); } }); on({id: "system.adapter.cloud.0.connected", change: "ne"}, function(obj){ if (obj.state.val === false) { v_Adapter = "Cloud"; weiter(v_Adapter); } }); on({id: "system.adapter.fritzbox.0.connected", change: "ne"}, function(obj){ if (obj.state.val === false) { v_Adapter = "Fritzbox"; weiter(v_Adapter); } }); on({id: "system.adapter.hm-rega.0.connected", change: "ne"}, function(obj){ if (obj.state.val === false) { v_Adapter = "HM-Rega"; weiter(v_Adapter); } }); on({id: "system.adapter.tr-064.0.connected", change: "ne"}, function(obj){ if (obj.state.val === false) { v_Adapter = "tr-064"; weiter(v_Adapter); } }); on({id: "system.adapter.vcard.0.connected", change: "ne"}, function(obj){ if (obj.state.val === false) { v_Adapter = "vcard"; weiter(v_Adapter); } });
Fazit:
telegram nachricht und Ansage am Tablet
mfg
Dieter
-
Gibt es auch die Möglichkeit "alive" und "connection" von allen installierten Instanzen abzufragen ohne jeden eintragen zu müssen? Dann müsste man das Skript nicht bei jeder neuen Instanz und jeder entfernten Instanz anpassen.
-
Ja mit dem Cacheselector kannst du mehrere IDs gleichzeitig überwachen..
Aber der Cacheselector selektiert nur einmalig bei Skriptstart. Wenn du also eine neue Instanz installierst wird diese nicht überwacht bis du das Skript ein mal neu gestartet hast..
Das kann man umgehen indem man alles in eine Funktion packt und dann z.B. alle 10 Minuten diese Funktion ausführt..
Gruß
-
Könnte man dazu dieses Script umbauen?
So das er statt LOWBAT dann alive und connected abfragt.
Allerdings müsste man auch gewisse Instanzen raus nehmen können. Z.B. das weather-underground. Denn das steht bei alive immer auf false und nur für den kurzen Moment wo er Wetterdaten abfragt geht alive auf true.
Das macht es dann schon wieder schwierig.
-
Hallo zusammen,
ich bin soeben über diesen Thread gestolpert, da ich eine Möglichkeit suche, einige Adapter zu überwachen und mir bei getrennter Verbindung eine Nachricht senden lassen möchte.
Leider bin ich völliger Noob mit Javascript und ich schaffe es zwar, dass das Script läuft, aber ist ein Adapter gelb oder rot, dann bekomme ich im 30-Sekundentakt Meldungen.
Ich möchte deshalb gern eine Zeitsteuerung einfügen und habe dies auch bereits versucht. Leider funktioniert es nicht.
Wäre jemand so nett und würde mir den Fehler bei nachfolgendem Script sagen?:// Adapter noch verbunden, wenn nein dann telegram Nachricht und Ansage am Tablet // Variablen var v_Adapter = ""; function weiter(v_Adapter) { log("Auslöser Adapter " + v_Adapter + " nicht mehr connected !"); //Telegram sendTo('telegram', "Achtung, Achtung! \nDer Adapter "+ v_Adapter +" ist nicht mehr aktiv !"); } // ---------------------------------------------------------------------------------------------------------------------------------------------------- on({id: "system.adapter.admin.0.connected", change: "ne"}, function(obj){ if (obj.state.val === false) { v_Adapter = "Admin"; weiter(v_Adapter); } }); on({id: "system.adapter.cloud.0.connected", change: "ne"}, function(obj){ if (obj.state.val === false) { v_Adapter = "Cloud"; weiter(v_Adapter); } }); on({id: "system.adapter.fritzbox.0.connected", change: "ne"}, function(obj){ if (obj.state.val === false) { v_Adapter = "Fritzbox"; weiter(v_Adapter); } }); on({id: "system.adapter.hm-rega.0.connected", change: "ne"}, function(obj){ if (obj.state.val === false) { v_Adapter = "HM-Rega"; weiter(v_Adapter); } }); on({id: "system.adapter.netatmo.0.connected", change: "ne"}, function(obj){ if (obj.state.val === false) { v_Adapter = "Netatmo"; weiter(v_Adapter); } }); on({id: "system.adapter.alexa.0.connected", change: "ne"}, function(obj){ if (obj.state.val === false) { v_Adapter = "Alexa"; weiter(v_Adapter); } }) schedule('2 * * * *', weiter);
Außerdem wäre es klasse, wenn ich noch irgendwie die Ausgabe an ein Echo-Gerät weitergeben könnte - was müsste ich dafür einfügen?
Über Blockly würde ich es ja gerne machen, aber dort kann ich die Datenpunkte der einzelnen Adapter leider nicht abfragen.Vielen Dank im Voraus
Frank -
Ein Skript, das alle laufenden Adapter überwacht, gibt es unter folgenden Link. Hier kommt dann auch nur eine Meldung.
Ein Umbau zu telegram ist leicht möglich.https://forum.iobroker.net/topic/8779/bei-störung-e-mail-versenden/36
-
Vielen Dank für Deine Hilfe - werde es mal damit versuchen
Das Problem mit dem Schedule ist allerdings auch dort vorhanden... -
@deifel sagte in Benachrichtigung Adapter/Instanzen-Ampel:
Das Problem mit dem Schedule ist allerdings auch dort vorhanden...
In dem von mir verlinkten Skript wird schedule nicht genutzt...