Structure für Rollläden

Begonnen von Loredo, 02 Dezember 2014, 16:51:09

Vorheriges Thema - Nächstes Thema

Loredo

Hallo zusammen,

ich versuche schon seit längerem einige Rollläden zu einer Structure mit 3 Zuständen zusammen zu fassen.
Das ganze versuche ich auf Basis des Reading pct:

0 -> closed
100 -> open
1-99 -> halfopen

Allerdings kriege ich das mit 1-99 nicht hin. Wenn ich die Structure entsprechend konfiguriert habe, hat sie immer den Status "halfopen", egal auf wie viel Prozent pct steht :-(

So habe ich die Structure definiert:


define g_LR_Shutters structure g_shutters LR_SouthShutter LR_WestShutter
attr g_LR_Shutters clientstate_behavior relativeKnown
attr g_LR_Shutters clientstate_priority halfopen open closed

define LR_SouthShutter CUL_HM 1234
attr LR_SouthShutter g_shutters g_LR_Shutters
attr LR_SouthShutter g_shutters_map pct:0:closed pct:100:open pct:[1-99]:halfopen


define LR_WestShutter CUL_HM 1235
attr LR_WestShutter g_shutters g_LR_Shutters
attr LR_WestShutter g_shutters_map pct:0:closed pct:100:open pct:[1-99]:halfopen


Kann jemand helfen? Über die Forumssuche habe ich nichts finden können mit den Suchbegriffen, die mir eingefallen sind  :-\
Hat meine Arbeit dir geholfen? ⟹ https://paypal.me/pools/c/8gDLrIWrG9

Maintainer:
FHEM-Docker Image, https://github.com/fhem, Astro(Co-Maintainer), ENIGMA2, GEOFANCY, GUEST, HP1000, Installer, LaMetric2, MSG, msgConfig, npmjs, PET, PHTV, Pushover, RESIDENTS, ROOMMATE, search, THINKINGCLEANER

justme1968

beim ersten drüberschauen fällt mit auf:
- die reihenfolge in clientstate_priority sollte glaube ich besser open halfopen closed sein. sonst hat halfopen ja die höchste priorität und überschreibt alles.
- [1-99] ist eine regex die auf  die zahlen 1-9 und 9 matched. das trifft auch auf 100 zu. ich denke du brauchst etwas in der art:^([1-9]|\d\d)$ also 1-9 oder zweistellig. da ist die 100 nicht mit dabei.

wenn das hm rolläden sind musst die die regex aber noch etwas verfeinern. der pct wert kann eine nachkommt stelle haben.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Loredo

#2
Hey André,


war klar, dass du als Structure Profi mir antworten würdest, vielen Dank dafür  :)


Ich hatte es schon mit allen möglichen Regex Ausdrücken probiert, es aber irgendwie nicht hingebracht. Letztlich war ich jetzt mit diesem _map Attribut erfolgreich:



pct:0:closed pct:100:open pct:\b[1-9]\b:halfopen pct:\b[1-9][0-9]\b:halfopen



Etwas seltsam finde ich dabei, dass die Auswertung der Regex scheinbar nicht beim ersten Match ended (sow wie bei devStateIcon). Sonst hätte ich das Problem mit dem 100 ja gar nicht und als dritte Möglichkeit hätte ein einfaches .* genügt.

Die Reihenfolge in clientstate_priority soll bei mir übrigens mit halfopen als Prio1 sein, weil das aus Wind-technischer Sicht schlimmer ist als "open". Daher auch die 3 Zustände statt nur auf/zu.

pct weist bei mir übrigens nie eine Nachkommastelle auf soweit ich mich erinnere. Muss ich mal beobachten und ansonsten nochmals nachbessern.



Gruß
Julian
Hat meine Arbeit dir geholfen? ⟹ https://paypal.me/pools/c/8gDLrIWrG9

Maintainer:
FHEM-Docker Image, https://github.com/fhem, Astro(Co-Maintainer), ENIGMA2, GEOFANCY, GUEST, HP1000, Installer, LaMetric2, MSG, msgConfig, npmjs, PET, PHTV, Pushover, RESIDENTS, ROOMMATE, search, THINKINGCLEANER