NEWS
[gelöst] RegEx Hilfe
-
Ich bräuchte mal bitte Unterstützung.
Ich hol mal etwas aus…
Es gibt das "LowBat Script". Das hab ich auch im Einsatz, aber ich habe in kleines Problem damit.
Bei den batteriebetriebenen Geräten gibt es seit einiger Zeit 2 LOWBAT Datenpunkte (LOWBAT und LOWBAT_ALARM)
Folglich habe ich im Script immer die doppelte Menge denn beide Datenpunkte werden ermittelt.
!
javascript.0 2017-02-08 20:26:36.274 info script.js.System.SYSTEM_LowBat: Geräte Nr. 44: 200_30_HAUSTUER:1.LOWBAT: false javascript.0 2017-02-08 20:26:36.274 info script.js.System.SYSTEM_LowBat: Geräte Nr. 43: 200_30_HAUSTUER:0.LOWBAT: false javascript.0 2017-02-08 20:26:36.274 info script.js.System.SYSTEM_LowBat: Geräte Nr. 42: 120_30_TUER:1.LOWBAT: false javascript.0 2017-02-08 20:26:36.274 info script.js.System.SYSTEM_LowBat: Geräte Nr. 41: 120_30_TUER:0.LOWBAT: false javascript.0 2017-02-08 20:26:36.274 info script.js.System.SYSTEM_LowBat: Geräte Nr. 40: 120_30_FENSTER_RECHTS:1.LOWBAT: false javascript.0 2017-02-08 20:26:36.274 info script.js.System.SYSTEM_LowBat: Geräte Nr. 39: 120_30_FENSTER_RECHTS:0.LOWBAT: false javascript.0 2017-02-08 20:26:36.274 info script.js.System.SYSTEM_LowBat: Geräte Nr. 38: 120_30_FENSTER_LINKS:1.LOWBAT: false javascript.0 2017-02-08 20:26:36.274 info script.js.System.SYSTEM_LowBat: Geräte Nr. 37: 120_30_FENSTER_LINKS:0.LOWBAT: false javascript.0 2017-02-08 20:26:36.274 info script.js.System.SYSTEM_LowBat: Geräte Nr. 36: 110_30_FENSTER_EINZELN:1.LOWBAT: false javascript.0 2017-02-08 20:26:36.274 info script.js.System.SYSTEM_LowBat: Geräte Nr. 35: 110_30_FENSTER_EINZELN:0.LOWBAT: false javascript.0 2017-02-08 20:26:36.274 info script.js.System.SYSTEM_LowBat: Geräte Nr. 34: 110_30_FENSTER_SCHIEBE:1.LOWBAT: false javascript.0 2017-02-08 20:26:36.274 info script.js.System.SYSTEM_LowBat: Geräte Nr. 33: 110_30_FENSTER_SCHIEBE:0.LOWBAT: false javascript.0 2017-02-08 20:26:36.274 info script.js.System.SYSTEM_LowBat: Geräte Nr. 32: 100_30_FENSTER_EINZELN:1.LOWBAT: false javascript.0 2017-02-08 20:26:36.259 info script.js.System.SYSTEM_LowBat: Geräte Nr. 31: 100_30_FENSTER_EINZELN:0.LOWBAT: false javascript.0 2017-02-08 20:26:36.259 info script.js.System.SYSTEM_LowBat: Geräte Nr. 30: 100_30_FENSTER_GR_RECHTS:1.LOWBAT: false javascript.0 2017-02-08 20:26:36.259 info script.js.System.SYSTEM_LowBat: Geräte Nr. 29: 100_30_FENSTER_GR_RECHTS:0.LOWBAT: false javascript.0 2017-02-08 20:26:36.259 info script.js.System.SYSTEM_LowBat: Geräte Nr. 28: 100_30_FENSTER_GR_LINKS:1.LOWBAT: false javascript.0 2017-02-08 20:26:36.259 info script.js.System.SYSTEM_LowBat: Geräte Nr. 27: 100_30_FENSTER_GR_LINKS:0.LOWBAT: false javascript.0 2017-02-08 20:26:36.259 info script.js.System.SYSTEM_LowBat: Geräte Nr. 26: 100_30_FENSTER_KL_RECHTS:1.LOWBAT: false javascript.0 2017-02-08 20:26:36.259 info script.js.System.SYSTEM_LowBat: Geräte Nr. 25: 100_30_FENSTER_KL_RECHTS:0.LOWBAT: false javascript.0 2017-02-08 20:26:36.259 info script.js.System.SYSTEM_LowBat: Geräte Nr. 24: 100_30_FENSTER_KL_LINKS:1.LOWBAT: false javascript.0 2017-02-08 20:26:36.259 info script.js.System.SYSTEM_LowBat: Geräte Nr. 23: 100_30_FENSTER_KL_LINKS:0.LOWBAT: false javascript.0 2017-02-08 20:26:36.259 info script.js.System.SYSTEM_LowBat: Geräte Nr. 22: 130_30_FENSTERKONTAKT:1.LOWBAT: false javascript.0 2017-02-08 20:26:36.259 info script.js.System.SYSTEM_LowBat: Geräte Nr. 21: 130_30_FENSTERKONTAKT:0.LOWBAT: false javascript.0 2017-02-08 20:26:36.259 info script.js.System.SYSTEM_LowBat: Geräte Nr. 20: 130_20_THERMOSTAT_NEU:0.LOWBAT: false javascript.0 2017-02-08 20:26:36.259 info script.js.System.SYSTEM_LowBat: Geräte Nr. 19: 310_30_Fensterkontakt:1.LOWBAT: false javascript.0 2017-02-08 20:26:36.259 info script.js.System.SYSTEM_LowBat: Geräte Nr. 18: 310_30_Fensterkontakt:0.LOWBAT: false javascript.0 2017-02-08 20:26:36.259 info script.js.System.SYSTEM_LowBat: Geräte Nr. 17: 110_20_THERMOSTAT_SOFA:0.LOWBAT: false javascript.0 2017-02-08 20:26:36.259 info script.js.System.SYSTEM_LowBat: Geräte Nr. 16: 310_20_THERMOSTAT_NEU:0.LOWBAT: false javascript.0 2017-02-08 20:26:36.259 info script.js.System.SYSTEM_LowBat: Geräte Nr. 15: 320_40_SCHALTER:0.LOWBAT: false javascript.0 2017-02-08 20:26:36.259 info script.js.System.SYSTEM_LowBat: Geräte Nr. 14: 300_20_THERMOSTAT_NEU:0.LOWBAT: false javascript.0 2017-02-08 20:26:36.259 info script.js.System.SYSTEM_LowBat: Geräte Nr. 13: 330_10_LICHT:0.LOWBAT: false javascript.0 2017-02-08 20:26:36.259 info script.js.System.SYSTEM_LowBat: Geräte Nr. 12: 100_50_TASTER6FACH:0.LOWBAT: false javascript.0 2017-02-08 20:26:36.259 info script.js.System.SYSTEM_LowBat: Geräte Nr. 11: 330_50_TASTER_HZG:0.LOWBAT: false javascript.0 2017-02-08 20:26:36.259 info script.js.System.SYSTEM_LowBat: Geräte Nr. 10: 300_30_DREHGRIFF_1.LOWBAT: false javascript.0 2017-02-08 20:26:36.259 info script.js.System.SYSTEM_LowBat: Geräte Nr. 9: 300_30_DREHGRIFF:0.LOWBAT: false javascript.0 2017-02-08 20:26:36.259 info script.js.System.SYSTEM_LowBat: Geräte Nr. 8: 110_20_THERMOSTAT_KAMIN:0.LOWBAT: false javascript.0 2017-02-08 20:26:36.259 info script.js.System.SYSTEM_LowBat: Geräte Nr. 7: 200_20_AUSSENSENSOR:0.LOWBAT: false javascript.0 2017-02-08 20:26:36.259 info script.js.System.SYSTEM_LowBat: Geräte Nr. 6: 100_20_STELLANTRIEB_KUECHE:0.LOWBAT: false javascript.0 2017-02-08 20:26:36.259 info script.js.System.SYSTEM_LowBat: Geräte Nr. 5: 110_20_STELLANTRIEB_FENSTER:0.LOWBAT: false javascript.0 2017-02-08 20:26:36.259 info script.js.System.SYSTEM_LowBat: Geräte Nr. 4: 100_20_THERMOSTAT:0.LOWBAT: false javascript.0 2017-02-08 20:26:36.259 info script.js.System.SYSTEM_LowBat: Geräte Nr. 3: 110_20_THERMOSTAT:0.LOWBAT: false javascript.0 2017-02-08 20:26:36.259 info script.js.System.SYSTEM_LowBat: Geräte Nr. 2: 100_20_STELLANTRIEB_MITTE:0.LOWBAT: false javascript.0 2017-02-08 20:26:36.259 info script.js.System.SYSTEM_LowBat: Geräte Nr. 1: 100_20_STELLANTRIEB_FENSTER:0.LOWBAT: false javascript.0 2017-02-08 20:26:36.259 info script.js.System.SYSTEM_LowBat: Geräte Nr. 0: 110_20_STELLANTRIEB_TUER:0.LOWBAT: false !
Jetzt würde ich gerne mit "on" subscriben und dabei RegEx und Wildcards nutzen, ich habe aber keine Ahnung wie ich das anstelle.Die Datenpunkte haben alle eines gemeinsam:
ID = "hm-rpc.0.XXXXXXXXXX.0.LOWBAT"
Nur die XXXXXXXXXX ist immer unterschiedlich und müsste durch Wildcard ersetzt werden.
Geht das überhaupt? Oder bin ich total auf dem falschen Weg?
Ich hoffe ich konnte mich verständlich ausdrücken und mir kann jemand helfen…
-
Jetzt würde ich gerne mit "on" subscriben und dabei RegEx und Wildcards nutzen, … `
Versuche es mal so:on(/^hm-rpc\.0\.*\.0\.LOWBAT$/, function(dp) {
-
on(/^hm-rpc\.0\.*\.0\.LOWBAT$/, function(dp) { log('XGWSTRE ' + JSON.stringify(dp)); });
war leider nicht erfolgreich.
Ich hab den Datenpunkt per script geändert, das Lowbat-Script hat ausgelöst, aber das o.a. leider nicht.
-
Wenn es um die pattern selbst geht bietet sich die Seite regex101.com an.
Gesendet von meinem m8 mit Tapatalk
-
> Wenn es um die pattern selbst geht bietet sich die Seite regex101.com an.
Echt nicht schlecht…Zumindest habe ich herausgefunden, dass der "*" das Problem ist.
Aber weiter bin ich leider nicht
-
Mein Fehler: Es fehlt noch ein Punkt vor dem Stern:
on(/^hm-rpc\.0\..*\.0\.LOWBAT$/, function(dp) { log('XGWSTRE ' + JSON.stringify(dp)); });
-
Versuche es mal mit:
^hm-rpc.0..+:0.LOWBAT$
…oder
^hm-rpc.0..+.0.LOWBAT$
...falls es wirklich ein Punkt vor dem 0.LOWBAT ist. Im Text war es ja ein Doppelpunkt, wenn ich das richtig verstanden habe.
Edit: Da habe ich mir mit der Antwort wohl zu viel Zeit gelassen
-
` > …oder
^hm-rpc.0..+.0.LOWBAT$ `
der funktioniert auch…DANKE