NEWS
:0.LOWBAT funktioniert nicht mehr
-
Hallo,
früher hat es funktioniert, wenn ich bei den Heizkörper-Thermostaten den LOWBAT Status abgefragt habe. Seit ca. 14 Tagen funktioniert das seltsamerweise nicht mehr. Ich habe danach das Skript bei mir erweitert und es wird der Status undefined übermittelt. Wie es aussieht schafft es schon die CCU2 nicht mehr irgendeine Art von Aktualisierung auf Channel 0 durchzuführen, jedenfalls taucht das in deren Log nicht auf. Ich habe die aktuellste Firmware auf der CCU2, der Fehler trat aber schon vor dem letzten Update auf. Komischerweise trat der Fehler auf, als an der CCU2 bzw. unter ioBroker schon seit mehreren Tagen nichts mehr geändert wurde.
Anbei die Ausgabe meines Skriptes
20:57:00.477 [info] javascript.0 script.js.Allgemein.LowBattery: Geräte Nr. 2: Drehgriff Bad:0.LOWBAT: undefined 20:57:00.477 [info] javascript.0 script.js.Allgemein.LowBattery: Geräte Nr. 3: Drehgriff Bad:1.LOWBAT: false 20:57:00.477 [info] javascript.0 script.js.Allgemein.LowBattery: Geräte Nr. 4: Thermostat Bad:0.LOWBAT: undefined 20:57:00.477 [info] javascript.0 script.js.Allgemein.LowBattery: Geräte Nr. 0: Thermostat Bad:4.BATTERY_STATE: 2.9V
Funktioniert bei Euch noch der Channel 0?
-
Hallo GerdSo,
ich habe ähnliche Unregelmäßigkeiten beim UNREACH Skript bemerkt. Ich habe daher das Skript erweitert. Es sucht nun nach 'undefined'. Ist ja analog zum LOWBAT-Skript
Hier die geänderte FUnktion:
cacheSelectorUNREACH.each(function (id, i) { // Schleife für jedes gefundenen Element *.UNREACH var status = getState(id).val; // Zustand *.UNREACH abfragen (jedes Element) var obj = getObject(id); var objname = getObject(id).common.name; if (typeof objname !== undefined && objname === undefined && status === undefined) { var devicename = objname.substring(0, objname.indexOf('.UNREACH')); //.UNREACH aus Text entfernen if (status) { // wenn Zustand = true, dann wird die Anzahl der Geräte hochgezählt ++anzahlUNREACH; textUNREACH.push(devicename); // Zu Array hinzufügen } log("Geräte Nr. " + i + ": " + getObject(id).common.name + ": " + status); ++moeglicheUNREACH; // Zählt die Anzahl der vorhandenen Geräte unabhängig vom Status (ausser undefined) } else log('undefined-Fehler in Systemmeldungen UNREACH (Gerät: ' + getObject(id).common.name + ')', 'warn'); });
Gruß
Pix
-
Hallo pix,
Tritt dies beim initialen Einlesen der Werte nach einem Neustart des Adapters oder auch bei Änderungen auf?
Ich hab einen kleinen Fix als pull- request für den hm-rega adapter auf github.com eingestellt. Vielleicht hilft der auch hier.
Gesendet von meinem SM-G900F mit Tapatalk
-
Hallo pix,
habe jetzt bei mir Dein UNREACH implementiert und alle :0 Kanäle werden als UNREACH mit warn-Logging gemeldet. Finde ich irgendwie komisch, da ja früher die Kanäle funktioniert haben.
Viele Grüße Gerd.