NEWS
Skript LOWBAT
-
@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 ?
-
@deifel sagte in Skript LOWBAT:
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.Bei mir heißen die HM-IP LOW_BAT und nicht LOWBAT.
-
Danke - das hab ich versucht. Eigenartigerweise wird damit nichts gefunden
Ich verzweifle noch.
"Batteriebetrieb" ist korrekt geschrieben.
Die Datenpunkte unter den IP-Geräten heißen allerdings "LOW_BAT".Mit dem Selektor :
$('channel[state.id=*0.LOWBAT](functions=Batteriebetrieb)').each(function(id, i) { log(i + ': ' + id); });
bekomme ich kein Ergebnis (0 Geräte).
Mit dem Selektor:
$('channel[state.id=hm-rpc.0*0.LOWBAT]').each(function(id, i) {
bekomme ich nur die von der normalen HM-Instanz.
und mit dem Selektor:
$('channel[state.id=*0.LOWBAT]').each(function(id, i) {
bekomme ich die normalen und die CuxD - aber auch keine HM-IP-Geräte
-
$('channel[state.id=hm-rpc.*0.LOW*](functions=Batteriebetrieb)').each(function(id, i) { if(i > 1) log(i + ': ' + id); });
Gibt mir alle aus, also inkl. HMIP und auch den CUX-D-Geräten. Wenn ich jetzt noch die CUXD weg bekomme, dann wärs perfekt.
-
@deifel sagte:
Wenn ich jetzt noch die CUXD weg bekomme
$('channel[state.id=hm-rpc.*0.LOW*](functions=Batteriebetrieb)').each(function(id, i) { if(id.indexOf('CUX') == -1) log(i + ': ' + id); });
-
Leider nein, damit findet er nichts