NEWS
Skript LOWBAT
-
@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
-
@deifel
Ich bin unterwegs und am Handy, deshalb bekomme ich das Script nicht kopiert, aber hier ein Screenshot vom Selektor, wie es bei mir funktioniert. -
@deifel sagte:
damit findet er nichts
Ohne functions ?
$('channel[state.id=hm-rpc.*0.LOW*]').each(function(id, i) { if(id.indexOf('CUX') == -1) log(i + ': ' + id); });
-
Danke Euch Beiden! Es klappt jetzt mit beiden Varianten. Wobei evtl. das von dslraser sicherer ist, da es nicht nur noch low* abfragt - keine Ahnung, was in Zukunft sonst noch "low" wird
Vielen Dank für die tatkräftige Unterstützung!!!
-
Kleine Ergänzung: Bei der Lösung von dslraser werden die cux-Geräte gefunden und eine Warnung angezeigt...
Ich lass es jetzt trotzdem so drin -
-
@Xanon said in Skript LOWBAT:
Danke, das Skript sieht gut aus und funktionierte auf anhieb!!
Um Deine Frage zu beantworten, wie wäre es mit:
addDeviceCounter("lowbat", $('channel[state.id=*.LOW_BAT]') + $('channel[state.id=*.LOWBAT]'), true);
Habs aber nicht ausprobiert, habe keine IP Komponenten.