Nach Update von 98_structure.pm funktionieren [FILTER] Kommandos nicht mehr

Begonnen von eldrik, 09 Januar 2016, 08:45:14

Vorheriges Thema - Nächstes Thema

eldrik

Hi,

nach dem gestern von mir ausgeführten Update, welches u.A. auch 98_structure.pm betraf werden die auf meine structures definierten Filter nicht mehr angewendet und der Zustand der structure ändert sich somit nicht.

Ich habe die Version vor dem Update wieder eingespielt und mit dieser greifen auch wieder die [FILTER] Kommandos.

Greetz
Eldrik

rudolfkoenig

Wenn ich ein nachstellbares Beispiel bekomme, dann schaue ich mir die Sache naeher an. Sonst muss ich zuviel raten.

eldrik

Moin Rudi,

Ich kann nur das define meines notifys beisteuern, über welches mir aufgefallen ist, dass etwas nicht stimmt.

Das notify bedient die passenden structures für die Beleuchtung der jeweilige Hausetage/n, bei Änderung des dazugehörigen dummys.

(dummy_light_complete_house|dummy_light_eg|dummy_light_og):(on|off) { Log 1, "$NAME $EVENT";if ($NAME eq "dummy_light_complete_house") { if ($EVENT eq "on") { fhem ("set myStructure_light_complete_house [FILTER=state!=on] on"); } else { fhem ("set myStructure_light_complete_house [FILTER=state!=off] off"); }} elsif ($NAME eq "dummy_light_eg") { if ($EVENT eq "on") { fhem ("set myStructure_light_eg [FILTER=state!=on] on"); } else { fhem ("set myStructure_light_eg [FILTER=state!=off] off"); }} elsif ($NAME eq "dummy_light_og") { if ($EVENT eq "on") { fhem ("set myStructure_light_og [FILTER=state!=on] on"); } else { fhem ("set myStructure_light_og [FILTER=state!=off] off");}}}

Mit der jetzigen Version rührt sich bei den in der structure definierten Geräten nur etwas wenn ich die jeweilige Filterdefinition z.b.  [FILTER=state!=off] komplett entferne!

Greetz
Eldrik

rapster

Hallo Rudi,

das Problem kann ich bestätigen...

z.B. folgende structure in welcher Gerade ein Geräte "on" ist:
Internals:
   .cachedHelp Unknown argument ?, choose one of clear getConfig getRegRaw inhibit off on on-for-timer on-till peerBulk peerIODev press regBulk regSet sign statusRequest toggle
   ATTR       Licht
   CFGFN
   DEF        Licht og_ez_licht_Sw_01  og_ez_licht_Sw_02 Dunstabzugshaube_Licht
   NAME       EZ_Licht
   NR         224
   NTFY_ORDER 50-EZ_Licht
   STATE      on
   TYPE       structure
   .asyncQueue:
   CHANGETIME:
   Content:
     Dunstabzugshaube_Licht [FILTER=STATE!=off] off
     og_ez_licht_Sw_01 on
     og_ez_licht_Sw_02 off
   Helper:
     Dblog:
       State:
         Dblog:
           TIME       1452341345.21959
           VALUE      on
   Readings:
     2015-11-14 16   EZ_Licht        0
     2016-01-09 13   LastDevice      og_ez_licht_Sw_01
     2016-01-09 13   LastDevice_Abs  og_ez_licht_Sw_01
     2016-01-09 13   state           on
Attributes:
   Geschoss_Licht Licht
   Licht      Licht
   Wohnung_Licht Wohnung_Licht
   clientstate_behavior relative
   clientstate_priority on off
   room       System
   userattr   Geschoss_Licht Geschoss_Licht_map Licht Licht_map Wohnung_Licht Wohnung_Licht_map structexclude
   


Nach einem "set EZ_Licht [FILTER=STATE!=off] off", wird zwar die structure ausgeschalten, aber nicht das angeschaltene device innerhalb der structure:
Internals:
   .cachedHelp Unknown argument ?, choose one of clear getConfig getRegRaw inhibit off on on-for-timer on-till peerBulk peerIODev press regBulk regSet sign statusRequest toggle
   ATTR       Licht
   CFGFN
   DEF        Licht og_ez_licht_Sw_01  og_ez_licht_Sw_02 Dunstabzugshaube_Licht
   NAME       EZ_Licht
   NR         224
   NTFY_ORDER 50-EZ_Licht
   STATE      off
   TYPE       structure
   .asyncQueue:
   CHANGETIME:
   Content:
     Dunstabzugshaube_Licht off
     og_ez_licht_Sw_01 on
     og_ez_licht_Sw_02 off
   Helper:
     Dblog:
       State:
         Dblog:
           TIME       1452341382.30902
           VALUE      off
   Readings:
     2015-11-14 16   EZ_Licht        0
     2016-01-09 13   LastDevice      Dunstabzugshaube_Licht
     2016-01-09 13   LastDevice_Abs  Dunstabzugshaube_Licht
     2016-01-09 13   state           off
Attributes:
   Geschoss_Licht Licht
   Licht      Licht
   Wohnung_Licht Wohnung_Licht
   clientstate_behavior relative
   clientstate_priority on off
   room       System
   userattr   Geschoss_Licht Geschoss_Licht_map Licht Licht_map Wohnung_Licht Wohnung_Licht_map structexclude


Nach einem "set EZ_Licht off" wird das betreffende Gerät ausgeschalten:
Internals:
   .cachedHelp Unknown argument ?, choose one of clear getConfig getRegRaw inhibit off on on-for-timer on-till peerBulk peerIODev press regBulk regSet sign statusRequest toggle
   ATTR       Licht
   CFGFN
   DEF        Licht og_ez_licht_Sw_01  og_ez_licht_Sw_02 Dunstabzugshaube_Licht
   NAME       EZ_Licht
   NR         224
   NTFY_ORDER 50-EZ_Licht
   STATE      off
   TYPE       structure
   .asyncQueue:
   CHANGETIME:
   Content:
     Dunstabzugshaube_Licht off
     og_ez_licht_Sw_01 off
     og_ez_licht_Sw_02 off
   Helper:
     Dblog:
       State:
         Dblog:
           TIME       1452341433.91561
           VALUE      off
   Readings:
     2015-11-14 16   EZ_Licht        0
     2016-01-09 13   LastDevice      og_ez_licht_Sw_02
     2016-01-09 13   LastDevice_Abs  og_ez_licht_Sw_02
     2016-01-09 13   state           off
Attributes:
   Geschoss_Licht Licht
   Licht      Licht
   Wohnung_Licht Wohnung_Licht
   clientstate_behavior relative
   clientstate_priority on off
   room       System
   userattr   Geschoss_Licht Geschoss_Licht_map Licht Licht_map Wohnung_Licht Wohnung_Licht_map structexclude


Brauchst du noch mehr Infos?

Gruß
  Claudiu

rudolfkoenig

Ich meine es gefixt zu haben. Wenn nicht, dann bitte mir ein mit dummys funktionierenden Beispiel bauen.

rapster

Danke dir, scheint nun wieder zu funktionieren.

Hatte es gestern schonmal kurz mit dummys getestet, konnte das Problem hiermit allerdings nicht reproduzieren.
Ich denke es wird teilweise an der state/STATE Verarbeitung von CUL_HM gelegen haben, hier hätte man mal mit Andre's "device simulator" probieren können das nachzustellen.

Gruß
  Claudiu

eldrik