NEWS
Test Adapter iQontrol 2.0.x Vis (Entwicklungs-Thread)
-
@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.
-
@s-bormann Ich hätte mal 2 Verbesserungsvorschläge für deinen super Adapter
-
ListenpunktWenn ich am konfigurien bin, muss man ja immer die ganzen Dialoge schließen, auf speichern drücken und anschließend meine View neu laden und da auch wieder passen klicken, um meine Änderungen zu sehen.
Gäbe es da nicht die Möglichkeit auch in den Zwischendialogen einen Speicherbutton anzuzeigen oder ein Tastaturereigniss abzufangen und dann zu speichern. Und/oder auch einen Button hinzuzufügen, der die Url in einem neuen Fenster (ggf mit Name, dann wird immer dasselbe Fenster genutzt) und dann sogar den richtigen Dialog aufruft? Wenn ich also gerade ein Gerät bearbeite, könnt man den Dialog offen lassen, ausprobieren, korrigiren usw. -
Könnte man in den zwischen Dialogen auch mit einer Import/Export Funktion arbeiten? Dann könnte man einzelne Geräte oder quasi simple kopieren, ohne immer alles zu importieren und exportieren.
Oder gibt es da schon was und ich habe das nicht gefunden?
-