NEWS
Servicemeldungen - All inclusive für Homematic -
-
@cash Ich glaube dir das
Von der Zeit her, hätte mittlerweile etwas versendet werden müssen.Muss ich im Script noch irgendetwas für den Nachrichtenversand per Telegram konfigurieren oder reicht sendtelegram auf true und Angabe des Users?
-
@funkytown Die Einstellungen reichen aber wieso meinst Du das es eine Meldung hätte geben müssen? Ein Fensterkontakt sendet nach meiner Meinung immer wenn ein Fenster geöffnet wird ansonsten nur alle 24 Stunden. Sprich wenn Du die Batteiren entfernst kann es bis zu 24 Stunden dauern bis es eine Meldung gibt.
-
@cash Okay, dann habe ich was falsch verstanden. Ich ging davon aus, dass wenn in der CCU3 z.B. zu einem HMIP Tür/Fensterkontakt eine Servicemeldung "Sabotage" vorhanden ist, dies dann auch sofort per Telegram gemeldet wird.
-
@funkytown Wenn die Meldung in der ccu ist sollte es auch per Script gemeldet werden. Aber Dein Log ist von 18:50. Die Servicemeldungen sind aber davor aufgetreten? Das Script muss schon laufen und erst neue Meldungen danach werden gemeldet...
Vorhandene Meldungen werden beim Scriptstart nur gezählt.
-
@cash Ich finde deine Reaktionszeit super und ist nicht Alltäglich! Danke dafür.
Ich habe jetzt noch einmal bei aktiven Script eine weitere Sabotage ausgelöst. Eine Meldung erhalte ich leider wieder nicht.
-
@funkytown Bitte mal debug false. Und nochmal testen.
Nur zur Sicherheit: Das Script ist aktiv (grün). Danach löst Du eine Sabotage aus. Danach im log gucken was passiert. Dort sollte es nur eine Zeile geben.
GGf wäre es gut wenn Du vorher alle Servicemeldungen in der ccu bestätigst.
-
@funkytown said in Servicemeldungen - All inclusive für Homematic -:
20:27:59.321
Wenn ich das log richtig deute hast Du das Script um 20:27:59.321 getstartet. Die Servicemeldung hast Du 20 Sekunden vorher erzeugt?
-
Passend dazu kam bei mir gerade eine Push an:
pushover.0 2020-01-20 21:12:23.869 info Send pushover notification: {"device":"TPhone","message":"Wohnzimmer Schranklicht (OEQ0248186) - <font color=\"red\">Kommunikation gestört.</font>\nWohnzimmer Schranklicht (OEQ0248186) - <font color= javascript.0 2020-01-20 21:12:23.809 info script.js.Serverraum.Servicemeldungen: Neue Servicemeldung: Wohnzimmer Schranklicht (OEQ0248186) --- HM-ES-PMSw1-Pl-DN-R1--- Typ: UNREACH_ALARM --- Status: 1 Kommunikation gestört javascript.0 2020-01-20 21:12:23.751 info script.js.Serverraum.Servicemeldungen: Neue Servicemeldung: Wohnzimmer Schranklicht (OEQ0248186) --- HM-ES-PMSw1-Pl-DN-R1--- Typ: STICKY_UNREACH_ALARM --- Status: 1 Kommunikation gestört host.iobroker_v2_19-05-19 2020-01-20 21:02:07.278 info instance system.adapter.ical.0 terminated with code 0 (OK) host.iobroker_v2_19-05-19 2020-01-20 21:02:00.021 info instance system.adapter.ical.0 started with pid 5721
Die untersten beiden Einträge gehören nicht zum Script aber so erkennt man halt das das Script einfach läuft und wenn etwas passiert entsprechend reagiert.
-
@cash said in Servicemeldungen - All inclusive für Homematic -:
@funkytown said in Servicemeldungen - All inclusive für Homematic -:
20:27:59.321
Wenn ich das log richtig deute hast Du das Script um 20:27:59.321 getstartet. Die Servicemeldung hast Du 20 Sekunden vorher erzeugt?
Nein, das Script lief zu diesem Zeitpunkt mindestens 1 Std. durch.
Ich habe um 21:08Uhr lediglich die Batterien in die zwei Fensterkontakte eingelegt und folgende Log Einträge wurden geschrieben. Ich werde jetzt alles von vorne noch einmal testen und dabei debug=false einstellen.
[Edit]
Hier das Ergebnis nachdem ich nun neu gestartet und dann die Sabotage ausgelöst habe:Leider wieder keine Nachricht!
-
@funkytown said in Servicemeldungen - All inclusive für Homematic -:
javascript.0 2020-01-20 21:07:59.192 info (13753) script.js.common.Technik.Servicemeldungen_Homematic: Servicemeldung aufgehoben: Fenster-Wohnzimmer-Balkon-HmIP-SWDO-I (00109A498A06FC) --- HmIP
Es kommt soviel im log weil Du debug auf true stehen hast was eigentlich kein Sinn macht...
Wichtig ist hier: Du hast die Batterien eingelegt und danach lief das Script und zeigte auch Ordnungsgemäß:
javascript.0 2020-01-20 21:07:59.192 info (13753) script.js.common.Technik.Servicemeldungen_Homematic: Servicemeldung aufgehoben: Fenster-Wohnzimmer-Balkon-HmIP-SWDO-I (00109A498A06FC) --- HmIP
Also er erkennt das die Meldung aufgehoben wurde.
-
@cash Ich habe jetzt mal debug auf false gestellt und erneut eine Sabotage ausgelöst. Hier der aufgezeichnete Log. Hätte da nicht ein Telegram rausgehen müssen?
-
@funkytown Läuft denn der Telegram Adapter bei Dir?
Im Log ist zu erkennen wie Dui das Script startest und etwa eine Minute später gibt es die Sabotagemeldung. Also alles wie es sein soll. Danach sollte dann die Telegram Nachricht kommen.
Ich nutze Telegram nicht aber da einige es nutzen sollte es im Script auch funktionieren.
Ich schicke Dir Morgen mal ein Testscript nur für. Telegram. Vielleicht kommen wir dann weiter. Ich gehe davon aus das mit dem Scriptscript auch keine Nachricht bei Dir ankommt. Dann sollte das Problem also beim Telegram Adapter zu suchen sein. Aber mal abwarten.
-
@cash Okay, sende mir das Script.
Ich habe ein Script am laufen was mir permanent Statusänderungen via Telegram zusendet. Während meiner Tests seit heute Mittag mit diesem Script hat mir Telegram vom ioBroker aus mindestens 50 Statusmeldungen gesendet. Telegram läuft und funktioniert via ioBroker einwandfrei.
Wir bekommen das sicherlich zum laufen und nochmal Danke für deine super Unterstützung -
@cash
Ich hatte die Version 1.61 im Einsatz. Nach dem heutigen Javascript Adapter Update ist das Script nicht mehr gelaufen und ich habe die aktuelle Version 1.69 versucht. Leider funktioniert das auch nicht mehr. Folgendes steht im Log:4.2.2020, 18:52:00.622 [info ]: javascript.0 (27348) Start javascript script.js.common.HomeMatic.HM-Servicemeldungen-01 4.2.2020, 18:52:00.672 [info ]: javascript.0 (27348) script.js.common.HomeMatic.HM-Servicemeldungen-01: Script manuell gestartet. log_manuell ist deshalb true. 4.2.2020, 18:52:00.672 [info ]: javascript.0 (27348) script.js.common.HomeMatic.HM-Servicemeldungen-01: Es gibt: 6 Geräte mit dem Datenpunkt LOWBAT. 4.2.2020, 18:52:00.672 [info ]: javascript.0 (27348) script.js.common.HomeMatic.HM-Servicemeldungen-01: Keine Geräte gefunden mit dem Datenpunkt LOW_BAT. 4.2.2020, 18:52:00.673 [error]: javascript.0 (27348) script.js.common.HomeMatic.HM-Servicemeldungen-01: script.js.common.HomeMatic.HM-Servicemeldungen-01:901 4.2.2020, 18:52:00.673 [error]: javascript.0 (27348) at script.js.common.HomeMatic.HM-Servicemeldungen-01:901:74 4.2.2020, 18:52:00.673 [error]: javascript.0 (27348) at Servicemeldung (script.js.common.HomeMatic.HM-Servicemeldungen-01:900:21) 4.2.2020, 18:52:00.673 [error]: javascript.0 (27348) at script.js.common.HomeMatic.HM-Servicemeldungen-01:2121:5 4.2.2020, 18:52:46.594 [info ]: javascript.0 (27348) Stop script script.js.common.HomeMatic.HM-Servicemeldungen-01
weißt du was ich hier tun kann?
Danke und beste Grüße
Werner -
Du hast ein Problem mit einen unreach Datenpunkt. Was benutzt Du? Cuxd? In derConfig eingetragen? HM-IP?
Ggf. Hilft es die Instanzen zu stoppen. Alle Datenpunkte zu löschen und die Adapter wieder zu starten.
-
@cash
Ja, Cuxd, kein HM-IP:
//Instanz Cuxd ausschließen. Instanz als Zahl z. B. '1' oder bei Nichtnutzung hohe Nr eintragen z. B. '9'
const CUXD = '1';
Ich habe alle Datenpunkte gelöscht und die Instanz neu gestartet, leider gleicher Fehler.
-
@schmuh zeig mal alle Datenpunkte mit unreach_Alarm und wie sie gefüllt sind bzw wie sie heißen.
-
@cash
ich habe nochmal alle DP der Instanzen hm-rpc.0 und hm-rpc.1 gelöscht und die Geräte einmalig neu eingelesen. Jetzt sieht es so aus:javascript.0 2020-02-05 08:43:33.129 error (27348) at Script.runInContext (vm.js:133:20) javascript.0 2020-02-05 08:43:33.129 error (27348) at script.js.common.HomeMatic.HM-Servicemeldungen-01:2121:5 javascript.0 2020-02-05 08:43:33.128 error (27348) at Servicemeldung (script.js.common.HomeMatic.HM-Servicemeldungen-01:900:21) javascript.0 2020-02-05 08:43:33.128 error (27348) at Object.result.each (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:846:29) javascript.0 2020-02-05 08:43:33.128 error (27348) at script.js.common.HomeMatic.HM-Servicemeldungen-01:901:74 javascript.0 2020-02-05 08:43:33.128 error (27348) TypeError: Cannot read property 'common' of null javascript.0 2020-02-05 08:43:33.128 error (27348) ^ javascript.0 2020-02-05 08:43:33.128 error (27348) common_name = getObject(id.substring(0, id.lastIndexOf('.') - 2)).common.name; javascript.0 2020-02-05 08:43:33.128 error (27348) script.js.common.HomeMatic.HM-Servicemeldungen-01: script.js.common.HomeMatic.HM-Servicemeldungen-01:901 javascript.0 2020-02-05 08:43:33.128 warn (27348) Object "hm-rpc.0.CUX9002001" does not exist javascript.0 2020-02-05 08:43:33.128 info (27348) script.js.common.HomeMatic.HM-Servicemeldungen-01: Keine Geräte gefunden mit dem Datenpunkt LOW_BAT. javascript.0 2020-02-05 08:43:33.128 info (27348) script.js.common.HomeMatic.HM-Servicemeldungen-01: Es gibt: 6 Geräte mit dem Datenpunkt LOWBAT. javascript.0 2020-02-05 08:43:33.127 info (27348) script.js.common.HomeMatic.HM-Servicemeldungen-01: Script manuell gestartet. log_manuell ist deshalb true. javascript.0 2020-02-05 08:43:33.062 info (27348) Start javascript script.js.common.HomeMatic.HM-Servicemeldungen-01
Beste Grüße
Werner -
@cash
Hallo, eine kurze Frage: Von welchem Type sind die DPs:const id_IST_LOWBAT = 'Systemvariable.0.Servicemeldungen.Anzahl_LOWBAT'/*Anzahl LOWBAT*/; const id_IST_LOW_BAT = ''; const id_IST_UNREACH = 'Systemvariable.0.Servicemeldungen.Anzahl_UNREACH'/*Anzahl_UNREACH*/; const id_IST_STICKY_UNREACH = 'Systemvariable.0.Servicemeldungen.Anzahl_STICKY_UNREACH'/*Anzahl_STICKY_UNREACH*/; const id_IST_CONFIG_PENDING = ''; const id_IST_UPDATE_PENDING = ''; const id_IST_DEVICE_IN_BOOTLOADER = ''; const id_IST_ERROR = ''; const id_IST_ERROR_NON_FLAT_POSITIONING = ''; const id_IST_ERROR_CODE = ''; const id_IST_FAULT_REPORTING = ''; const id_IST_SABOTAGE = ''; const id_IST_Gesamt = "Systemvariable.0.Servicemeldungen.Anzahl_GESAMT"/*Anzahl_GESAMT*/;
Das Script läuft bei mir auf einen Fehler beim Schreiben in die DP.
-
Du musst Datenpunkte vom Typ "number" erstellen.