NEWS
UNSOLVED Script Xiaomi Battery leer ?
-
-
@Glasfaser
Muss mich entschuldigen. Ich habe mich im Gerät geirrt. Du hattest völlig recht:Scheint als hat de Fernbedienung keinen Empfang und sendet daher weder true noch false.
-
Richtig … kein Empfang ….
-
@passuff sagte in Script Xiaomi Battery leer ?:
Darüber hinaus funktioniert die Bedingung ( == true) nicht. Es werden schlussendlich alle Homematicgeräte mit LOWBAT gelistet, auch die die false sind...
Das erschließt sich mir allerdings immer noch nicht...
-
Kann leider nicht testen , da ich gerade keine leere Batterie habe , aber dein Script läuft ohne Fehler bei mir im LOG .
-
Ich habe auch keine leere Batterie. Dennoch habe ich im erzeugten Datenpunkt alle HM Geräte gelistet..
-
Habe mal den Wert Lowbat händisch auf true gesetzt .
Und die gleiche Fehlermeldungen wie bei Dir !!! -
@passuff sagte:
warn getState "hm-rpc.0.PEQ0508233.0.LOWBAT" not found (3) states[id]=null
Anscheinend hat das Objekt noch keinen Zustand ? Dann gib mal manuell den Wert false ein.
-
Das führt lediglich dazu, dass die Fehlermeldungen verschwinden. Die Bedingung wird immer noch falsch ausgewertet bzw alle Sensoren werden als lowbat = true erkannt.
-
@passuff sagte:
alle Sensoren werden als lowbat = true erkannt.
Wie sieht das Log aus, wenn in Zeile 10 ein zusätzliches Log eingefügt wird ?
batt.each(function (id, i) { log(id + ': ' + getState(id).val);
-
@paul53 sagte in Script Xiaomi Battery leer ?:
log(id + ': ' + getState(id).val);
"23:57:50.014 info javascript.0 script.js.common.Batteriestatus.Batteriestatus_Homematic: hm-rpc.0.OEQ0708741.0.LOWBAT: true"
-
@passuff
Es liefern zwar viele, aber nicht alle LOWBAT true. Es liegt nicht am Skript. Hast Du mal die JS-Instanz neu gestartet ? -
@paul53
Js, iobroker und auch die VM... -
@passuff
Und trotzdem weicht die Log-Ausgabe so stark von den angezeigten Werten im Reiter "Objekte" (auch in der Statusansicht) ab ? Dann bin ich mit meinem Latein am Ende -
@paul53 genau so ist es.
Ich schau.mir das heute Abend noch mal an. Ich glaube es konnte am nodejs update liegen. (10.16.1) -
@passuff sagte:
Was ist "hm-rpc.0.OEQ0672249" für ein Gerät, das in den Kanälen 0 bis 5 ein LOWBAT hat ? Hat es wirklich mehrere Batterien ?
Außerdem gibt es mehrere Geräte mit Kanal 0.LOWBAT = true und Kanal 1.LOWBAT = false. Welche Geräte sind das ? -
@paul53 sagte in Script Xiaomi Battery leer ?:
@passuff sagte:
Was ist "hm-rpc.0.OEQ0672249" für ein Gerät, das in den Kanälen 0 bis 5 ein LOWBAT hat ? Hat es wirklich mehrere Batterien ?
Nein. Das ist ein Fehler im RPC. Hat mich aber nie gestört. Es ist ein Differenztemperatursensor HM-WDS30-OT2-SMAußerdem gibt es mehrere Geräte mit Kanal 0.LOWBAT = true und Kanal 1.LOWBAT = false. Welche Geräte sind das ?
HM-Sec-SCo
Auch diese haben zwei LOWBAT DP. Beide stehen auf false.
Hier vermute ich ein Bug in dem neuen Node, das ist mir vorher nicht aufgefallen. Andere Erklärung habe ich dafür aktuell nicht.OEQ0860057 Heizkörperthermostat steht tatsächlich auf true.
OEQ1359645, OEQ1360423 sind schaltbare Steckdosen. Diese haben (warum auch immer ) einen LOWBAT DP, dieser steht aber auf false.Bei allen restlichen Geräten steht LOWBAT auf false.
Ich mache nun erst mal einen Downgrade vom NodeJS -
Nach dem downgrade von NodeJS auf 10.16.0 funktioniert wieder alles:
EDIT: Nach einem erneuten Update mit rest eller module in nodes_modules funktioniert es jetzt. NPM Rebuild alleine reichte wohl nicht.
Jetzt funktioniert wieder alles so wie es soll und ich bin auf nidejs 10.16.1 -
@lesiflo
hallo, wollte mir das nachbauen. Jedoch was ist genau mit "steuere Alarmliste" und "steuere Alarme" gemeint.
Was muss ich machen um das auswählen zu können? Ich verstehe den Zweck nicht was damit gemeint wird und wie das funktioniert.
Und kann man sich das Ergebniss auch als E Mail schicken lassen? Wo käme der Baustein dann hin.
Das Bild meine ich:
https://forum.iobroker.net/assets/uploads/files/1550232996624-batterien.jpg