HM-CC-RT-DN ValvePosition mit structure aggregieren

Begonnen von MarkOtti, 25 Februar 2017, 11:07:59

Vorheriges Thema - Nächstes Thema

MarkOtti

Hallo Forum,

ich drehe mich hier gerade im Kreis und seh wahrscheinlich den Wald vor lauter Bäumen nicht mehr.

Mein Ziel soll sein, mittels einer Struktur herauszufinden, ob die Ventile aller Heizungsthermostate geschlossen sind (ValvePosition=0) oder nicht (ValvePosition!=0).

Daher habe ich mir per ...

define VentilStructure structure Valve .._hk_.._Clima
attr VentilStructure clientstate_behavior relativeKnown
attr VentilStructure clientstate_priority open closed
attr VentilStructure room Heizung


... eine Struktur angelegt. Hier dazu das "list VentilStructure":

Internals:
   ATTR       Valve
   DEF        Valve .._hk_.._Clima
   NAME       VentilStructure
   NR         179
   NTFY_ORDER 50-VentilStructure
   STATE      undefined
   TYPE       structure
   Content:
     bz_hk_01_Clima
     kz_hk_01_Clima
     kz_hk_02_Clima 1
     wz_hk_01_Clima 1
     wz_hk_02_Clima 1
   Readings:
     2017-02-24 19:14:19   LastDevice      wz_hk_02_Clima
     2017-02-24 19:14:19   LastDevice_Abs  wz_hk_02_Clima
     2017-02-24 19:14:19   state           undefined
Attributes:
   clientstate_behavior relativeKnown
   clientstate_priority open closed
   room       Heizung


Im Content-Bereich finde ich auch alle Thermostate wieder. Somit funktioniert schon mal mein Regex-Ausdruck im Define.

Leider erscheint jetzt dort auch hinter der Bezeichnung nur noch eine "1" und bei den ersten beiden Geräten "bz_hk_01_Clima" und "kz_hk_01_Clima" gar nichts mehr, seit dem ich dort mit dem "Valve_map" Attribut herumgespielt habe. Hier dazu meine beiden Beispiele:

define bz_hk_01_Clima CUL_HM 22217C04
attr bz_hk_01_Clima userattr Valve Valve_map structexclude
attr bz_hk_01_Clima Valve_map .*valve:.0:closed .*valve:.[1-9]:open
attr bz_hk_01_Clima alias Bad Heizkörper
attr bz_hk_01_Clima expert 1
attr bz_hk_01_Clima group Heizkörper
attr bz_hk_01_Clima model HM-CC-RT-DN
attr bz_hk_01_Clima peerIDs 00000000,
attr bz_hk_01_Clima room Badezimmer
attr bz_hk_01_Clima tempListTmpl tempList_modified.cfg:Badezimmer
attr bz_hk_01_Clima webCmd desired-temp:controlMode:tempTmplSet


define kz_hk_01_Clima CUL_HM 29AF1604
attr kz_hk_01_Clima userattr Valve Valve_map structexclude
attr kz_hk_01_Clima Valve_map ValvePosition
attr kz_hk_01_Clima alias Kinderzimmer Heizkörper links
attr kz_hk_01_Clima group Heizkörper
attr kz_hk_01_Clima model HM-CC-RT-DN
attr kz_hk_01_Clima peerIDs 00000000,302BA305,
attr kz_hk_01_Clima room Kinderzimmer
attr kz_hk_01_Clima tempListTmpl tempList_modified.cfg:Kinderzimmer


Die Structure reagiert auch gar nicht mehr, wenn sich die Readings ändern. Das Listing ist vom 25.02.2017 ca. 10:55 die Einträge unter Readings aber vom Vorabend und im Vergleich deutlich veraltet.

Wo liegt mein Denkfehler?

Gruß
Markus

MarkOtti

Hallo zusammen,

ich bin nun schon ein Stückchen weiter. Ich habe die Structure gelöscht und mit anderem Namen (ValveStructure) neu angelegt. Jetzt reagiert sie auch wieder.

Allerdings funktioniert das mapping noch nicht 100%ig.

Hier mein Mapping:

ValvePosition:[1-9]:open ValvePosition:0:closed

Der hintere Teil funktioniert. Alle geschlossenen Ventile stehen im Listung auf "closed". Die offenen leider nicht auf "open", sondern dort steht nix:

Internals:
   ATTR       Valve
   CFGFN
   DEF        Valve .._hk_.._Clima
   NAME       ValveStructure
   NR         3749
   NTFY_ORDER 50-ValveStructure
   STATE      open                       <-- das ist richtig
   TYPE       structure
   Content:
     bz_hk_01_Clima                      <-- hier sollte eigentlich open stehen
     kz_hk_01_Clima closed
     kz_hk_02_Clima closed
     wz_hk_01_Clima                      <-- und hier auch
     wz_hk_02_Clima closed
   Readings:
     2017-02-26 10:18:36   LastDevice      kz_hk_02_Clima
     2017-02-26 10:18:36   LastDevice_Abs  kz_hk_02_Clima
     2017-02-26 10:18:36   state           open
Attributes:
   clientstate_behavior relative
   clientstate_priority open closed
   room       Heizung


Ich wäre hier für einen Tipp echt dankbar.

Gruß
Markus