Lightscene: followDevices buggy?

Begonnen von P.A.Trick, 02 Februar 2015, 15:48:50

Vorheriges Thema - Nächstes Thema

P.A.Trick

Ich habe immer noch das eigenartige Verhalten, dass bei meinen Lightscenes der Status (wenn followDevices gesetzt ist) manchmal
den Status einer anderen Szene einnimmt. Es sieht fast so aus, als wenn die richtige Szene nicht gefunden wird und dafür eine andere genommen wird. Jedenfalls
würde das erklären, warum Szenen einen Status haben, der gar nicht definiert ist. Mit Verbose 5 ist mir das im log aufgefallen:

2015.02.02 15:44:12.708 1: PERL WARNING: Use of uninitialized value $v in concatenation (.) or string at ./FHEM/01_FHEMWEB.pm line 1621.
2015.02.02 15:44:12.709 3: stacktrace:
2015.02.02 15:44:12.710 3:     main::__ANON__                      called by ./FHEM/01_FHEMWEB.pm (1621)
2015.02.02 15:44:12.711 3:     main::FW_textfieldv                 called by ./FHEM/31_LightScene.pm (851)
2015.02.02 15:44:12.711 3:     main::LightScene_editTable          called by ./FHEM/31_LightScene.pm (196)
2015.02.02 15:44:12.712 3:     main::LightScene_detailFn           called by ./FHEM/01_FHEMWEB.pm (1054)
2015.02.02 15:44:12.713 3:     main::FW_doDetail                   called by ./FHEM/01_FHEMWEB.pm (797)
2015.02.02 15:44:12.714 3:     main::FW_answerCall                 called by ./FHEM/01_FHEMWEB.pm (423)
2015.02.02 15:44:12.715 3:     main::FW_Read                       called by fhem.pl (2964)
2015.02.02 15:44:12.716 3:     main::CallFn                        called by fhem.pl (608)
2015.02.02 15:44:20.772 1: PERL WARNING: Use of uninitialized value in pattern match (m//) at ./FHEM/31_LightScene.pm line 842.
2015.02.02 15:44:20.773 3: stacktrace:
2015.02.02 15:44:20.774 3:     main::__ANON__                      called by ./FHEM/31_LightScene.pm (842)
2015.02.02 15:44:20.775 3:     main::LightScene_editTable          called by ./FHEM/31_LightScene.pm (196)
2015.02.02 15:44:20.776 3:     main::LightScene_detailFn           called by ./FHEM/01_FHEMWEB.pm (1054)
2015.02.02 15:44:20.777 3:     main::FW_doDetail                   called by ./FHEM/01_FHEMWEB.pm (797)
2015.02.02 15:44:20.778 3:     main::FW_answerCall                 called by ./FHEM/01_FHEMWEB.pm (423)
2015.02.02 15:44:20.779 3:     main::FW_Read                       called by fhem.pl (2964)
2015.02.02 15:44:20.779 3:     main::CallFn                        called by fhem.pl (608)
2015.02.02 15:44:20.780 1: PERL WARNING: Use of uninitialized value $v in concatenation (.) or string at ./FHEM/01_FHEMWEB.pm line 1621.
2015.02.02 15:44:20.781 3: stacktrace:
2015.02.02 15:44:20.782 3:     main::__ANON__                      called by ./FHEM/01_FHEMWEB.pm (1621)
2015.02.02 15:44:20.783 3:     main::FW_textfieldv                 called by ./FHEM/31_LightScene.pm (851)
2015.02.02 15:44:20.784 3:     main::LightScene_editTable          called by ./FHEM/31_LightScene.pm (196)
2015.02.02 15:44:20.785 3:     main::LightScene_detailFn           called by ./FHEM/01_FHEMWEB.pm (1054)
2015.02.02 15:44:20.786 3:     main::FW_doDetail                   called by ./FHEM/01_FHEMWEB.pm (797)
2015.02.02 15:44:20.787 3:     main::FW_answerCall                 called by ./FHEM/01_FHEMWEB.pm (423)
2015.02.02 15:44:20.787 3:     main::FW_Read                       called by fhem.pl (2964)
2015.02.02 15:44:20.788 3:     main::CallFn                        called by fhem.pl (608)



Vielleicht ein Bug von Lightscene?
Cubietruck,RPI,QNAP Ts-419p+, FS20, FRITZ!DECT200, 7 MAX! Thermostate, 3 MAX! Fensterkontakte, Kodi, CUL V3.3, EM1000S, LW12, LD382, HUE, HM-CFG-USB-2, 1x HM-LC-SW1-FM, 2x HM-LC-SW2-FM, 2x HM-LC-Sw1PBU-FM, 3xHM-LC-Bl1PBU-FM,HM-SEC-RHS, 2xHM-SEC-SD,HM-WDS30-T-O, 3x HM-LC-Dim1TPBU-FM, RPI+AddOn

justme1968

die meldungen sind aus dem editor für die szenen. wenn die auftreten bist du vermutlich in der detail ansicht. den hat ulim gebaut. mal sehen woran es liegt. es hat aber nichts mit dem problem bei followDevices zu tun. jedenfalls nicht direkt. vielleicht hat aber beides eine gemeinsame ursache. die meldungen sollten auch immer da sein und nicht nur wenn verbose 5 gesetzt ist.

kannst du vielleicht mehr zu dem 'manchmal' sagen? bitte mach mal ein list der lightscene und der beteiligten devices wenn das problem auftritt.

gruss
  andre

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

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

P.A.Trick

zu dem "manchmal": Ich glaube es hängt wesentlich mit einem fhem-Neustart zusammen!

Hier die Device-Lists:


Internals:
   DEF        DG.JZ.Deckenleuchte OG.FZ.Deckenleuchte
   HAS_DataDumper 1
   HAS_JSON   1
   NAME       ls_Licht_Kinderzimmer
   NR         1491
   NTFY_ORDER 50-ls_Licht_Kinderzimmer
   STATE      Dekoleuchten
   TYPE       LightScene
   followDevices 1
   mayBeVisible 1
   Content:
     DG.JZ.Deckenleuchte 1
     OG.FZ.Deckenleuchte 1
   Readings:
     2015-02-02 19:04:19   state           Dekoleuchten
   Scenes:
     Dekoleuchten:
     Aus:
       DG.JZ.Deckenleuchte off
       OG.FZ.Deckenleuchte off
     Ein:
       DG.JZ.Deckenleuchte on
       OG.FZ.Deckenleuchte on
   devices:
     DG.JZ.Deckenleuchte
     OG.FZ.Deckenleuchte
Attributes:
   alias      Alle Lampen im Kinderzimmer
   followDevices 1
   group      LightScene
   lightSceneRestoreOnlyIfChanged 1
   room       _Szene
   webCmd     scene


Internals:
   DEF        UG.AZ.PC
   HAS_DataDumper 1
   HAS_JSON   1
   NAME       ls_Arbeitszimmer
   NR         1494
   NTFY_ORDER 50-ls_Arbeitszimmer
   STATE      Dekoleuchten
   TYPE       LightScene
   followDevices 1
   mayBeVisible 1
   Content:
     UG.AZ.PC   1
   Readings:
     2015-02-02 19:08:32   state           Dekoleuchten
   Scenes:
     Dekoleuchten:
     Aus:
       UG.AZ.PC   off
       UG.AZ.Thermostat desiredTemperature auto
     Ein:
       UG.AZ.PC   on
       UG.AZ.Thermostat desiredTemperature 23
   devices:
     UG.AZ.PC
Attributes:
   alias      Arbneitszimmer
   followDevices 1
   group      LightScene
   lightSceneRestoreOnlyIfChanged 1
   room       _Szene
   verbose    3
   webCmd     scene


Internals:
   DEF        FS20_sender_taste_2 FS20_sender_taste_3 FS20_sender_taste_4 EG.WZ.Esstischlampe EG.WZ.IPad EG.WZ.LED.Dekolampe rpi_wz_LED_Schrank
   HAS_DataDumper 1
   HAS_JSON   1
   NAME       ls_Wohnzimmer
   NR         1156
   NTFY_ORDER 50-ls_Wohnzimmer
   STATE      Initialized
   TYPE       LightScene
   mayBeVisible 1
   Content:
     EG.WZ.Esstischlampe 1
     EG.WZ.IPad 1
     EG.WZ.LED.Dekolampe 1
     FS20_sender_taste_2 1
     FS20_sender_taste_3 1
     FS20_sender_taste_4 1
     rpi_wz_LED_Schrank 1
   Readings:
     2015-02-02 15:10:44   state           aus
   Scenes:
     Dekoleuchten:
       EG.WZ.Esstischlampe off
       EG.WZ.IPad off
       EG.WZ.LED.Dekolampe on
       FS20_sender_taste_2 off
       FS20_sender_taste_3 off
       FS20_sender_taste_4 off
       rpi_wz_LED_Schrank on
     Essen:
       AVR        ;set AVR mute
       EG.WZ.Esstischlampe on
       EG.WZ.HTPC.SWITCH off
       EG.WZ.IPad on
       EG.WZ.LED.Dekolampe on
       FS20_sender_taste_2 on
       FS20_sender_taste_3 on
       FS20_sender_taste_4 off
       FS20_sender_taste_6 off
       rpi_wz_LED_Schrank on
     Aus:
       AVR        off
       EG.WZ.Esstischlampe off
       EG.WZ.HTPC.SWITCH off
       EG.WZ.IPad on
       EG.WZ.LED.Dekolampe off
       EG.WZ.TV.SWITCH off
       FS20_sender_taste_2 off
       FS20_sender_taste_3 off
       FS20_sender_taste_4 off
       FS20_sender_taste_6 off
       rpi_wz_LED_Schrank off
       rpi_wz_TV  off
     Ein:
       AVR        off
       EG.WZ.HTPC.SWITCH off
       EG.WZ.IPad on
       EG.WZ.LED.Dekolampe on
       EG.WZ.TV.SWITCH off
       FS20_sender_taste_2 on
       FS20_sender_taste_3 on
       FS20_sender_taste_4 on
       FS20_sender_taste_6 off
       rpi_wz_LED_Schrank on
     Indirekt:
       AVR        off
       EG.WZ.Esstischlampe off
       EG.WZ.IPad on
       EG.WZ.LED.Dekolampe on
       FS20_sender_taste_2 on
       FS20_sender_taste_3 off
       FS20_sender_taste_4 off
       FS20_sender_taste_6 off
       rpi_wz_LED_Schrank on
   devices:
     EG.WZ.Esstischlampe
     EG.WZ.IPad
     EG.WZ.LED.Dekolampe
     FS20_sender_taste_2
     FS20_sender_taste_3
     FS20_sender_taste_4
     rpi_wz_LED_Schrank
Attributes:
   alias      Wohnzimmer
   group      LightScene
   lightSceneRestoreOnlyIfChanged 1
   room       _Szene
   webCmd     scene


Und hier eine Szene die nicht betroffen ist!

Internals:
   DEF        EG.GT.Aussenleuchte EG.GT.LED.Dekoleuchte
   HAS_DataDumper 1
   HAS_JSON   1
   NAME       ls_Licht_Garten
   NR         1492
   NTFY_ORDER 50-ls_Licht_Garten
   STATE      Initialized
   TYPE       LightScene
   followDevices 1
   mayBeVisible 1
   Content:
     EG.GT.Aussenleuchte 1
     EG.GT.LED.Dekoleuchte 1
   Readings:
     2015-02-02 18:52:43   state           ein
   Scenes:
     Aus:
       EG.GT.Aussenleuchte off
       EG.GT.LED.Dekoleuchte off
     Ein:
       EG.GT.Aussenleuchte on
       EG.GT.LED.Dekoleuchte on
   devices:
     EG.GT.Aussenleuchte
     EG.GT.LED.Dekoleuchte
Attributes:
   alias      Gartenbeleuchtung
   followDevices 1
   group      LightScene
   lightSceneRestoreOnlyIfChanged 1
   room       _Szene
   webCmd     scene


Danke im Voraus!
Cubietruck,RPI,QNAP Ts-419p+, FS20, FRITZ!DECT200, 7 MAX! Thermostate, 3 MAX! Fensterkontakte, Kodi, CUL V3.3, EM1000S, LW12, LD382, HUE, HM-CFG-USB-2, 1x HM-LC-SW1-FM, 2x HM-LC-SW2-FM, 2x HM-LC-Sw1PBU-FM, 3xHM-LC-Bl1PBU-FM,HM-SEC-RHS, 2xHM-SEC-SD,HM-WDS30-T-O, 3x HM-LC-Dim1TPBU-FM, RPI+AddOn

P.A.Trick

#3
Also was definitiv nicht klappt. dass der Status der LS gesetzt wird wenn kein Gerät geschaltet wird sofern das Attribut lightSceneRestoreOnlyIfChanged gesetzt ist! Es wäre schon, wenn der Status auch dann aktualisiert wird. Ist das möglich?

Edit:

Ich habe das noch eimmal mit verbose 5 durchgeführt. Komischerweise sieht dort alles richtig aus!?

2015.02.03 14:08:28.016 4: HTTP FHEMWEB:192.168.1.16:49613 GET /fhem?cmd=set%20ls_Licht_Garten%20scene%20aus&XHR=1
2015.02.03 14:08:28.018 5: Cmd: >set ls_Licht_Garten scene aus<
2015.02.03 14:08:28.022 5: Triggering ls_Licht_Garten (1 changes)
2015.02.03 14:08:28.022 5: Notify loop for ls_Licht_Garten scene aus
2015.02.03 14:08:28.024 5: statistics Statistik: Notify.260 Notification of 'ls_Licht_Garten' received. Device not monitored.
2015.02.03 14:08:28.032 5: battStatus: not on any display, ignoring notify
2015.02.03 14:08:28.033 4: eventTypes: LightScene ls_Licht_Garten scene aus -> scene aus
2015.02.03 14:08:28.056 5: rg_HM_RSSI: not on any display, ignoring notify
2015.02.03 14:08:28.074 5: rh: not on any display, don't trigger
2015.02.03 14:08:28.089 4: 2004:FHEMWEB:192.168.1.16:49613: /fhem?cmd=set%20ls_Licht_Garten%20scene%20aus&XHR=1 / RL:20 / text/plain; charset=UTF-8 / Content-Encoding: gzip^M
/
Cubietruck,RPI,QNAP Ts-419p+, FS20, FRITZ!DECT200, 7 MAX! Thermostate, 3 MAX! Fensterkontakte, Kodi, CUL V3.3, EM1000S, LW12, LD382, HUE, HM-CFG-USB-2, 1x HM-LC-SW1-FM, 2x HM-LC-SW2-FM, 2x HM-LC-Sw1PBU-FM, 3xHM-LC-Bl1PBU-FM,HM-SEC-RHS, 2xHM-SEC-SD,HM-WDS30-T-O, 3x HM-LC-Dim1TPBU-FM, RPI+AddOn

justme1968

das problem mit dem falschen state liegt an zwei dingen:

- in den ersten beiden lightscenes hast du jeweils eine szene mit namen Dekoleuchten ohne inhalt. der matched zur zeit weil kein device enthalten ist das nicht matched.

- in der dritten ist es vermutlich so das keine szene matched und deshalb state auf dem letzten wert stehen bleibt.

für das erste habe ich eben einen fix eingecheckt.

für das zweite ist es bis her so das ein nomatch event gefeuert wird. ab morgen kannst du followDevices statt auf 1 auch auf 2 setzen dann wird state auf unknown gesetzt statt beibehalten wenn keine szene passt. aber achtung: je nach schalt vorgang kann es passieren das state dann mehrfach zwischen unknown und einer passenden szene wechselt. wenn du mit einem notify reagieren willst musst du vermutlich einen watchdog dazwischen schalten.

das problem das sich state nicht ändert wenn lightSceneRestoreOnlyIfChanged und followDevices gesetzt ist und kein device geändert wird ist ab morgen auch behoben.

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

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

P.A.Trick

Zitat von: justme1968 am 04 Februar 2015, 13:40:54
das problem mit dem falschen state liegt an zwei dingen:

- in den ersten beiden lightscenes hast du jeweils eine szene mit namen Dekoleuchten ohne inhalt. der matched zur zeit weil kein device enthalten ist das nicht matched.

- in der dritten ist es vermutlich so das keine szene matched und deshalb state auf dem letzten wert stehen bleibt.

für das erste habe ich eben einen fix eingecheckt.

für das zweite ist es bis her so das ein nomatch event gefeuert wird. ab morgen kannst du followDevices statt auf 1 auch auf 2 setzen dann wird state auf unknown gesetzt statt beibehalten wenn keine szene passt. aber achtung: je nach schalt vorgang kann es passieren das state dann mehrfach zwischen unknown und einer passenden szene wechselt. wenn du mit einem notify reagieren willst musst du vermutlich einen watchdog dazwischen schalten.

das problem das sich state nicht ändert wenn lightSceneRestoreOnlyIfChanged und followDevices gesetzt ist und kein device geändert wird ist ab morgen auch behoben.

gruss
  andre

Nun die leeren Dekoleuchten Szenen habe ich in den ersten Scenes nicht definiert...sie kamen von selbst!
Zum Fix: Klasse ich teste gleich mal!
Cubietruck,RPI,QNAP Ts-419p+, FS20, FRITZ!DECT200, 7 MAX! Thermostate, 3 MAX! Fensterkontakte, Kodi, CUL V3.3, EM1000S, LW12, LD382, HUE, HM-CFG-USB-2, 1x HM-LC-SW1-FM, 2x HM-LC-SW2-FM, 2x HM-LC-Sw1PBU-FM, 3xHM-LC-Bl1PBU-FM,HM-SEC-RHS, 2xHM-SEC-SD,HM-WDS30-T-O, 3x HM-LC-Dim1TPBU-FM, RPI+AddOn

P.A.Trick

Der Fix scheint zu klappen. Mir ist jedoch aufgefallen, dass bei meiner AVM DECT200 der Status überhaupt nicht aktualisiert wird.
Hier mal das Device:



Internals:
   DEF        17 switch
   IODev      fb1
   LASTInputDev fb1
   MSGCNT     669
   NAME       UG.AZ.PC
   NR         173
   STATE      on
   TYPE       FBDECT
   fb1_MSGCNT 669
   fb1_RAWMSG 0703001c00000011001100000000000c0000000f0004000000000001
   fb1_TIME   2015-02-04 18:20:21
   id         17
   offtime    1423069139
   oldenergy  537896
   oldenergytime 1423069100
   ontime     1423069139
   props      switch
   Readings:
     2015-02-03 15:38:42   control         disabled
     2015-02-04 18:20:20   current         1.0481 A
     2015-02-04 18:20:20   energy          537974 Wh
     2015-02-04 13:52:31   lifetime        3205
     2015-02-03 15:38:41   options         powerOnState:last,lock:none
     2015-02-04 18:20:20   power           213.93 W
     2015-02-04 13:58:57   power-daily     230.8
     2015-02-03 23:58:56   power-daily-last 4025
     2015-02-04 18:20:22   power-hourly    0
     2015-02-04 17:58:59   power-hourly-last 0.0
     2015-02-04 13:58:57   power-monthly   6877.8
     2015-02-04 13:58:57   power-weekly    6877.8
     2015-02-04 13:58:57   power-yearly    6877.8
     2015-02-04 18:20:21   powerFactor     0.000
     2015-01-18 22:35:48   relayTimes      disabled
     2015-02-04 18:20:21   statCurrentDay  Min: 0.0000 Avg: 1.0766 Max: 1.4451
     2015-02-03 23:59:55   statCurrentDayLast Min: 0.9593 Avg: 1.0690 Max: 2.1955
     2015-02-04 18:20:21   statCurrentMonth Min: 0.0000 Avg: 1.0472 Max: 2.1955
     2015-01-31 23:59:55   statCurrentMonthLast Min: 0.0000 Avg: 0.2863 Max: 1.9955
     2015-02-04 18:20:21   statCurrentYear Min: 0.0000 Avg: 0.3687 Max: 2.1955
     2014-12-31 23:59:55   statCurrentYearLast Min: 0.0000 Avg: 0.2526 Max: 2.2630 (since: 2014-09-19_22:09:20 )
     2015-02-04 18:20:21   statEnergy      Hour: 78 Day: 3963 Month: 19061 Year: 61881
     2015-02-04 17:59:55   statEnergyLast  Hour: 222 Day: 5191 Month: 42820 Year: 128576 (since: 2014-09-20 )
     2015-02-04 18:20:21   statPowerDay    Min: 0.00 Avg: 217.78 Max: 374.07
     2015-02-03 23:59:55   statPowerDayLast Min: 193.97 Avg: 216.90 Max: 369.21
     2015-02-04 18:20:21   statPowerMonth  Min: 0.00 Avg: 212.21 Max: 374.07
     2015-01-31 23:59:55   statPowerMonthLast Min: 0.00 Avg: 57.82 Max: 417.63
     2015-02-04 18:20:21   statPowerYear   Min: 0.00 Avg: 74.53 Max: 417.63
     2014-12-31 23:59:55   statPowerYearLast Min: 0.00 Avg: 52.13 Max: 413.10 (since: 2014-09-19_22:09:20 )
     2015-02-04 18:20:21   statVoltageDay  Min: 228.128 Avg: 234.150 Max: 237.944
     2015-02-03 23:59:55   statVoltageDayLast Min: 229.012 Avg: 234.784 Max: 237.922
     2015-02-04 18:20:21   statVoltageMonth Min: 226.371 Avg: 234.314 Max: 239.049
     2015-01-31 23:59:55   statVoltageMonthLast Min: 226.103 Avg: 234.831 Max: 240.506
     2015-02-04 18:20:21   statVoltageYear Min: 226.103 Avg: 234.775 Max: 240.506
     2014-12-31 23:59:55   statVoltageYearLast Min: 225.800 Avg: 234.931 Max: 240.800 (since: 2014-09-19_22:09:20 )
     2015-02-04 18:20:21   state           on
     2015-02-04 18:20:20   voltage         234.440 V
   Helper:
     _98_statistics Statistik
Attributes:
   IODev      fb1
   event-min-interval power:115
   group      Steckdosen, Schalter
   power-off  1
   power-on   259.20
   room       UG.Arbeitszimmer
   userattr   lightSceneParamsToSave lightSceneRestoreOnlyIfChanged:1,0



Die Szene beeinhaltet nur dieses Devic, aber der Status wird nicht aktualisiert!
Hier noch das List der Szene:

Internals:
   DEF        UG.AZ.PC
   HAS_DataDumper 1
   HAS_JSON   1
   NAME       ls_Arbeitszimmer
   NR         1493
   NTFY_ORDER 50-ls_Arbeitszimmer
   STATE      Initialized
   TYPE       LightScene
   followDevices 1
   mayBeVisible 1
   Content:
     UG.AZ.PC   1
   Readings:
     2015-02-04 13:48:16   state           Dekoleuchten
   Scenes:
     Aus:
       UG.AZ.PC   off
       UG.AZ.Thermostat desiredTemperature auto
     Ein:
       UG.AZ.PC   on
       UG.AZ.Thermostat desiredTemperature 23
   devices:
     UG.AZ.PC
Attributes:
   alias      Arbneitszimmer
   followDevices 1
   group      LightScene
   lightSceneRestoreOnlyIfChanged 1
   room       _Szene
   verbose    3
   webCmd     scene


Vielen Dank für deine Mühe!
LG
Patrick
Cubietruck,RPI,QNAP Ts-419p+, FS20, FRITZ!DECT200, 7 MAX! Thermostate, 3 MAX! Fensterkontakte, Kodi, CUL V3.3, EM1000S, LW12, LD382, HUE, HM-CFG-USB-2, 1x HM-LC-SW1-FM, 2x HM-LC-SW2-FM, 2x HM-LC-Sw1PBU-FM, 3xHM-LC-Bl1PBU-FM,HM-SEC-RHS, 2xHM-SEC-SD,HM-WDS30-T-O, 3x HM-LC-Dim1TPBU-FM, RPI+AddOn

P.A.Trick

Ich greife den alten Thread noch einmal auf, da irgendetwas mit der Speicherung der Status Informationen im Lightscene Modul nicht in Ordnung ist.
Ich habe eine Lightscene die wie folgt aussieht:

Internals:
   DEF        UG.AZ.PC
   HAS_DataDumper 1
   HAS_JSON   1
   NAME       ls_Arbeitszimmer
   NR         1658
   NTFY_ORDER 50-ls_Arbeitszimmer
   STATE      Initialized
   TYPE       LightScene
   followDevices 1
   mayBeVisible 1
   Content:
     UG.AZ.PC   1
   Readings:
     2015-06-14 13:06:15   state           ein
   Scenes:
     Aus:
       UG.AZ.PC   off
       UG.AZ.Thermostat desiredTemperature auto
     Ein:
       UG.AZ.PC   on
       UG.AZ.Thermostat desiredTemperature 23
   devices:
     UG.AZ.PC
Attributes:
   alias      Arbneitszimmer
   followDevices 2
   group      LightScene
   lightSceneRestoreOnlyIfChanged 1
   room       _House
   verbose    5
   webCmd     scene



Das komische ist aber, dass die angezeigten Thermostate nur Fragmente einer alten Konfiguration sind.

So sieht das in FHEM aus!

Kann es sein, dass das Lightscene Modul noch woanders seine Status Informationen abspeichert, ausser in der LightScene.save Datei?
Cubietruck,RPI,QNAP Ts-419p+, FS20, FRITZ!DECT200, 7 MAX! Thermostate, 3 MAX! Fensterkontakte, Kodi, CUL V3.3, EM1000S, LW12, LD382, HUE, HM-CFG-USB-2, 1x HM-LC-SW1-FM, 2x HM-LC-SW2-FM, 2x HM-LC-Sw1PBU-FM, 3xHM-LC-Bl1PBU-FM,HM-SEC-RHS, 2xHM-SEC-SD,HM-WDS30-T-O, 3x HM-LC-Dim1TPBU-FM, RPI+AddOn

P.A.Trick

Sorry falscher Screenshot! Hier nun der richtige!
Cubietruck,RPI,QNAP Ts-419p+, FS20, FRITZ!DECT200, 7 MAX! Thermostate, 3 MAX! Fensterkontakte, Kodi, CUL V3.3, EM1000S, LW12, LD382, HUE, HM-CFG-USB-2, 1x HM-LC-SW1-FM, 2x HM-LC-SW2-FM, 2x HM-LC-Sw1PBU-FM, 3xHM-LC-Bl1PBU-FM,HM-SEC-RHS, 2xHM-SEC-SD,HM-WDS30-T-O, 3x HM-LC-Dim1TPBU-FM, RPI+AddOn

P.A.Trick

Heute ist mir noch etwas komisches im Eventmoni aufgefallen!

LightScene ls_Rolladen EG.WZ.Rollo.Tuer.state: <div id="EG.WZ.Rollo.Tuer"  class="col2"><a href="/fhem?cmd.EG.WZ.Rollo.Tuer=set EG.WZ.Rollo.Tuer runter&room=EG.Wohnzimmer_House"><[b]svg[/b] class=" fts_window_2w" alt="hoch" title="hoch" version="1.0" xmlns="http://www.w3.org/2000/svg"  width="468pt" height="340pt" viewBox="0 0 468 340"  preserveAspectRatio="xMidYMid meet"> <metadata> Created by potrace 1.8, written by Peter Selinger 2001-2007 </metadata> <g transform="translate(0,340) scale(0.158644,-0.158644)"  stroke="none"> <path d="M74 2120 c-81 -40 -75 35 -72 -1052 3 -958 3 -967 24 -994 11 -15 33 -37 48 -48 27 -21 29 -21 1400 -21 l1373 0 37 29 c70 53 66 -6 66 1055 l0 959 -27 33 c-53 63 35 59 -1450 59 -1346 0 -1358 0 -1399 -20z m1336 -698 l0 -338 -32 -9 c-21 -6 -38 -21 -46 -37 -18 -39 2 -80 46 -93 l32 -9 0 -397 0 -396 -619 -8 c-456 -5 -624 -4 -640 4 l-21 12 0 804 0 805 640 0 640 0 0 -338z m1408 -469 l-3 -808 -637 -3 -638 -2 0 400 c0 377 1 400 18 400 36 0 62 29 62 70 0 41 -26 70 -62 70 -17 0 -18 21 -18 340 l0 340 640 0 640 0 -2 -807z"/> </g> </[b]svg[/b]></a></div>
Cubietruck,RPI,QNAP Ts-419p+, FS20, FRITZ!DECT200, 7 MAX! Thermostate, 3 MAX! Fensterkontakte, Kodi, CUL V3.3, EM1000S, LW12, LD382, HUE, HM-CFG-USB-2, 1x HM-LC-SW1-FM, 2x HM-LC-SW2-FM, 2x HM-LC-Sw1PBU-FM, 3xHM-LC-Bl1PBU-FM,HM-SEC-RHS, 2xHM-SEC-SD,HM-WDS30-T-O, 3x HM-LC-Dim1TPBU-FM, RPI+AddOn

peterk_de

Sorry für das Hochholen des alten Threads, aber der Titel passt:

Ich habe folgenden reproduzierbaren Bug in followDevices eingrenzen können, der einige (ungelöste) Fragen hier im Forum evtl. klären könnte:

Enthält eine Lightscene ein Device, bei dem lightSceneParamsToSave auf ein reading ungleich state gesetzt ist, also z.B.:


defmod test.dummy dummy
attr test.dummy lightSceneParamsToSave myreading
attr test.dummy userattr lightSceneParamsToSave lightSceneRestoreOnlyIfChanged:1,0


dann funktioniert zwar das set und save der Lichtscene korrekt, aber followDevices spinnt nach kaum erkennbaren Muster. Es triggert dann nämlich nur ein Update des LightScene-States - so meine neue Erkenntnis! - wenn sich test.dummy:state ändert. Wenn sich test.dummy:myreading ändert, bekommt LightScene das nicht mit. Wenn man also noch folgendes setzt:

attr test.dummy event-on-change-reading myreading

... so funktioniert followDevices praktisch gar nicht mehr.

Und das wirkt sich eklig aus: Wenn ich z.B. bei einer WLAN-Lampe lightSceneParamsToSave RGB setze, so wird der RGB-Wert korrekt gespeichert, wiederhergestellt, ... aber followDevices klappt nur dann, wenn sich der state der lampe z.B. von "off" auf "on" ändert. Eine reine Farbänderung geht Lightscene dadurch flöten, was bei mehreren Devices in der Szene nach einem set ... scene ganz oft zu "state unknown" führt, da einige Lampen für Lightscene noch die alte Farbe zu haben scheinen.

Ich habe schon versucht, den Code im sub LightScene_SaveDevice($$;$$) dazu zu verstehen, aber ich blicke es noch nicht ;-)
FHEM auf Ubuntu-VM / 2xNUC Proxmox Cluster
UI: HomeKit, TabletUI, Grafana
IOdevs: 2xHueBridge, RaspiMatic-CCU, CUL868, 2xHarmonyHub, 6xRaspi-Roomnode mit CO2, VOC und lepresenced
Devices: 107xHomematic(IP), 96xPhilips Hue, 17xTECHEM, 12xBTLE, 8xSONOS, 2xHomeConnect, 1xShelly 3em, 1xNanoleaf ...

justme1968

followDevices ist nur für state implementiert.

das problem ist: das followDevices arbeitet event basiert, es ist aber nur für eine kleine untermenge der möglichen lightSceneParamsToSave kombinationen möglich anhand eines einzigen events und ohne unter umständen lange berechnungen den aktuellen zustand herauszufinden und mit dem zustand in den szenen zu vergleichen. und nur ein teil dieser untermenge lässt sich automatsch erkennen.


du kannst mal versuchen in 31_LightScene.pm die zeilen:272       next if( $value ne "" );
273                   
274       $reading = "state";
275       $value = $s;

durch
       $reading = "" if( !defined($reading) );
       $value = "" if( !defined($value) );
       if( $value eq "" ) {
         $reading = "state";
         $value = $s;
       }

zu ersetzen und dann schauen ob es so funktioniert wie du möchtest.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

peterk_de

Läuft einwandfrei - DAAAANKE! Habe es jetzt in der kritischen Szene eine ganze Weile getestet und followDevices läuft jetzt wie geschmiert!

Das löst einige große Probleme in meiner Installation, für die ich mir schon häßliche Workarounds gebastelt hatte!! Super!
FHEM auf Ubuntu-VM / 2xNUC Proxmox Cluster
UI: HomeKit, TabletUI, Grafana
IOdevs: 2xHueBridge, RaspiMatic-CCU, CUL868, 2xHarmonyHub, 6xRaspi-Roomnode mit CO2, VOC und lepresenced
Devices: 107xHomematic(IP), 96xPhilips Hue, 17xTECHEM, 12xBTLE, 8xSONOS, 2xHomeConnect, 1xShelly 3em, 1xNanoleaf ...

justme1968

ich hab es mal so eingecheckt.

wichtig: das geht nur so lange lightSceneParamsToSave nicht oder nur genau ein reading enthält.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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