NEWS
Servicemeldungen - All inclusive für Homematic -
-
@Kuddel Was hast Du auskommentiert? Solltest Du die Variable oben auskommentiert haben wundert mich nichts
Such mal das Gerät in ioBroker und zeig mal die Datenpunkte...
Hast Du die Konfig mal angepasst und um zu gucken welche Geräte überwacht werden? Ist das Gerät dabei?
-
@Kuddel Bitte auch mal Konfig zeigen.
-
-
@Kuddel Also fangen wir mal vorne an. Bitte Zeile 14 lesen und dann Zeile 15 konfigurieren.
Zeile 43 kann unmöglich bei Dir stimmen. Also ggf Pushover deaktiveren. Zeile 35
Danach nochmal das log zeigen. Dort sollte jedes Gerät aufgeführt sein. Welche fehlen nun?
Bei dem gezeigten Gerät zeig mal das Object UNREACH_ALRAM. Denn der UNreach wird nicht überwacht weil der nicht viel aussagt. Wichtig in ioBroker sind die Objekte mit ALARM am Ende...
-
-
@Kuddel Das war mir klar und habe ich ja bereits im ersten Post geschrieben. Ohne die Datenpunkte funktioniert mein Script nicht. Ich vermute es leigt am Rega Adapter. Der ist zwar grün funktioniert bei Dir aber trotzdem nicht!? Hast Du evtl Systemvariablen auf der ccu? Wenn Du dort eine änderst siehst Du die Änderung dann in ioBroker?
Du könntest ggf. auch mal beide Instanzen stoppen. Alle Objekte der beiden Instanzen löschen und dann in der Adapter Konfig Geräte neu suchen lassen. Nachdem die Instanzen wieder grün sind sollten die Geräte wieder angelegt sein. Sind dann evtl die ALARM Datenpunkte vorhanden?
-
@cash Instanzen stoppen und DPs löschen hat schonmal was gebracht:
Aber funktioniert noch nicht ganz:
-
@Kuddel Bitte jetzt die javascript Instanz stoppen und neu starten. Dann sollte das Script automatisch auch neu starten und vermutlich deutlich mehr Datenpunkte laut log überwachen? Und hoffentlich auch die Datenpunkte richtig füllen....
-
@cash super. jetzt funkioniert es
javascript.0 2020-03-11 21:50:06.880 info (1908) script.js.java.abfragen.hm_meldungen_neu: Es werden: 232 Datenpunkte überwacht. Derzeit: 1 Servicemeldung(en).
Vielen Dank für die Hilfe
-
@Kuddel Freut mich.
-
Hallo vielen Dank für das Script.
Allerdings habe ich noch das Problem, dass mir keine Meldungen angezeigt werden.
Was habe ich bisher gemacht:- eine neue Instanz javascript.1 angelegt, auf der nur das Script läuft
- die Datenpunkte angelegt
- Unter Skripte ein neues JS angelegt
- in dieses das folgende Script kopiert
Link Text - Im Script selber folgende Anpassungen gemacht:
//Ergebnis in Datenfelder schreiben const write_state = true; //Schreibt die Ergebnisse der Servicemeldungen in Datenfelder. (true = schreiben, false, kein schreiben) //nicht benutzte Felder einfach leer lassen --> var id_IST_XXX = ''; //Müssen selber als Zahl angelegt werden const id_IST_LOWBAT = 'javascript.1.Servicemeldungen.Homematic.Anzahl_LOWBAT'/*Anzahl LOWBAT*/; const id_IST_LOW_BAT = 'javascript.1.Servicemeldungen.Homematic.Anzahl_LOW_BAT'; const id_IST_UNREACH = 'javascript.1.Servicemeldungen.Homematic.Anzahl_UNREACH'/*Anzahl_UNREACH*/; const id_IST_STICKY_UNREACH = 'javascript.1.Servicemeldungen.Homematic.Anzahl_STICKY_UNREACH'/*Anzahl_STICKY_UNREACH*/; const id_IST_CONFIG_PENDING = 'javascript.1.Servicemeldungen.Homematic.Anzahl_CONFIG_PENDING'; const id_IST_UPDATE_PENDING = 'javascript.1.Servicemeldungen.Homematic.Anzahl_UPDATE_PENDING'; const id_IST_DEVICE_IN_BOOTLOADER = 'javascript.1.Servicemeldungen.Homematic.Anzahl_DEVICE_IN_BOOTLOADER'; const id_IST_ERROR = 'javascript.1.Servicemeldungen.Homematic.Anzahl_ERROR'; const id_IST_ERROR_NON_FLAT_POSITIONING = 'javascript.1.Servicemeldungen.Homematic.Anzahl_ERROR_NON_FLAT_POSITIONING'; const id_IST_ERROR_CODE = 'javascript.1.Servicemeldungen.Homematic.Anzahl_ERROR_CODE'; const id_IST_FAULT_REPORTING = 'javascript.1.Servicemeldungen.Homematic.Anzahl_FAULT_REPORTING'; const id_IST_SABOTAGE = 'javascript.1.Servicemeldungen.Homematic.Anzahl_SABOTAGE'; const id_IST_Gesamt = "javascript.1.Servicemeldungen.Homematic.Anzahl_GESAMT"/*Anzahl_GESAMT*/;
- Einen Datenpunkt "String" erstellt und diesem im Script eingetragen
//Variablen für Servicemeldung in Objekt schreiben // Wenn einer Meldung auftritt wird diese in ein Textfeld geschrieben. z. B. für vis const write_message = true; // true schreibt beim auftreten einer Servicemeldung die Serviemeldung in ein Objekt const id_Text_Servicemeldung = 'javascript.1.Servicemeldungen.Homematic.Text_SERVICE'; // Objekt wo die Servicemeldung hingeschrieben werden soll (String)
- Das Script ausgeführt und in der Homematic eine Servicemeldung provoziert
- Ein Widget-String erstellt
- Im Log stehen folgende Einträge:
javascript.1 2020-03-12 10:23:51.575 info (2231) script.js.common.CCU_Servicemeldungen_JS1: registered 345 subscriptions and 0 schedules javascript.1 2020-03-12 10:23:51.575 info (2231) script.js.common.CCU_Servicemeldungen_JS1: [DEBUG] Derzeitige keine Servicemeldungen. Ergebnis in Objekt geschrieben javascript.1 2020-03-12 10:23:51.574 info (2231) script.js.common.CCU_Servicemeldungen_JS1: logging: true debugging: true find_bug: true show_each_device: false autoAck: true observation: true ohnetime: true CUXD: 9 javascript.1 2020-03-12 10:23:51.574 info (2231) script.js.common.CCU_Servicemeldungen_JS1: 345 Datenpunkte werden insgesamt vom Script script.js.common.CCU_Servicemeldungen_JS1 (Version: 1.71) überwacht. Instance: 1 javascript.1 2020-03-12 10:23:51.573 info (2231) script.js.common.CCU_Servicemeldungen_JS1: Es gibt: 43 Geräte mit dem Datenpunkt UPDATE_PENDING. javascript.1 2020-03-12 10:23:51.564 info (2231) script.js.common.CCU_Servicemeldungen_JS1: Es gibt: 62 Geräte mit dem Datenpunkt CONFIG_PENDING. javascript.1 2020-03-12 10:23:51.553 info (2231) script.js.common.CCU_Servicemeldungen_JS1: Es gibt: 43 Geräte mit dem Datenpunkt DEVICE_IN_BOOTLOADER. javascript.1 2020-03-12 10:23:51.544 info (2231) script.js.common.CCU_Servicemeldungen_JS1: Es gibt: 11 Geräte mit dem Datenpunkt FAULT_REPORTING. javascript.1 2020-03-12 10:23:51.540 info (2231) script.js.common.CCU_Servicemeldungen_JS1: Keine Geräte gefunden mit dem Datenpunkt ERROR_NON_FLAT_POSITIONING. javascript.1 2020-03-12 10:23:51.540 info (2231) script.js.common.CCU_Servicemeldungen_JS1: Es gibt: 3 Geräte mit dem Datenpunkt ERROR. javascript.1 2020-03-12 10:23:51.538 info (2231) script.js.common.CCU_Servicemeldungen_JS1: Keine Geräte gefunden mit dem Datenpunkt SABOTAGE. javascript.1 2020-03-12 10:23:51.537 info (2231) script.js.common.CCU_Servicemeldungen_JS1: Es gibt: 62 Geräte mit dem Datenpunkt STICKY_UNREACH. javascript.1 2020-03-12 10:23:51.524 info (2231) script.js.common.CCU_Servicemeldungen_JS1: Es gibt: 62 Geräte mit dem Datenpunkt UNREACH. javascript.1 2020-03-12 10:23:51.509 info (2231) script.js.common.CCU_Servicemeldungen_JS1: Keine Geräte gefunden mit dem Datenpunkt LOW_BAT. javascript.1 2020-03-12 10:23:51.509 info (2231) script.js.common.CCU_Servicemeldungen_JS1: Es gibt: 59 Geräte mit dem Datenpunkt LOWBAT. javascript.1 2020-03-12 10:23:51.491 info (2231) script.js.common.CCU_Servicemeldungen_JS1: Script manuell gestartet. log_manuell ist deshalb true. javascript.1 2020-03-12 10:23:47.764 info (2231) Start javascript script.js.common.CCU_Servicemeldungen_JS1 javascript.1 2020-03-12 10:23:44.164 info (2231) Stop script script.js.common.CCU_Servicemeldungen_JS1
-
wird denn die Servicemeldung an den Rega Adapter weiter gegeben?
hm-rega.0.alarms hm-rega.0.maintenance
meistens liegt es dann daran, dass die Meldung nicht in iobroker ankommt. Rega Adapter schon mal neu gestartet?
-
@Dominik-F sagte in Servicemeldungen - All inclusive für Homematic -:
wird denn die Servicemeldung an den Rega Adapter weiter gegeben?
hm-rega.0.alarms hm-rega.0.maintenance
meistens liegt es dann daran, dass die Meldung nicht in iobroker ankommt. Rega Adapter schon mal neu gestartet?
Neu gestartet hatte ich bereits - auch zur Sicherheit ein Reboot der kpl IoBroker VM.
Hier sind die Alarme vorhanden: -
@TG70 was sagt der Datenpunkt UNREACH_ALRAM von dem Gerät?
-
@cash sagte in Servicemeldungen - All inclusive für Homematic -:
@TG70 was sagt der Datenpunkt UNREACH_ALRAM von dem Gerät?
Wert ist "true"
Sehe aber gerade, dass ist mein einziges IP Gerät, welches über hm-rpc.1 läuft.
Probiere zum Test mal ein anderes HM Gerät.
Ergebnis mit einem HM Zwischenstecker:
- Fehlermeldung Raspberrymatic wird sofort angezeigt
- IoBroker Script keine Fehlermeldung
Habe auch alle Adapter neu gestartet:
- hm-rega.0
- hm-rpc.0
- hm-rpc.1
- javascript.1
Im Log wird jetzt komoischerweise folgendes Fehlerhaft angezeigt:
javascript.1 2020-03-12 11:07:01.844 error (5689) at Script.runInContext (vm.js:133:20) javascript.1 2020-03-12 11:07:01.844 error (5689) at script.js.common.CCU_Servicemeldungen_JS1:2163:5 javascript.1 2020-03-12 11:07:01.843 error (5689) at Servicemeldung (script.js.common.CCU_Servicemeldungen_JS1:918:21) javascript.1 2020-03-12 11:07:01.843 error (5689) at Object.result.each (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:846:29) javascript.1 2020-03-12 11:07:01.842 error (5689) at script.js.common.CCU_Servicemeldungen_JS1:936:41 javascript.1 2020-03-12 11:07:01.842 error (5689) ReferenceError: no_observation is not defined javascript.1 2020-03-12 11:07:01.841 error (5689) ^ javascript.1 2020-03-12 11:07:01.841 error (5689) if (status === 1 && no_observation.search(id_name) != -1) { javascript.1 2020-03-12 11:07:01.840 error (5689) script.js.common.CCU_Servicemeldungen_JS1: script.js.common.CCU_Servicemeldungen_JS1:936 javascript.1 2020-03-12 11:07:01.832 info (5689) script.js.common.CCU_Servicemeldungen_JS1: Keine Geräte gefunden mit dem Datenpunkt LOW_BAT. javascript.1 2020-03-12 11:07:01.829 info (5689) script.js.common.CCU_Servicemeldungen_JS1: Es gibt: 59 Geräte mit dem Datenpunkt LOWBAT. javascript.1 2020-03-12 11:07:01.806 info (5689) script.js.common.CCU_Servicemeldungen_JS1: Script manuell gestartet. log_manuell ist deshalb true. javascript.1 2020-03-12 11:06:56.830 info (5689) Start javascript script.js.common.CCU_Servicemeldungen_JS1 javascript.1 2020-03-12 11:06:56.431 info (5689) received all objects javascript.1 2020-03-12 11:06:54.827 info (5689) received all states
-
Habe den "const show_each_device" auf true gesetzt.
Aktuell hatte sich wohl ein Fehler eingeschlichen - Script nochmal von Notepad++
rüber kopiert und es funktioniert mit dem HM-Adapter.
Danke @Röstkartoffel für deinen TippTeste gleich nochmal den IP Aktor.
-
@TG70 Der Wert kann nicht true sein. Es gibt dort 0 oder 1! Wichtig gefragt war nach UNREACH_ALARM das ALARM ist wichtig!!
Unter einer Instanz darf nur HM oder HMIP sein. Nie gemischt. Deshalb muss man 2 Instanzen anlegen wenn man beide Geräte Kategorien hat. Wenn es bei Dir anders ist, ist es ein Fehler in Deiner Installation.
Also ggf. Instanzen stoppen. Objekte löschen und neu starten.Der Fehler ReferenzError no_observation ist not defined sollte davon kommen das Du nicht das komplette Script verwendest?
-
@TG70
Man kann HM und HMIP Geräte unterscheiden mit der LOW_BAT Meldung:
HM zeigt LOWBAT und HMIP zeigt LOW_BAT -
So wieder da - also ich habe HM unter hm-rpc.0 und die HMIP unter hm-rpc.1 am laufen.
Das Script läuft auf einer extra javascript.1 Instanz.Der Test mit einem HM-Gerät ist gerade "OK"
Nach einem Neustart aller Adaper, kommt aktuell noch eine Fehlermeldung in Bezug auf das HMIP Gerät
hm-rpc.1 2020-03-12 11:48:38.645 error (5640) Error: XML-RPC fault: Generic error (UNREACH) hm-rpc.1 2020-03-12 11:48:38.644 error (5640) xmlrpc -> setValue ["3","LEVEL",1] FLOAT
-
Du hast ein Problem mit dem hm-rpc.1
Hast du raspberrymatic?