struct - seltsames Verhalten

Begonnen von Wetterhexe, 23 November 2018, 06:09:04

Vorheriges Thema - Nächstes Thema

Wetterhexe

ich habe die Lichtschalter im Haus zu einer struct zusammengefaßt (für Anzeigezwecke bzw. gesammeltes Licht aus). Bislang sind das hauptsächlich HomeMatic Schalter und das ging problemlos.

Kürzlich habe ich einen Schalter gegen HmIP getauscht, und seltsamerweise macht der Probleme in der struct. readings und attribute der struct sehen ok aus, nur wenn ich über die struct zB. ausschalten möchte, tut er einfach nicht - so als ob er keinen Schaltbefehl erhalten würde.

Hat jemand eine Idee wo es klemmt?

So sieht die structure aus:

Internals:
   ATTR       lights
   CHANGED   
   CHANGEDCNT 373
   DEF        lights SHlichtschalterVZ AZlichtschalter GZlichtschalter SZlichtschalter SZlichtbettrechts BZlichtschalterIP
   NAME       lightsO
   NR         271
   NTFY_ORDER 50-lightsO
   STATE      on
   TYPE       structure
   READINGS:
     2018-11-23 05:51:33   LastDevice      SZlichtschalter
     2018-11-23 05:51:33   LastDevice_Abs  SZlichtschalter
     2018-11-23 05:51:33   state           on
Attributes:
   clientstate_behavior relative
   clientstate_priority on timer off
   event-on-change-reading .*
   lights     lights
   room       _COMMON
   userattr   lights lights_map structexclude


und der Lichtschalter:

Internals:
   CHANGED   
   DEF        001A58A9A23A30
   IODev      PiCCU
   NAME       BZlichtschalterIP
   NR         595
   STATE      on
   TYPE       HMCCUDEV
   ccuaddr    001A58A9A23A30
   ccudevstate active
   ccuif      HmIP-RF
   ccuname    BZlichtschalter
   ccutype    HmIP-BSL
   channels   16
   firmware   1.0.2
   statevals  devstate|on|off
   Helper:
     DBLOG:
       0.RSSI_DEVICE:
         logdb:
           TIME       1542948672.69034
           VALUE      -68
       0.RSSI_PEER:
         logdb:
           TIME       1542948671.01799
           VALUE      -70
   READINGS:
     2018-11-23 05:51:12   0.RSSI_DEVICE   -68
     2018-11-23 05:51:11   0.RSSI_PEER     -70
     2018-11-23 05:50:55   10.ACTIVITY_STATE 3
     2018-11-23 05:50:55   10.COLOR        black
     2018-11-23 05:50:55   10.COLOR_STATUS 0
     2018-11-23 05:50:55   10.LEVEL        0
     2018-11-23 05:50:55   10.LEVEL_STATUS 0
     2018-11-23 05:50:55   10.PROCESS      idle
     2018-11-23 05:48:38   11.ACTIVITY_STATE 0
     2018-11-23 05:48:38   11.COLOR        blue
     2018-11-23 05:48:38   11.COLOR_STATUS 0
     2018-11-23 05:48:38   11.LEVEL        0
     2018-11-23 05:48:38   11.LEVEL_STATUS 0
     2018-11-23 05:48:38   11.PROCESS      idle
     2018-11-23 05:48:38   12.ACTIVITY_STATE 3
     2018-11-23 05:48:38   12.COLOR        blue
     2018-11-23 05:48:38   12.COLOR_STATUS 0
     2018-11-23 05:48:38   12.LEVEL        0
     2018-11-23 05:48:38   12.LEVEL_STATUS 0
     2018-11-23 05:48:38   12.PROCESS      idle
     2018-11-23 05:48:38   13.ACTIVITY_STATE 3
     2018-11-23 05:48:38   13.COLOR        black
     2018-11-23 05:48:38   13.COLOR_STATUS 0
     2018-11-23 05:48:38   13.LEVEL        0
     2018-11-23 05:48:38   13.LEVEL_STATUS 0
     2018-11-23 05:48:38   13.PROCESS      idle
     2018-11-23 05:48:38   14.ACTIVITY_STATE 3
     2018-11-23 05:48:38   14.COLOR        black
     2018-11-23 05:48:38   14.COLOR_STATUS 0
     2018-11-23 05:48:38   14.LEVEL        0
     2018-11-23 05:48:38   14.LEVEL_STATUS 0
     2018-11-23 05:48:38   14.PROCESS      idle
     2018-11-23 05:51:12   3.PROCESS       idle
     2018-11-23 05:51:12   3.STATE         on
     2018-11-23 05:51:12   4.PROCESS       idle
     2018-11-23 05:51:12   4.STATE         on
     2018-11-23 05:51:12   5.PROCESS       idle
     2018-11-23 05:51:12   5.STATE         off
     2018-11-23 05:51:12   6.PROCESS       idle
     2018-11-23 05:51:12   6.STATE         off
     2018-11-23 05:50:55   7.ACTIVITY_STATE 0
     2018-11-23 05:50:55   7.COLOR         blue
     2018-11-23 05:50:55   7.COLOR_STATUS  0
     2018-11-23 05:50:55   7.LEVEL         0
     2018-11-23 05:50:55   7.LEVEL_STATUS  0
     2018-11-23 05:50:55   7.PROCESS       idle
     2018-11-23 05:50:55   8.ACTIVITY_STATE 3
     2018-11-23 05:50:55   8.COLOR         blue
     2018-11-23 05:50:55   8.COLOR_STATUS  0
     2018-11-23 05:50:55   8.LEVEL         0
     2018-11-23 05:50:55   8.LEVEL_STATUS  0
     2018-11-23 05:50:55   8.PROCESS       idle
     2018-11-23 05:50:55   9.ACTIVITY_STATE 3
     2018-11-23 05:50:55   9.COLOR         black
     2018-11-23 05:50:55   9.COLOR_STATUS  0
     2018-11-23 05:50:55   9.LEVEL         0
     2018-11-23 05:50:55   9.LEVEL_STATUS  0
     2018-11-23 05:50:55   9.PROCESS       idle
     2018-11-23 05:51:12   control         on
     2018-11-23 05:51:12   hmstate         on
     2018-11-23 05:51:12   state           on
   hmccu:
     devspec    001A58A9A23A30
     dp:
       0.ACTUAL_TEMPERATURE:
         OSVAL      27.0
         OVAL       26.0
         SVAL       27.000000
         VAL        25.0
       0.CONFIG_PENDING:
         OSVAL      1
         OVAL       0
         SVAL       0
         VAL        0
       0.DUTY_CYCLE:
         OSVAL      0
         OVAL       0
         SVAL       0
         VAL        0
       0.ERROR_CODE:
         OSVAL      0
         OVAL       0
         SVAL       0
         VAL        0
       0.ERROR_OVERHEAT:
         OSVAL      0
         OVAL       0
         SVAL       false
         VAL        0
       0.INSTALL_TEST:
         OSVAL      true
         OVAL       true
         SVAL       true
         VAL        true
       0.OPERATING_VOLTAGE:
         OSVAL      0.000000
         OVAL       0.000000
         SVAL       0.000000
         VAL        0.000000
       0.OPERATING_VOLTAGE_STATUS:
         OSVAL      0
         OVAL       0
         SVAL       0
         VAL        0
       0.RSSI_DEVICE:
         OSVAL      -69
         OVAL       -69
         SVAL       -68
         VAL        -68
       0.RSSI_PEER:
         OSVAL      -73
         OVAL       -73
         SVAL       -70
         VAL        -70
       0.UNREACH:
         OSVAL      0
         OVAL       0
         SVAL       0
         VAL        0
       0.UPDATE_PENDING:
         OSVAL      false
         OVAL       false
         SVAL       false
         VAL        false
       1.PRESS_LONG:
         OSVAL      1
         OVAL       1
         SVAL       1
         VAL        1
       1.PRESS_SHORT:
         OSVAL      1
         OVAL       1
         SVAL       1
         VAL        1
       10.ACTIVITY_STATE:
         OSVAL      3
         OVAL       3
         SVAL       3
         VAL        3
       10.COLOR:
         OSVAL      black
         OVAL       0
         SVAL       black
         VAL        0
       10.COLOR_STATUS:
         OSVAL      0
         OVAL       0
         SVAL       0
         VAL        0
       10.LEVEL:
         OSVAL      0
         OVAL       0.0
         SVAL       0
         VAL        0.0
       10.LEVEL_STATUS:
         OSVAL      0
         OVAL       0
         SVAL       0
         VAL        0
       10.PROCESS:
         OSVAL      idle
         OVAL       0
         SVAL       idle
         VAL        0
       10.SECTION:
         OSVAL      0
         OVAL       0
         SVAL       1
         VAL        1
       10.SECTION_STATUS:
         OSVAL      0
         OVAL       0
         SVAL       0
         VAL        0
       11.ACTIVITY_STATE:
         OSVAL      0
         OVAL       0
         SVAL       0
         VAL        0
       11.COLOR:
         OSVAL      blue
         OVAL       1
         SVAL       blue
         VAL        1
       11.COLOR_STATUS:
         OSVAL      0
         OVAL       0
         SVAL       0
         VAL        0
       11.LEVEL:
         OSVAL      0
         OVAL       0.0
         SVAL       0
         VAL        0.0
       11.LEVEL_STATUS:
         OSVAL      0
         OVAL       0
         SVAL       0
         VAL        0
       11.PROCESS:
         OSVAL      idle
         OVAL       0
         SVAL       idle
         VAL        0
       11.SECTION:
         OSVAL     
         OVAL       
         SVAL       
         VAL        0
       11.SECTION_STATUS:
         OSVAL      1
         OVAL       1
         SVAL       1
         VAL        1
       12.ACTIVITY_STATE:
         OSVAL      3
         OVAL       3
         SVAL       3
         VAL        3
       12.COLOR:
         OSVAL      blue
         OVAL       1
         SVAL       blue
         VAL        1
       12.COLOR_STATUS:
         OSVAL      0
         OVAL       0
         SVAL       0
         VAL        0
       12.LEVEL:
         OSVAL      0
         OVAL       0.0
         SVAL       0
         VAL        0.0
       12.LEVEL_STATUS:
         OSVAL      0
         OVAL       0
         SVAL       0
         VAL        0
       12.PROCESS:
         OSVAL      idle
         OVAL       0
         SVAL       idle
         VAL        0
       12.SECTION:
         OSVAL      0
         OVAL       0
         SVAL       0
         VAL        0
       12.SECTION_STATUS:
         OSVAL      0
         OVAL       0
         SVAL       0
         VAL        0
       13.ACTIVITY_STATE:
         OSVAL      3
         OVAL       3
         SVAL       3
         VAL        3
       13.COLOR:
         OSVAL      black
         OVAL       0
         SVAL       black
         VAL        0
       13.COLOR_STATUS:
         OSVAL      0
         OVAL       0
         SVAL       0
         VAL        0
       13.LEVEL:
         OSVAL      0
         OVAL       0.0
         SVAL       0
         VAL        0.0
       13.LEVEL_STATUS:
         OSVAL      0
         OVAL       0
         SVAL       0
         VAL        0
       13.PROCESS:
         OSVAL      idle
         OVAL       0
         SVAL       idle
         VAL        0
       13.SECTION:
         OSVAL      0
         OVAL       0
         SVAL       0
         VAL        0
       13.SECTION_STATUS:
         OSVAL      0
         OVAL       0
         SVAL       0
         VAL        0
       14.ACTIVITY_STATE:
         OSVAL      3
         OVAL       3
         SVAL       3
         VAL        3
       14.COLOR:
         OSVAL      black
         OVAL       0
         SVAL       black
         VAL        0
       14.COLOR_STATUS:
         OSVAL      0
         OVAL       0
         SVAL       0
         VAL        0
       14.LEVEL:
         OSVAL      0
         OVAL       0.0
         SVAL       0
         VAL        0.0
       14.LEVEL_STATUS:
         OSVAL      0
         OVAL       0
         SVAL       0
         VAL        0
       14.PROCESS:
         OSVAL      idle
         OVAL       0
         SVAL       idle
         VAL        0
       14.SECTION:
         OSVAL      0
         OVAL       0
         SVAL       1
         VAL        1
       14.SECTION_STATUS:
         OSVAL      0
         OVAL       0
         SVAL       0
         VAL        0
       15.WEEK_PROGRAM_CHANNEL_LOCKS:
         OSVAL      0
         OVAL       0
         SVAL       0
         VAL        0
       3.PROCESS:
         OSVAL      idle
         OVAL       0
         SVAL       idle
         VAL        0
       3.SECTION:
         OSVAL     
         OVAL       
         SVAL       
         VAL       
       3.SECTION_STATUS:
         OSVAL      1
         OVAL       1
         SVAL       1
         VAL        1
       3.STATE:
         OSVAL      off
         OVAL       0
         SVAL       on
         VAL        1
       4.PROCESS:
         OSVAL      idle
         OVAL       0
         SVAL       idle
         VAL        0
       4.SECTION:
         OSVAL      3
         OVAL       3
         SVAL       0
         VAL        3
       4.SECTION_STATUS:
         OSVAL      0
         OVAL       0
         SVAL       0
         VAL        0
       4.STATE:
         OSVAL      on
         OVAL       1
         SVAL       on
         VAL        1
       5.PROCESS:
         OSVAL      idle
         OVAL       0
         SVAL       idle
         VAL        0
       5.SECTION:
         OSVAL      0
         OVAL       0
         SVAL       0
         VAL        0
       5.SECTION_STATUS:
         OSVAL      0
         OVAL       0
         SVAL       0
         VAL        0
       5.STATE:
         OSVAL      off
         OVAL       0
         SVAL       off
         VAL        0
       6.PROCESS:
         OSVAL      idle
         OVAL       0
         SVAL       idle
         VAL        0
       6.SECTION:
         OSVAL      0
         OVAL       0
         SVAL       0
         VAL        0
       6.SECTION_STATUS:
         OSVAL      0
         OVAL       0
         SVAL       0
         VAL        0
       6.STATE:
         OSVAL      off
         OVAL       0
         SVAL       off
         VAL        0
       7.ACTIVITY_STATE:
         OSVAL      0
         OVAL       0
         SVAL       0
         VAL        0
       7.COLOR:
         OSVAL      blue
         OVAL       1
         SVAL       blue
         VAL        1
       7.COLOR_STATUS:
         OSVAL      0
         OVAL       0
         SVAL       0
         VAL        0
       7.LEVEL:
         OSVAL      0
         OVAL       0.0
         SVAL       0
         VAL        0.0
       7.LEVEL_STATUS:
         OSVAL      0
         OVAL       0
         SVAL       0
         VAL        0
       7.PROCESS:
         OSVAL      idle
         OVAL       0
         SVAL       idle
         VAL        0
       7.SECTION:
         OSVAL     
         OVAL       
         SVAL       
         VAL        0
       7.SECTION_STATUS:
         OSVAL      1
         OVAL       1
         SVAL       1
         VAL        1
       8.ACTIVITY_STATE:
         OSVAL      3
         OVAL       3
         SVAL       3
         VAL        3
       8.COLOR:
         OSVAL      blue
         OVAL       1
         SVAL       blue
         VAL        1
       8.COLOR_STATUS:
         OSVAL      0
         OVAL       0
         SVAL       0
         VAL        0
       8.LEVEL:
         OSVAL      0
         OVAL       0.0
         SVAL       0
         VAL        0.0
       8.LEVEL_STATUS:
         OSVAL      0
         OVAL       0
         SVAL       0
         VAL        0
       8.PROCESS:
         OSVAL      idle
         OVAL       0
         SVAL       idle
         VAL        0
       8.SECTION:
         OSVAL      0
         OVAL       0
         SVAL       0
         VAL        0
       8.SECTION_STATUS:
         OSVAL      0
         OVAL       0
         SVAL       0
         VAL        0
       9.ACTIVITY_STATE:
         OSVAL      3
         OVAL       3
         SVAL       3
         VAL        3
       9.COLOR:
         OSVAL      black
         OVAL       0
         SVAL       black
         VAL        0
       9.COLOR_STATUS:
         OSVAL      0
         OVAL       0
         SVAL       0
         VAL        0
       9.LEVEL:
         OSVAL      0
         OVAL       0.0
         SVAL       0
         VAL        0.0
       9.LEVEL_STATUS:
         OSVAL      0
         OVAL       0
         SVAL       0
         VAL        0
       9.PROCESS:
         OSVAL      idle
         OVAL       0
         SVAL       idle
         VAL        0
       9.SECTION:
         OSVAL      0
         OVAL       0
         SVAL       0
         VAL        0
       9.SECTION_STATUS:
         OSVAL      0
         OVAL       0
         SVAL       0
         VAL        0
Attributes:
   DbLogInclude 0.RSSI_.*
   IODev      PiCCU
   ccureadingfilter (LEVEL|STATE|COLOR|PRESS|PROCESS|RSSI)
   ccuscaleval LEVEL:0:1:0:100
   event-min-interval .*:300
   event-on-change-reading .*
   room       Badezimmer
   statedatapoint 4.STATE
   statevals  on:true,off:false
   substitute STATE!(0|false):off,(1|true):on;COLOR!0:black,1:blue,2:green,3:turquoise,4:red,5:purple,6:yellow,7:white;PROCESS!0:idle,1:timer

CoolTux

Kannst Du denn per
set BZlichtschalterIP on
den Taster schalten? Oder biegt man da irgendwelche Befehle um?
Ich denke das dieses Thema eventuell HMCCU spezifisch ist. Kann mich aber auch irren, kenne mich mit IP nicht so aus.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Wetterhexe

ja schalten geht ohne Probleme, habe einen BWM der per notify das Licht einschaltet

in den HMCCUDEV devices wird einiges umgebogen, wie weit das Einfluß auf struct hat ist mir allerdings nicht klar ...

CoolTux

Kannst Du mal ein list vom notify posten. Will nur sicher gehen das wir da nicht aneinander vorbei reden.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Wetterhexe

keine Sorge, tun wir nicht  ;)

die entscheidende Stelle ist:
fhem("set BZlichtschalterIP on");

bzw. ausschalten statt on-for-timer:
fhem("defmod BZlichtschalterIP_off at +00:03:00 set BZlichtschalterIP off");

CoolTux

Sieht gut aus. Und wenn Du der Structure nun ein on gibst passiert genau bei dem Taster nichts sagst.
Mmhh.
Stell mal bitte die Structure auf verbose 5 und setze dann ein set STRUCTURNAME on ab. Und die Ausgabe im Log bitte hier posten.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Wetterhexe

Problem gelöst  8)

in den logs hab ich gesehen daß beim schalten der struct versucht wurde, noch den alten BZlichtschalter (altes HM ohne IP) zu schalten. Den hatte ich zuvor im Zuge des Wechsels auf HmIP natürlich aus der struct entfernt (delstruct/addstruct) bzw. auch die struct_map aus den Attributen des alten Schalters gelöscht und beim neuen (HmIP) eingetragen. Warum der immer noch mitgeschalten wurde ist mir ein Rätsel - es gab keinerlei Spuren davon in der fhem.cfg.

Die Lösung war, die struct Definition neu zu schreiben ohne etwas zu ändern (DEF klicken, danach modify, ohne etwas zu ändern). Dabei wurde offenbar irgendwas internes aktualisiert und seitdem funkt es wie gewünscht  8)

Danke fürs auf-den-richtigen-Weg schubsen, habe gelernt daß struct auch verbose kann  :)