NEWS
Test Adapter iQontrol 2.0.x Vis (Entwicklungs-Thread)
-
@siko sagte in Test Adapter iQontrol 1.11.x Vis:
Sorry, bin da noch nicht so fit @dslraser
Das ist der DP mit dem Istwert
{ "common": { "name": "Fühler 1 (VL FBH)", "type": "number", "unit": "°C", "read": true, "write": true, "custom": { "history.0": { "enabled": true, "aliasId": "", "changesOnly": true, "debounce": "1000", "changesRelogInterval": "0", "changesMinDelta": "0", "maxLength": "5000", "retention": "31536000" } } }, "native": {}, "acl": { "object": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator", "state": 1636 }, "_id": "0_userdata.0.Grill.Fuehler_1", "type": "state", "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1641892906564 }
Hier der DP für Sollwert:
{ "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1641892906566, "common": { "name": "Fühler 1 (Soll)", "type": "number", "unit": "°C", "read": true, "write": true }, "native": {}, "acl": { "object": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator", "state": 1636 }, "_id": "0_userdata.0.Grill.Fuehler_1_Soll", "type": "state" }
Ein bisschen was hab ich schon gemacht:
Aber z.B. der Schieberegler bei der Zieltemperatur sollte nicht nur bis 30°C gehen.Ich bin jetzt erstmal bis Montag weg und habe nur ein Handy dabei. Schaue ich mir nächste Woche mal an.
-
@dslraser Bist du sicher, dass die Regex so funktionieren?
@s-bormann Ich vermute mal, du nutzt ganz normal regEx oder parst du da noch extra was?^(3.[[1])|^(3) -> das wird ja wahrscheinlich nach /^(3.[[1])|^(3)/i gewandelt intern, oder?
^ -> am anfang bedeutet, String muss starten mit, in der Mitte ist es eigentlich ein not
. steht für jedes beliebige Zeichen, wenn es als Punkt gemeint ist, muss es maskiert werden mit
Ich würde mal vermuten, der regex müsste folgendermassen lauten (ohne "):
"^3 |3.1 ""^(2.[[6])|^(2.[[5])" würde ich zu "^2.[5-6] " wandeln
"^(0)|^(1)|^(2)|^(0.[1]2.[4])" -> "^[0-2] |[0-1].[1-9] |2.[1-4] "wichtig ist immer das leerzeichen hinter dem Ausdruck
-
@dirkhe sagte in Test Adapter iQontrol 1.11.x Vis:
Bist du sicher, dass die Regex so funktionieren?
ja, tun sie. Aber ich teste nächste Woch auch gern so wie Du es schreibst.
-
@dirkhe sagte in Test Adapter iQontrol 1.11.x Vis:
"^3 |3.1 "
funktioniert nicht
^3 |3.1
(Leerzeichen am Ende ist drinn)funktioniert
^(3.[[1])|^(3)
EDIT: ohne das Leerzeichen hinter der 3 und mit Leerzeichen hinter 3.1 funktioniert es doch
^3|3.1
-
@dslraser hinter der 3 ist auch ein Leerzeichen
-
@dirkhe sagte in Test Adapter iQontrol 1.11.x Vis:
@dslraser hinter der 3 ist auch ein Leerzeichen
siehe meinen Edit über Deinem Post
-
@dslraser Dann wäre dein Echter Wert interressant.
Wenn du zb hier https://regex101.com/
mal den regex^3 |3\.1
eingibst und unten "3 " sollte es funktionieren. Oder steht in dem geprüften Wert nur die Zahl drin und das " Volt" kommt da anders hinter?
ohne Leerzeichen würde er 3.2 finden -
@dirkhe sagte in Test Adapter iQontrol 1.11.x Vis:
Oder steht in dem geprüften Wert nur die Zahl drin und das " Volt" kommt da anders hinter?
ja, genau so
-
@dslraser dann teste doch mal
^(3|3\.1)$
-
-
@dirkhe sagte in Test Adapter iQontrol 1.11.x Vis:
@dslraser dann teste doch mal
^(3|3\.1)$
das hier funktioniert
^3|3.1$
-
@dslraser Dann weiss ich nicht, auf welchen wert er abprüft oder ob er den regex String noch verändert.
Ich muß mir dann mal den aktuellen Stand holen und selber testen, habe ich bis jetzt noch nicht -
Ich muss jetzt auch wech....
-
@dslraser Ein Ostwestfale Ich muß auch ertstmal was anderes machen, schaue mir das nachher mal an
-
@dirkhe sagte in Test Adapter iQontrol 1.11.x Vis:
@dslraser Ein Ostwestfale Ich muß auch ertstmal was anderes machen, schaue mir das nachher mal an
doch noch kurz.....
nur so
^3
(ohne Leerzeichen irgendwo) wandelt alles was mit 3 anfängt (also auch 3 oder 3.1 / 3.2 usw...)bei 2.9 funktioniert
^2.9
(sobald ich Leerzeichen am Ende, oder Dollar am Ende einfüge funktioniert es nicht)für zwei Werte funktioniert das
^2.[5-6]
(da ist kein Leerzeichen hinterm Punkt, sieht nur so aus)und für die "leeren Batterien" funktioniert auch das
^[0-2]|[0-1].[1-9]|2.[1-4]
bei mir. (alles ohne Leerzeichen) -
Der . sollte eigentlich als \. verwendet werden, sonst greift dort jedes beliebige Zeichen!
Ist zwar hier vermutlich egal, aber es ist trotzdem besser, sich gleich das richtig anzugewöhnen. -
@sabinet sagte in Test Adapter iQontrol 1.11.x Vis:
Der . sollte eigentlich als \. verwendet werden, sonst greift dort jedes beliebige Zeichen!
Ist zwar hier vermutlich egal, aber es ist trotzdem besser, sich gleich das richtig anzugewöhnen.Das hatte ich probiert und es funktionierte nicht, probiere ich aber gern nochmal.
Der Punkt gehört zur Zahl (quasi 1 Komma 5, nur das es dann mit einem Komma Text wäre. 1.5 ist z.B die Zahl)
Volt ist „nur“ die unit.
Die Daten kommen von hierAllerdings weiss ich nicht ob Sebastian alles in einen String wandelt ?
Wie wäre es denn richtig ?
-
@dslraser Ich habe jetzt mal in den code geschaut. Dasp Probelm ist, dass der zu untersuchende String sowas hier ist:
1.2&bnsp;Volt
er nutzt also keine Leerzeichen, sondern macht das mit einem sogenannten "nonbreaking space".
Das bedeutet^3&|3\.1&
sollte funktionieren -
@buchner51 sagte in Test Adapter iQontrol 1.11.x Vis:
Hallo zusammen,
ich komme nicht weiter, es scheint ich sehe den Wald nicht vor lauter ....
Ich versuche die Tür mit Schoss darzustellen mit einem Nuki:
Leider ist das Symbol und der Text immer gleich.Ich habe bei State und bei Lock_State die Datenpunkte vom Schloss eingetragen
Mich wundert aber das der Typ Zahl eingetragen ist und wenn ich mit der Maus drüber gehe aber UnLocked steht?
{ "common": { "name": "Motorschloss-Locked(1)-Unlocked(3)", "role": "value", "type": "number", "write": false, "states": { "0": "UNCALIBRATED", "1": "LOCKED", "2": "UNLOCKING", "3": "UNLOCKED", "4": "LOCKING", "5": "UNLATCHED", "6": "UNLOCKED_LOCK_N_GO", "7": "UNLATCHING", "254": "MOTOR_BLOCKED", "255": "UNDEFINED" }, "custom": { "iqontrol.0": { "0": "", "1": "", "3": "", "enabled": true, "invert": false, "confirm": false, "pincode": "", "step": "", "roundDigits": 2, "timeFormat": "x", "timeDisplayFormat": "dddd, DD.MM.YYYY HH:mm:ss", "targetValueId": "", "statesAddInput": false, "statesAddInputCaption": "Enter other value...", "showOnlyTargetValues": false, "readonly": false, "unit": "", "unit_zero": "", "unit_one": "", "min": "", "max": "", "type": "number", "role": "value", "targetValues": {}, "states": { "0": "true", "3": "false" } } } }, "type": "state", "native": {}, "_id": "nuki-extended.0.smartlocks.haustür_.state.lockState", "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" }, "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1641747392090 }
Auch habe ich schon einige Kombinationen in der Valuve Liste ausprobiert.
Wo ist mein Fehler??
Danke für eure Hilfe
Hat niemand einen Ansatz wie ich die Werte bekomme oder wo mein Denkfehler ist?
-
@dirkhe sagte in Test Adapter iQontrol 1.11.x Vis:
@dslraser Ich habe jetzt mal in den code geschaut. Dasp Probelm ist, dass der zu untersuchende String sowas hier ist:
1.2&bnsp;Volt
er nutzt also keine Leerzeichen, sondern macht das mit einem sogenannten "nonbreaking space".
Das bedeutet^3&|3\.1&
sollte funktionierenDiese eine Kombi habe ich eben mal auf meinem Handy probiert (bin noch unterwegs), das hat funktioniert.