NEWS
Skript LOWBAT
-
@deifel sagte in Skript LOWBAT:
at Object.<anonymous>
da ist ein Object leer oder das Object hat den unterpunkt nicht bzw. dieser ist null
oder du läufts aus der Schleife... wie viele objecte erwartest du -
@arteck said in Skript LOWBAT:
@deifel sagte in Skript LOWBAT:
at Object.<anonymous>
da ist ein Object leer oder das Object hat den unterpunkt nicht bzw. dieser ist null
Danke für Deine Hilfe.
Kannst Du mir evtl. sagen, wie ich dieses Objekt herausfinde bzw. das Problem beheben kann? -
@deifel was kommt den danach
LED Bild Pavillion
für ein Gerät.. der knallt ja im 84 durchlauf
lass dir mal die liste ausgeben
var cacheSelectorLOWBAT = $('channel[state.id=*0.LOWBAT]'); log.console('liste->>>>>>>>' + JSON.stringify(cacheSelectorLOWBAT));
-
@arteck said in Skript LOWBAT:
@deifel was kommt den danach
LED Bild Pavillion
für ein Gerät.. der knallt ja im 84 durchlauf
lass dir mal die liste ausgeben
var cacheSelectorLOWBAT = $('channel[state.id=*0.LOWBAT]'); log.console('liste->>>>>>>>' + JSON.stringify(cacheSelectorLOWBAT));
Danke! Und sorry für die Noob-Frage:
Wo baue ichvar cacheSelectorLOWBAT = $('channel[state.id=*0.LOWBAT]'); log.console('liste->>>>>>>>' + JSON.stringify(cacheSelectorLOWBAT));
das ein und was muss ich ergänzen, damit ich ne Liste bekomme? Habs als separates Script und im bestehenden versucht.
Sorry - ich bin nicht so tief in der Materie drin, lerne aber täglich dazu;) -
@deifel Erstelle ein Test-Skript, das in der Logausgabe die Nummer und ID ausgibt:
$('channel[state.id=*0.LOWBAT]').each(function(id, i) { if(i > 82) log(i + ': ' + id); });
-
@paul53 said in Skript LOWBAT:
@deifel Erstelle ein Test-Skript, das in der Logausgabe die Nummer und ID ausgibt:
$('channel[state.id=*0.LOWBAT]').each(function(id, i) { if(i > 82) log(i + ': ' + id); });
Hat funktioniert, danke!
Habe jetzt zwar die Seriennummer des Gerätes - aber das Gerät gibt es bei mir gar nicht...!?
Gabs evtl. mal - sprich vermutlich eine Leiche?
Wie bekomme ich das jetzt raus? Finde es weder unter Homematic, noch bei Objekten in IOBroker... -
Ich habe das Gerät jetzt manuell unter Objekte bei der Funktion "Batteriebetrieb" rausgenommen. Dort stand es drin.
Jetzt läuft das Script durch. Am Schluss erscheinen Warnmeldungen für die CUXD-Geräte, obwohl diese nicht im Gewerk "Batteriebetrieb" sind.
Ist diese Warnmeldung korrekt? -
@deifel sagte:
obwohl diese nicht im Gewerk "Batteriebetrieb" sind.
Das Gewerk wird in Deinem $Selector gar nicht ausgewertet. Gibt es unter CUxD Datenpunkte mit "LOWBAT" ?
-
Nein, unter meinen 5 CUXD-Geräten gibt es keinen LowBat Datenpunkt.
Warnmeldungen erscheinen aber genau für die 5 Geräte im Log. -
-
10:30:00.016 warn javascript.0 (28564) at script.js.common.Lowbat:20:10 10:30:00.016 warn javascript.0 (28564) at countLowbat (script.js.common.Lowbat:18:24) 10:30:00.016 warn javascript.0 (28564) at Object.<anonymous> (script.js.common.Lowbat:46:4) 10:30:00.017 warn javascript.0 (28564) at script.js.common.Lowbat:21:19 10:30:00.017 warn javascript.0 (28564) at countLowbat (script.js.common.Lowbat:18:24) 10:30:00.017 warn javascript.0 (28564) at Object.<anonymous> (script.js.common.Lowbat:46:4) 10:30:00.018 info javascript.0 (28564) script.js.common.Lowbat: Geräte Nr. 101: undefined: null 10:30:00.018 warn javascript.0 (28564) at script.js.common.Lowbat:20:10 10:30:00.018 warn javascript.0 (28564) at countLowbat (script.js.common.Lowbat:18:24) 10:30:00.018 warn javascript.0 (28564) at Object.<anonymous> (script.js.common.Lowbat:46:4) 10:30:00.019 warn javascript.0 (28564) at script.js.common.Lowbat:21:19 10:30:00.019 warn javascript.0 (28564) at countLowbat (script.js.common.Lowbat:18:24) 10:30:00.019 warn javascript.0 (28564) at Object.<anonymous> (script.js.common.Lowbat:46:4) 10:30:00.020 info javascript.0 (28564) script.js.common.Lowbat: Geräte Nr. 102: undefined: null 10:30:00.021 warn javascript.0 (28564) at script.js.common.Lowbat:20:10 10:30:00.021 warn javascript.0 (28564) at countLowbat (script.js.common.Lowbat:18:24) 10:30:00.021 warn javascript.0 (28564) at Object.<anonymous> (script.js.common.Lowbat:46:4) 10:30:00.022 warn javascript.0 (28564) at script.js.common.Lowbat:21:19 10:30:00.022 warn javascript.0 (28564) at countLowbat (script.js.common.Lowbat:18:24) 10:30:00.022 warn javascript.0 (28564) at Object.<anonymous> (script.js.common.Lowbat:46:4) 10:30:00.023 info javascript.0 (28564) script.js.common.Lowbat: Geräte Nr. 103: undefined: null 10:30:00.023 warn javascript.0 (28564) at script.js.common.Lowbat:20:10 10:30:00.023 warn javascript.0 (28564) at countLowbat (script.js.common.Lowbat:18:24) 10:30:00.023 warn javascript.0 (28564) at Object.<anonymous> (script.js.common.Lowbat:46:4) 10:30:00.024 warn javascript.0 (28564) at script.js.common.Lowbat:21:19 10:30:00.024 warn javascript.0 (28564) at countLowbat (script.js.common.Lowbat:18:24) 10:30:00.024 warn javascript.0 (28564) at Object.<anonymous> (script.js.common.Lowbat:46:4) 10:30:00.024 info javascript.0 (28564) script.js.common.Lowbat: Geräte Nr. 104: undefined: null 10:30:00.025 warn javascript.0 (28564) at script.js.common.Lowbat:20:10 10:30:00.025 warn javascript.0 (28564) at countLowbat (script.js.common.Lowbat:18:24) 10:30:00.025 warn javascript.0 (28564) at Object.<anonymous> (script.js.common.Lowbat:46:4) 10:30:00.026 warn javascript.0 (28564) at script.js.common.Lowbat:21:19 10:30:00.026 warn javascript.0 (28564) at countLowbat (script.js.common.Lowbat:18:24) 10:30:00.026 warn javascript.0 (28564) at Object.<anonymous> (script.js.common.Lowbat:46:4) 10:30:00.026 info javascript.0 (28564) script.js.common.Lowbat: Geräte Nr. 105: undefined: null 10:30:00.026 info javascript.0 (28564) script.js.common.Lowbat: Text: 10:30:00.026 info javascript.0 (28564) script.js.common.Lowbat: Anzahl Geräte: 106 # davon LOWBAT erkannt: 0
-
@deifel Welche IDs gibt das Test-Skript mit den Nummern 101 bis 105 aus ?
-
@paul53 said in Skript LOWBAT:
$('channel[state.id=*0.LOWBAT]').each(function(id, i) { if(i > 82) log(i + ': ' + id); });
10:35:50.771 info javascript.0 (28564) script.js.common.TEST: 100: hm-rpc.0.QEQ0087728.0.LOWBAT 10:35:50.771 info javascript.0 (28564) script.js.common.TEST: 101: hm-rpc.1.CUX2801001.0.LOWBAT 10:35:50.771 info javascript.0 (28564) script.js.common.TEST: 102: hm-rpc.1.CUX4000001.0.LOWBAT 10:35:50.771 info javascript.0 (28564) script.js.common.TEST: 103: hm-rpc.1.CUX9000002.0.LOWBAT 10:35:50.771 info javascript.0 (28564) script.js.common.TEST: 104: hm-rpc.1.CUX9000003.0.LOWBAT 10:35:50.771 info javascript.0 (28564) script.js.common.TEST: 105: hm-rpc.1.CUX9000004.0.LOWBAT
-
Hab die Datenpunkte gefunden. Indicator.lowbat heißen die.
Soll / muss ich die entfernen? -
@deifel Erweitere mal den $Selector:
$('channel[state.id=hm-rpc.0*0.LOWBAT]').each(function(id, i) { if(i > 82) log(i + ': ' + id); });
-
Damit bekomme ich die CUXD-Geräte nicht mehr angezeigt, nur die "korrekten" Geräte.
-
@deifel Dann übernehme die Erweiterung in das Lowbat-Skript.
-
Ich danke Dir! Wenn ich das so übernehme, dann fehlen mir leider die Geräte aus der HM-IP-Instanz
-
Kannst Du mir sagen, wie ich die Geräte aus meiner HM-IP-Instanz (rpc.2) noch dazu bekomme?
Diese werden nicht gefunden. Die Datenpunkte LOWBAT sind aber vorhanden.
Vielen DANK! -
@deifel sagte:
CUXD-Geräte, obwohl diese nicht im Gewerk "Batteriebetrieb" sind.
Dann erweitere den $Selector anstelle von "hm-rpc.0" um das Gewerk (Schreibweise groß/klein in der enum-ID beachten)
$('channel[state.id=*0.LOWBAT](functions=Batteriebetrieb)').each(function(id, i) { log(i + ': ' + id); });
Werden dann alle "richtigen" IDs geloggt ?