Farbiges devStateIcon bei einer HUEGroup

Begonnen von roland-l, 10 Februar 2024, 18:20:21

Vorheriges Thema - Nächstes Thema

roland-l

Hallo zusammen,
Ich versuche zu einer HUEGroup ein Farbiges devStateIcon zu erzeugen.

Das Attribute ,,createGroupReadings 1" ist gesetzt und ich bekomme in der Gruppe auch alle Readings angezeigt.

Aber das Icon ist immer Weiß und zeigt den PCT - Wert als Strahlenkranz an.

Ich hätte aber gerne ein Icon das auch die Farbe ändert. (genau wie bei den Einzelnen Lampen.)

Wenn ich das Attribute ,,devStateIcon"  überschreibe mit {Color::devStateIcon($name,"rgb","rgb","pct","onoff")} habe ich ein Farbioges Icon.
Aber damit ändern sich die Farbe auch wenn sich die Helligkeit ändert.

Das passiert bei den einzelnen Lampen, beim Icon, nicht. 
Da bleibt die Farbe Hell und nur der Strahlenkranz ändert sich.

Ich hoffe ich habe mein Problem verständlich gemacht und mir kann einer weiter helfen.
Gruß Roland
 

Hier ein List von der Gruppe

define HUEGroup82 HUEDevice group 82  IODev=HUEBridge
attr HUEGroup82 userattr createActionReadings:1,0 createGroupReadings:1,0
attr HUEGroup82 IODev HUEBridge
attr HUEGroup82 alias Rol_Licht_Decke_1bis3
attr HUEGroup82 color-icons 2
attr HUEGroup82 createActionReadings 1
attr HUEGroup82 createGroupReadings 1
attr HUEGroup82 delayedUpdate 1
attr HUEGroup82 devStateIcon {(HUEDevice_devStateIcon($name),"toggle")}
attr HUEGroup82 group HUEGroup
attr HUEGroup82 room FHEM,HUEDevice
attr HUEGroup82 webCmd bri:rgb:on:off
#   CFGFN     
#   DEF        group 82  IODev=HUEBridge
#   FUUID      65c514ae-f33f-9447-032e-f57dd47ec4d68207
#   FVERSION   31_HUEDevice.pm:0.267300/2022-11-21
#   ID         G82
#   INTERVAL   
#   IODev      HUEBridge
#   NAME       HUEGroup82
#   NR         61027
#   STATE      dim18%
#   TYPE       HUEDevice
#   class      Other
#   desired    1
#   eventCount 2997
#   lights     49,50,51
#   name       Rol_Licht_Decke_1bis3
#   type       Zone
#   READINGS:
#     2024-02-08 18:51:43   IODev           HUEBridge
#     2024-02-08 18:53:38   alert           select
#     2024-02-10 17:38:01   all_on          0
#     2024-02-10 17:41:45   any_on          1
#     2024-02-10 18:16:14   bri             41
#     2024-02-10 18:16:14   colormode       hs
#     2024-02-10 18:16:14   ct              867
#     2024-02-08 18:53:38   effect          none
#     2024-02-10 18:16:14   hue             12571
#     2024-02-10 18:16:14   onoff           1
#     2024-02-10 18:16:14   pct             16
#     2024-02-08 18:53:38   reachable       1
#     2024-02-10 17:38:07   rgb             28291e
#     2024-02-10 18:16:14   sat             72
#     2024-02-10 17:41:45   state           dim18%
#     2024-02-10 17:38:12   xy              0.4087,0.5181
#   helper:
#     alert      select
#     all_on     0
#     any_on     1
#     bri        41
#     colormode  hs
#     ct         867
#     devtype    G
#     effect     none
#     fromAutocreate 1
#     hue        12571
#     onoff      1
#     pct        16
#     reachable  1
#     rgb        28291e
#     sat        72
#     state      dim18%
#     update_timeout 1
#     xy         0.4087,0.5181
#     bm:
#       HUEDevice_Attr:
#         cnt        15
#         dmx        -1000
#         dtot       0
#         dtotcnt    0
#         mTS        08.02. 19:05:35
#         max        0.000152111053466797
#         tot        0.000474691390991211
#         mAr:
#           del
#           HUEGroup82
#           subType
#       HUEDevice_Define:
#         cnt        1
#         dmx        -1000
#         dtot       0
#         dtotcnt    0
#         mTS        08.02. 18:51:43
#         max        0.00910210609436035
#         tot        0.00910210609436035
#         mAr:
#           HASH(0x1cd1a218)
#           HUEGroup82 HUEDevice group 82 IODev=HUEBridge
#       HUEDevice_Get:
#         cnt        32
#         dmx        -1000
#         dtot       0
#         dtotcnt    0
#         mTS        08.02. 19:05:35
#         max        0.000177145004272461
#         tot        0.00176262855529785
#         mAr:
#           HASH(0x1cd1a218)
#           HUEGroup82
#           ?
#       HUEDevice_Set:
#         cnt        483
#         dmx        -1000
#         dtot       0
#         dtotcnt    0
#         mTS        08.02. 19:05:35
#         max        0.00891208648681641
#         tot        1.98308753967285
#         mAr:
#           HASH(0x1cd1a218)
#           HUEGroup82
#           ?
#     json:
#       class      Other
#       name       Rol_Licht_Decke_1bis3
#       type       Zone
#       action:
#         alert      select
#         bri        113
#         colormode  xy
#         ct         289
#         effect     none
#         hue        13860
#         sat        250
#         xy:
#           0.4087
#           0.5181
#       lights:
#         49
#         50
#         51
#       sensors:
#       state:
#     lights:
#       49         1
#       50         1
#       51         1
#   hmccu:
#
setstate HUEGroup82 dim18%
setstate HUEGroup82 2024-02-08 18:51:44 .associatedWith Rol_Licht_Decke1 Rol_Licht_Decke2 Rol_Licht_Decke3
setstate HUEGroup82 2024-02-08 18:51:43 IODev HUEBridge
setstate HUEGroup82 2024-02-08 18:53:38 alert select
setstate HUEGroup82 2024-02-10 17:38:01 all_on 0
setstate HUEGroup82 2024-02-10 17:41:45 any_on 1
setstate HUEGroup82 2024-02-10 18:16:14 bri 41
setstate HUEGroup82 2024-02-10 18:16:14 colormode hs
setstate HUEGroup82 2024-02-10 18:16:14 ct 867
setstate HUEGroup82 2024-02-08 18:53:38 effect none
setstate HUEGroup82 2024-02-10 18:16:14 hue 12571
setstate HUEGroup82 2024-02-10 18:16:14 onoff 1
setstate HUEGroup82 2024-02-10 18:16:14 pct 16
setstate HUEGroup82 2024-02-08 18:53:38 reachable 1
setstate HUEGroup82 2024-02-10 17:38:07 rgb 28291e
setstate HUEGroup82 2024-02-10 18:16:14 sat 72
setstate HUEGroup82 2024-02-10 17:41:45 state dim18%
setstate HUEGroup82 2024-02-10 17:38:12 xy 0.4087,0.5181


Und ein list von einer Lampe bei der das Icon wie gewünscht aussieht.
define Rol_Licht_Decke1 HUEDevice 49  IODev=HUEBridge
attr Rol_Licht_Decke1 userattr Licht Licht_map lightSceneParamsToSave lightSceneRestoreOnlyIfChanged:1,0 structexclude
attr Rol_Licht_Decke1 IODev HUEBridge
attr Rol_Licht_Decke1 color-icons 2
attr Rol_Licht_Decke1 comment orginal webCmd\
rgb:rgb ff0000:rgb DEFF26:rgb 0000ff:ct 490:ct 380:ct 270:ct 160:toggle:on:off
attr Rol_Licht_Decke1 devStateIcon {(HUEDevice_devStateIcon($name),"toggle")}
attr Rol_Licht_Decke1 group Licht
attr Rol_Licht_Decke1 model LCG002
attr Rol_Licht_Decke1 room HUEDevice,Roland
attr Rol_Licht_Decke1 subType extcolordimmer
attr Rol_Licht_Decke1 webCmd bri:rgb:on:off
#   CFGFN     
#   DEF        49  IODev=HUEBridge
#   FUUID      65be1c13-f33f-9447-4d91-f4f863ff3965cad6
#   FVERSION   31_HUEDevice.pm:0.267300/2022-11-21
#   ID         49
#   INTERVAL   
#   IODev      HUEBridge
#   NAME       Rol_Licht_Decke1
#   NR         45818
#   STATE      dim43%
#   TYPE       HUEDevice
#   desired    1
#   eventCount 2195
#   has_events 1
#   manufacturername Signify Netherlands B.V.
#   modelid    LCG002
#   name       Rol_Licht_Decke1
#   productid  Philips-LCG002-3-GU10ECLv2
#   productname Hue color spot
#   swconfigid D779D146
#   swversion  1.104.2
#   type       Extended color light
#   uniqueid   00:17:88:01:0d:4b:25:d3-0b
#   v2_id      9d65c7c1-30cb-4f6a-b0ae-d1763b50efbd
#   READINGS:
#     2024-02-03 11:57:24   IODev           HUEBridge
#     2024-02-03 11:57:25   alert           select
#     2024-02-10 17:37:40   bri             113
#     2024-02-10 11:45:04   colormode       xy
#     2024-02-10 17:38:13   ct              289 (3460K)
#     2024-02-03 14:47:49   dynamics_status none
#     2024-02-03 11:57:25   effect          none
#     2024-02-10 17:38:13   hue             13860
#     2024-02-10 17:41:45   onoff           1
#     2024-02-10 17:41:45   pct             45
#     2024-02-10 17:38:04   reachable       1
#     2024-02-10 17:37:40   rgb             6c7c12
#     2024-02-10 17:38:13   sat             250
#     2024-02-10 17:41:45   state           dim43%
#     2024-02-07 14:45:01   v2effect        no_effect
#     2024-02-10 17:37:40   xy              0.4087,0.5181
#   helper:
#     alert      select
#     battery    -1
#     bri        113
#     colormode  xy
#     ct         289
#     devtype   
#     dynamics_status none
#     effect     none
#     hue        13860
#     lastseen   
#     mode       
#     pct        45
#     reachable  1
#     rgb        6c7c12
#     sat        250
#     update_timeout -1
#     v2effect   no_effect
#     xy         0.4087,0.5181
#     bm:
#       HUEDevice_Attr:
#         cnt        9
#         dmx        -1000
#         dtot       0
#         dtotcnt    0
#         mTS        03.02. 12:09:58
#         max        4.1961669921875e-05
#         tot        0.000197410583496094
#         mAr:
#           set
#           Rol_Licht_Decke1
#           group
#           Licht
#       HUEDevice_Define:
#         cnt        1
#         dmx        -1000
#         dtot       0
#         dtotcnt    0
#         mTS        03.02. 11:57:23
#         max        0.00920200347900391
#         tot        0.00920200347900391
#         mAr:
#           HASH(0x1837c148)
#           HUEDevice49 HUEDevice 49 IODev=HUEBridge
#       HUEDevice_Get:
#         cnt        15780
#         dmx        -1000
#         dtot       0
#         dtotcnt    0
#         mTS        06.02. 07:06:47
#         max        0.00273609161376953
#         tot        1.68245077133179
#         mAr:
#           HASH(0x1837c148)
#           Rol_Licht_Decke1
#           rgb
#       HUEDevice_Set:
#         cnt        5761
#         dmx        -1000
#         dtot       0
#         dtotcnt    0
#         mTS        03.02. 17:28:24
#         max        0.0144448280334473
#         tot        22.6353824138641
#         mAr:
#           HASH(0x1837c148)
#           Rol_Licht_Decke1
#           ?
#     capabilities:
#       control:
#         colorgamuttype C
#         maxlumen   300
#         mindimlevel 200
#         colorgamut:
#           ARRAY(0x18b22070)
#           ARRAY(0x18c75f80)
#           ARRAY(0x18b14260)
#         ct:
#           max        500
#           min        153
#       streaming:
#     helper:
#     json:
#       manufacturername Signify Netherlands B.V.
#       modelid    LCG002
#       name       Rol_Licht_Decke1
#       productid  Philips-LCG002-3-GU10ECLv2
#       productname Hue color spot
#       swconfigid D779D146
#       swversion  1.104.2
#       type       Extended color light
#       uniqueid   00:17:88:01:0d:4b:25:d3-0b
#       capabilities:
#         control:
#           colorgamuttype C
#           maxlumen   300
#           mindimlevel 200
#           colorgamut:
#             ARRAY(0x1f4a8fe8)
#             ARRAY(0x20628bf8)
#             ARRAY(0x1f723c00)
#           ct:
#             max        500
#             min        153
#         streaming:
#       config:
#         archetype  singlespot
#         direction  downwards
#         function   mixed
#         startup:
#           mode       safety
#       state:
#         alert      select
#         bri        113
#         colormode  xy
#         ct         289
#         effect     none
#         hue        13860
#         mode       homeautomation
#         sat        250
#         xy:
#           0.4087
#           0.5181
#       swupdate:
#         lastinstall 2024-02-07T13:44:57
#         state      noupdates
#   hmccu:
#
setstate Rol_Licht_Decke1 dim43%
setstate Rol_Licht_Decke1 2024-02-03 11:57:24 IODev HUEBridge
setstate Rol_Licht_Decke1 2024-02-03 11:57:25 alert select
setstate Rol_Licht_Decke1 2024-02-10 17:37:40 bri 113
setstate Rol_Licht_Decke1 2024-02-10 11:45:04 colormode xy
setstate Rol_Licht_Decke1 2024-02-10 17:38:13 ct 289 (3460K)
setstate Rol_Licht_Decke1 2024-02-03 14:47:49 dynamics_status none
setstate Rol_Licht_Decke1 2024-02-03 11:57:25 effect none
setstate Rol_Licht_Decke1 2024-02-10 17:38:13 hue 13860
setstate Rol_Licht_Decke1 2024-02-10 17:41:45 onoff 1
setstate Rol_Licht_Decke1 2024-02-10 17:41:45 pct 45
setstate Rol_Licht_Decke1 2024-02-10 17:38:04 reachable 1
setstate Rol_Licht_Decke1 2024-02-10 17:37:40 rgb 6c7c12
setstate Rol_Licht_Decke1 2024-02-10 17:38:13 sat 250
setstate Rol_Licht_Decke1 2024-02-10 17:41:45 state dim43%
setstate Rol_Licht_Decke1 2024-02-07 14:45:01 v2effect no_effect
setstate Rol_Licht_Decke1 2024-02-10 17:37:40 xy 0.4087,0.5181


TomLee

Hallo,

wenn du ein

attr HUEGroup82 subType extcolordimmer
angibst und in devStateIcon weiterhin die HUEDevice_devStateIcon-Funktion verwendest
attr HUEGroup82 devStateIcon {(HUEDevice_devStateIcon($name),"toggle")}
verhält devStateIcon sich dann wie bei den einzelnen Lampen ?

Gruß

Thomas

roland-l

Hallo Thomas
Leider nicht. Das icon bleibt immer weiss. Egal bei welcher Farbe. Der Strallenkranz ändert sich.

Gruß Roland

TomLee

Hab mit HUEDevice noch nie was am Hut gehabt. Warum gibt es kein v2effect-Reading in dem Gruppen-Device ?

roland-l

Ich Denke das es nicht möglich ist für eine Gruppe einen "v2effect" zu schalten.
Deshalb wird das Reading vom Modul nicht erzeugt.
Trotzdem danke für deine mühe.

gruß Roland

TomLee

Ich hab mir den Code der Funktion HUEDevice_devStateIcon mal genauer angeschaut und dein Verhalten scheint korrekt zu sein.

Wenn in dem Device-Hash unter helper->devtype (das siehst du in dem List Copy for Forum) ein G vorkommt (schätze das steht für Gruppe) dann wird einfach das Icon nicht farbig dargestellt, so ist das vorgesehen:

  if( $hash->{helper}->{devtype} && $hash->{helper}->{devtype} eq 'G' ) {
    if( $hash->{IODev} ) {
      my $createGroupReadings = AttrVal($hash->{IODev}{NAME},"createGroupReadings",undef);
      if( defined($createGroupReadings) ) {
        return undef if( $createGroupReadings && !AttrVal($hash->{NAME},"createGroupReadings", 1) );
        return undef if( !$createGroupReadings && !AttrVal($hash->{NAME},"createGroupReadings", undef) );


        return ".*:off:toggle" if( ReadingsVal($name,"onoff","0") eq "0" );

        my $pct = ReadingsVal($name,"pct","100");
        my $s = $dim_values{int($pct/7)};
        $s="on" if( $pct eq "100" );

        return ".*:$s:toggle";
      }
    }

Zum Spaß hab ich das G mal rausgenommen, dann wird das Icon farbig dargestellt.

roland-l

Danke.
Ich hatte mir den Code auch schon mal angesehen.
Ich tu mich mit Perl aber etwas schwer. Wenn es um ,,$hash" geht. Und wo der befüllt wird.
Damit ist meine Frage auf jeden Fall beantwortet. Wenn das so nicht vorgesehen ist dann ist das ebenso.

Ich bin mir noch nicht sicher ob ich jetzt den Code ändere und das Modul vom Update ausschließe oder ob ich mit dem Weißen Icon lebe.

Auf jeden Fall danke Thomas. Das du dir, auch wenn du mit HUEDevice nichts am Hut gehabt hast, soviel Mühe gegeben hast.
Ich habe jetzt Gewißheit das es kein Anwender Fehler war.
Gruß Roland