Shelly Plus RGBW pm sauber ansteuern

Begonnen von Tueftler1983, 31 Januar 2025, 09:34:33

Vorheriges Thema - Nächstes Thema

Tueftler1983

Hallo zusammen,
Ich versuche einen Shelly Plus RGBW pm suber und hübsch anzusteuern. Ansteuerung erfolgt über Mqtt, was rudimentär funktioniert.
Ich kann über den ColorPicker eine Farbe auswählen und über den 1. Slider die Helligkeit der RGB LEDs einstellen. Über den 2. Slider kann ich die Helligkeit der WW LED einstellen. Über on und off kann ich komplett ein und aus schalten.

Slider 1 ist von 0 bis 100 (farbe)
Slider 2 ist von 0 bis 255 (weiß)
die RGB LED werden über hex werte angesteuert geben im Reading rgb_1, rgb_2, rgb_3 werte von 0 bis 255 ( was mir das erstellen den Farbigen devStateIcon erschwert da da Hex werte erwartet werden.


Hoffe ihr versteht was ich meine.

hier meine dev
define Unterschrank MQTT2_DEVICE Unterschrank
attr Unterschrank alexaName Unterschrank
attr Unterschrank assistantName Unterschrank
attr Unterschrank comment 1 Unterschrank\
2 Unterschrank
attr Unterschrank devStateIcon {my $onl = ReadingsVal($name,'online','false') eq 'false'?'10px-kreis-rot':'10px-kreis-gruen';; $onl = FW_makeImage($onl);; my $light = FW_makeImage(ReadingsVal($name,'state','off'));; my $temp = ReadingsVal($name,'temperature_tC','-100');; my $ip = ReadingsVal($name,'ip','none');; my $reb = ReadingsVal($name,'sys_restart_required','false') eq 'true'?'<a href="/fhem?cmd.dummy=set '.$name.' x_reboot&XHR=1"> ... Notwendigen Reboot durchf�hren</a>':'';; qq(<a href="http://$ip" target="_blank">${onl}</a><a href="/fhem?cmd.dummy=set $name toggle&XHR=1">${light}</a>$reb<div>Temp: $temp °C</div>);;Color_devStateIcon(ReadingsVal($name,"HSV","000000"))}
attr Unterschrank devicetopic Unterschrank
attr Unterschrank disable 0
attr Unterschrank genericDeviceType light
attr Unterschrank icon light_control
attr Unterschrank jsonMap brightness:pct
attr Unterschrank model shellyplusrgbwpm
attr Unterschrank readingList Unterschrank:Unterschrank/status/ws:.* { json2nameValue($EVENT) }\
Unterschrank:Unterschrank/online:.* online\
Unterschrank:Unterschrank/status/ble:.* ble\
Unterschrank:Unterschrank/status/cloud:.* { json2nameValue($EVENT) }\
Unterschrank:Unterschrank/status/input_0:.* { json2nameValue($EVENT) }\
Unterschrank:Unterschrank/status/input_1:.* { json2nameValue($EVENT) }\
Unterschrank:Unterschrank/status/input_2:.* { json2nameValue($EVENT) }\
Unterschrank:Unterschrank/status/input_3:.* { json2nameValue($EVENT) }\
Unterschrank:Unterschrank/status/mqtt:.* { json2nameValue($EVENT) }\
Unterschrank:Unterschrank/status/plusrgbwpm:.* plusrgbwpm\
Unterschrank:Unterschrank/status/rgbw_0:.* { json2nameValue($EVENT) }\
Unterschrank:Unterschrank/status/sys:.* { json2nameValue($EVENT) }\
Unterschrank:Unterschrank/status/wifi:.* { json2nameValue($EVENT) }\
Unterschrank:Unterschrank/events/rpc:.* { json2nameValue($EVENT) }\
Unterschrank:fhem/rpc:.* { json2nameValue($EVENT) }\
Unterschrank:Unterschrank: .*
attr Unterschrank room GoogleAssistant,Küche,MQTT2_DEVICE
attr Unterschrank setList on:noArg $DEVICETOPIC/rpc {"id":0,"src":"fhem","method":"RGBW.Set","params": {"id":0,"on":true}}\
  off:noArg $DEVICETOPIC/rpc {"id":0,"src":"fhem","method":"RGBW.Set","params": {"id":0,"on":false}}\
  toggle:noArg $DEVICETOPIC/rpc {"id":0,"src":"fhem","method":"RGBW.Toggle","params": {"id":0}}\
  white:colorpicker,BRI,0,5,255 $DEVICETOPIC/rpc {"id":0,"src":"fhem","method":"RGBW.Set","params": {"id":0,"on":true,"white":$EVTPART1}}\
  brightness:colorpicker,BRI,0,5,100 $DEVICETOPIC/rpc {"id":0,"src":"fhem","method":"RGBW.Set","params": {"id":0,"on":true,"brightness":$EVTPART1}}\
  duration:colorpicker,BRI,1,1,5 $DEVICETOPIC/rpc {"id":0,"src":"fhem","method":"RGBW.Set","params": {"id":0,"on":true,"transition_duration":$EVTPART1}}\
  toggle_after:colorpicker,BRI,1,1,10 $UnterschrankTOPIC/rpc {"id":0,"src":"fhem","method":"RGBW.Set","params": {"id":0,"on":true,"toggle_after":$EVTPART1}}\
  rot:noArg $DEVICETOPIC/rpc {"id":0,"src":"fhem","method":"RGBW.Set","params": {"id":0,"on":true,"rgb":[255,0,0]}}\
gruen:noArg $DEVICETOPIC/rpc {"id":0,"src":"fhem","method":"RGBW.Set","params": {"id":0,"on":true,"rgb":[0,255,0]}}\
blau:noArg $DEVICETOPIC/rpc {"id":0,"src":"fhem","method":"RGBW.Set","params": {"id":0,"on":true,"rgb":[0,0,255]}}\
  status:noArg $DEVICETOPIC/rpc {"id":0,"src":"fhem","method":"RGBW.Set","params": {"id":0,"on":true,"white":255}}\
  rgb:colorpicker,RGB {$EVTPART1=~/(..)(..)(..)/;;my @a=(hex($1),hex($2),hex($3));;if($1 ne $2 || $2 ne $3) {qq($DEVICETOPIC/rpc {"id":0,"src":"fhem","method":"RGBW.Set","params": {"id":0,"on":true,"white":0,"rgb":[$a[0],$a[1],$a[2]]}})}else{qq($DEVICETOPIC/rpc {"id":0,"src":"fhem","method":"RGBW.Set","params": {"id":0,"on":true,"white":255,"rgb":[$a[0],$a[1],$a[2]]}})}}
attr Unterschrank userReadings ip { ReadingsVal($name,"sta_ip",0)}, HSV { ReadingsVal("Unterschrank", "rgb_1", "0,0,0") . "" . ReadingsVal("Unterschrank", "rgb_2", "0,0,0") . "" . ReadingsVal("Unterschrank", "rgb_3", "0,0,0") }
attr Unterschrank verbose 0
attr Unterschrank webCmd on:off:rgb:brightness:white
#   CID        Unterschrank
#   DEF        Unterschrank
#   FUUID      6776d6d2-f33f-91a4-4bd4-1e55d888e92df30a
#   IODev      MQTT2_FHEM_Server
#   LASTInputDev MQTT2_FHEM_Server
#   MQTT2_FHEM_Server_CONN MQTT2_FHEM_Server_192.168.2.69_60212
#   MQTT2_FHEM_Server_MSGCNT 15131
#   MQTT2_FHEM_Server_TIME 2025-01-31 09:33:00
#   MSGCNT     15131
#   NAME       Unterschrank
#   NR         690
#   STATE      brightness
#   TYPE       MQTT2_DEVICE
#   eventCount 15320
#   JSONMAP:
#     brightness pct
#   READINGS:
#     2025-01-31 09:33:00   HSV             19160242
#     2025-01-26 13:44:52   IODev           MQTT2_FHEM_Server
#     2025-01-31 09:33:00   aenergy_by_minute_1 15.921
#     2025-01-31 09:33:00   aenergy_by_minute_2 15.919
#     2025-01-31 09:33:00   aenergy_by_minute_3 15.924
#     2025-01-31 09:33:00   aenergy_minute_ts 1738312380
#     2025-01-31 09:33:00   aenergy_total   1684.853
#     2025-01-31 09:33:00   apower          1.0
#     2025-01-29 09:53:14   available_updates_beta_version 1.5.0-beta1
#     2025-01-29 09:53:14   ble             {}
#     2025-01-31 09:33:00   brightness      0
#     2025-01-29 09:53:14   cfg_rev         42
#     2025-01-29 09:53:14   connected       true
#     2025-01-31 09:33:00   current         0.078
#     2025-01-31 09:33:00   dst             Unterschrank/events
#     2025-01-29 09:53:14   fs_free         90112
#     2025-01-29 09:53:14   fs_size         393216
#     2025-01-31 09:33:00   id              0
#     2025-01-31 09:33:00   ip              192.168.2.69
#     2025-01-29 09:53:14   kvs_rev         0
#     2025-01-29 09:53:14   mac             ECC9FF4C616C
#     2025-01-31 09:33:00   method          NotifyStatus
#     2025-01-29 09:53:14   online          true
#     2025-01-31 09:33:00   output          true
#     2025-01-29 09:53:14   params_cloud_connected true
#     2025-01-14 14:14:35   params_events_1_cfg_rev 42
#     2025-01-14 14:14:35   params_events_1_component sys
#     2025-01-14 14:14:35   params_events_1_event config_changed
#     2025-01-13 21:12:43   params_events_1_id 0
#     2025-01-13 18:30:51   params_events_1_reason 8
#     2025-01-14 14:14:35   params_events_1_restart_required false
#     2025-01-14 14:14:35   params_events_1_ts 1736860475.50
#     2025-01-29 09:53:14   params_input_0_id 0
#     2025-01-29 09:53:14   params_input_1_id 1
#     2025-01-29 09:53:14   params_input_2_id 2
#     2025-01-29 09:53:14   params_input_3_id 3
#     2025-01-29 09:53:14   params_mqtt_connected true
#     2025-01-31 09:33:00   params_rgbw_0_aenergy_by_minute_1 15.921
#     2025-01-31 09:33:00   params_rgbw_0_aenergy_by_minute_2 15.919
#     2025-01-31 09:33:00   params_rgbw_0_aenergy_by_minute_3 15.924
#     2025-01-31 09:33:00   params_rgbw_0_aenergy_minute_ts 1738312380
#     2025-01-31 09:33:00   params_rgbw_0_aenergy_total 1684.853
#     2025-01-31 09:25:11   params_rgbw_0_apower 1.0
#     2025-01-31 09:25:09   params_rgbw_0_brightness 0
#     2025-01-31 09:25:11   params_rgbw_0_current 0.078
#     2025-01-31 09:33:00   params_rgbw_0_id 0
#     2025-01-31 09:25:09   params_rgbw_0_output true
#     2025-01-31 09:25:09   params_rgbw_0_rgb_1 19
#     2025-01-31 09:25:09   params_rgbw_0_rgb_2 160
#     2025-01-31 09:25:09   params_rgbw_0_rgb_3 242
#     2025-01-31 09:25:09   params_rgbw_0_source MQTT
#     2025-01-29 09:53:14   params_rgbw_0_temperature_tC 54.4
#     2025-01-29 09:53:14   params_rgbw_0_temperature_tF 129.9
#     2025-01-29 09:53:14   params_rgbw_0_voltage 12.2
#     2025-01-31 09:25:09   params_rgbw_0_white 255
#     2025-01-29 09:53:14   params_sys_available_updates_beta_version 1.5.0-beta1
#     2025-01-29 09:53:14   params_sys_cfg_rev 42
#     2025-01-29 09:53:14   params_sys_fs_free 90112
#     2025-01-29 09:53:14   params_sys_fs_size 393216
#     2025-01-29 09:53:14   params_sys_kvs_rev 0
#     2025-01-29 09:53:14   params_sys_mac  ECC9FF4C616C
#     2025-01-29 09:53:14   params_sys_ram_free 128040
#     2025-01-29 09:53:14   params_sys_ram_size 252208
#     2025-01-29 09:53:14   params_sys_reset_reason 1
#     2025-01-29 09:53:14   params_sys_restart_required false
#     2025-01-29 09:53:14   params_sys_schedule_rev 1
#     2025-01-29 09:53:14   params_sys_time 09:53
#     2025-01-29 09:53:14   params_sys_unixtime 1738140793
#     2025-01-29 09:53:14   params_sys_uptime 1351357
#     2025-01-29 09:53:14   params_sys_webhook_rev 0
#     2025-01-31 09:33:00   params_ts       1738312380.00
#     2025-01-29 09:53:14   params_wifi_rssi -65
#     2025-01-29 09:53:14   params_wifi_ssid FRITZ!Box 6360 Cable Holger
#     2025-01-29 09:53:14   params_wifi_sta_ip 192.168.2.69
#     2025-01-29 09:53:14   params_wifi_status got ip
#     2025-01-29 09:53:14   params_ws_connected false
#     2025-01-29 09:53:14   plusrgbwpm      {}
#     2025-01-29 09:53:14   ram_free        126500
#     2025-01-29 09:53:14   ram_size        252100
#     2025-01-29 09:53:14   reset_reason    1
#     2025-01-29 09:53:14   restart_required false
#     2025-01-31 08:20:00   rgb             21255
#     2025-01-31 09:33:00   rgb_1           19
#     2025-01-31 09:33:00   rgb_2           160
#     2025-01-31 09:33:00   rgb_3           242
#     2025-01-29 09:53:14   rssi            -65
#     2025-01-29 09:53:14   schedule_rev    1
#     2025-01-31 09:33:00   source          MQTT
#     2025-01-31 09:33:00   src             shellyplusrgbwpm-ecc9ff4c616c
#     2025-01-29 09:53:14   ssid            FRITZ!Box 6360 Cable Holger
#     2025-01-29 09:53:14   sta_ip          192.168.2.69
#     2025-01-31 09:25:09   state           brightness
#     2025-01-29 09:53:14   status          got ip
#     2025-01-26 13:45:40   subscriptions   Unterschrank/command Unterschrank/command/sys Unterschrank/rpc shellies/command
#     2025-01-31 09:33:00   temperature_tC  51.9
#     2025-01-31 09:33:00   temperature_tF  125.4
#     2025-01-29 09:53:14   time            09:53
#     2025-01-29 09:53:14   unixtime        1738140793
#     2025-01-29 09:53:14   uptime          1351357
#     2025-01-31 09:33:00   voltage         12.2
#     2025-01-29 09:53:14   webhook_rev     0
#     2025-01-31 09:33:00   white           255
#
setstate Unterschrank brightness
setstate Unterschrank 2025-01-31 09:33:00 HSV 19160242
setstate Unterschrank 2025-01-26 13:44:52 IODev MQTT2_FHEM_Server
setstate Unterschrank 2025-01-31 09:33:00 aenergy_by_minute_1 15.921
setstate Unterschrank 2025-01-31 09:33:00 aenergy_by_minute_2 15.919
setstate Unterschrank 2025-01-31 09:33:00 aenergy_by_minute_3 15.924
setstate Unterschrank 2025-01-31 09:33:00 aenergy_minute_ts 1738312380
setstate Unterschrank 2025-01-31 09:33:00 aenergy_total 1684.853
setstate Unterschrank 2025-01-31 09:33:00 apower 1.0
setstate Unterschrank 2025-01-29 09:53:14 available_updates_beta_version 1.5.0-beta1
setstate Unterschrank 2025-01-29 09:53:14 ble {}
setstate Unterschrank 2025-01-31 09:33:00 brightness 0
setstate Unterschrank 2025-01-29 09:53:14 cfg_rev 42
setstate Unterschrank 2025-01-29 09:53:14 connected true
setstate Unterschrank 2025-01-31 09:33:00 current 0.078
setstate Unterschrank 2025-01-31 09:33:00 dst Unterschrank/events
setstate Unterschrank 2025-01-29 09:53:14 fs_free 90112
setstate Unterschrank 2025-01-29 09:53:14 fs_size 393216
setstate Unterschrank 2025-01-31 09:33:00 id 0
setstate Unterschrank 2025-01-31 09:33:00 ip 192.168.2.69
setstate Unterschrank 2025-01-29 09:53:14 kvs_rev 0
setstate Unterschrank 2025-01-29 09:53:14 mac ECC9FF4C616C
setstate Unterschrank 2025-01-31 09:33:00 method NotifyStatus
setstate Unterschrank 2025-01-29 09:53:14 online true
setstate Unterschrank 2025-01-31 09:33:00 output true
setstate Unterschrank 2025-01-29 09:53:14 params_cloud_connected true
setstate Unterschrank 2025-01-14 14:14:35 params_events_1_cfg_rev 42
setstate Unterschrank 2025-01-14 14:14:35 params_events_1_component sys
setstate Unterschrank 2025-01-14 14:14:35 params_events_1_event config_changed
setstate Unterschrank 2025-01-13 21:12:43 params_events_1_id 0
setstate Unterschrank 2025-01-13 18:30:51 params_events_1_reason 8
setstate Unterschrank 2025-01-14 14:14:35 params_events_1_restart_required false
setstate Unterschrank 2025-01-14 14:14:35 params_events_1_ts 1736860475.50
setstate Unterschrank 2025-01-29 09:53:14 params_input_0_id 0
setstate Unterschrank 2025-01-29 09:53:14 params_input_1_id 1
setstate Unterschrank 2025-01-29 09:53:14 params_input_2_id 2
setstate Unterschrank 2025-01-29 09:53:14 params_input_3_id 3
setstate Unterschrank 2025-01-29 09:53:14 params_mqtt_connected true
setstate Unterschrank 2025-01-31 09:33:00 params_rgbw_0_aenergy_by_minute_1 15.921
setstate Unterschrank 2025-01-31 09:33:00 params_rgbw_0_aenergy_by_minute_2 15.919
setstate Unterschrank 2025-01-31 09:33:00 params_rgbw_0_aenergy_by_minute_3 15.924
setstate Unterschrank 2025-01-31 09:33:00 params_rgbw_0_aenergy_minute_ts 1738312380
setstate Unterschrank 2025-01-31 09:33:00 params_rgbw_0_aenergy_total 1684.853
setstate Unterschrank 2025-01-31 09:25:11 params_rgbw_0_apower 1.0
setstate Unterschrank 2025-01-31 09:25:09 params_rgbw_0_brightness 0
setstate Unterschrank 2025-01-31 09:25:11 params_rgbw_0_current 0.078
setstate Unterschrank 2025-01-31 09:33:00 params_rgbw_0_id 0
setstate Unterschrank 2025-01-31 09:25:09 params_rgbw_0_output true
setstate Unterschrank 2025-01-31 09:25:09 params_rgbw_0_rgb_1 19
setstate Unterschrank 2025-01-31 09:25:09 params_rgbw_0_rgb_2 160
setstate Unterschrank 2025-01-31 09:25:09 params_rgbw_0_rgb_3 242
setstate Unterschrank 2025-01-31 09:25:09 params_rgbw_0_source MQTT
setstate Unterschrank 2025-01-29 09:53:14 params_rgbw_0_temperature_tC 54.4
setstate Unterschrank 2025-01-29 09:53:14 params_rgbw_0_temperature_tF 129.9
setstate Unterschrank 2025-01-29 09:53:14 params_rgbw_0_voltage 12.2
setstate Unterschrank 2025-01-31 09:25:09 params_rgbw_0_white 255
setstate Unterschrank 2025-01-29 09:53:14 params_sys_available_updates_beta_version 1.5.0-beta1
setstate Unterschrank 2025-01-29 09:53:14 params_sys_cfg_rev 42
setstate Unterschrank 2025-01-29 09:53:14 params_sys_fs_free 90112
setstate Unterschrank 2025-01-29 09:53:14 params_sys_fs_size 393216
setstate Unterschrank 2025-01-29 09:53:14 params_sys_kvs_rev 0
setstate Unterschrank 2025-01-29 09:53:14 params_sys_mac ECC9FF4C616C
setstate Unterschrank 2025-01-29 09:53:14 params_sys_ram_free 128040
setstate Unterschrank 2025-01-29 09:53:14 params_sys_ram_size 252208
setstate Unterschrank 2025-01-29 09:53:14 params_sys_reset_reason 1
setstate Unterschrank 2025-01-29 09:53:14 params_sys_restart_required false
setstate Unterschrank 2025-01-29 09:53:14 params_sys_schedule_rev 1
setstate Unterschrank 2025-01-29 09:53:14 params_sys_time 09:53
setstate Unterschrank 2025-01-29 09:53:14 params_sys_unixtime 1738140793
setstate Unterschrank 2025-01-29 09:53:14 params_sys_uptime 1351357
setstate Unterschrank 2025-01-29 09:53:14 params_sys_webhook_rev 0
setstate Unterschrank 2025-01-31 09:33:00 params_ts 1738312380.00
setstate Unterschrank 2025-01-29 09:53:14 params_wifi_rssi -65
setstate Unterschrank 2025-01-29 09:53:14 params_wifi_ssid FRITZ!Box 6360 Cable Holger
setstate Unterschrank 2025-01-29 09:53:14 params_wifi_sta_ip 192.168.2.69
setstate Unterschrank 2025-01-29 09:53:14 params_wifi_status got ip
setstate Unterschrank 2025-01-29 09:53:14 params_ws_connected false
setstate Unterschrank 2025-01-29 09:53:14 plusrgbwpm {}
setstate Unterschrank 2025-01-29 09:53:14 ram_free 126500
setstate Unterschrank 2025-01-29 09:53:14 ram_size 252100
setstate Unterschrank 2025-01-29 09:53:14 reset_reason 1
setstate Unterschrank 2025-01-29 09:53:14 restart_required false
setstate Unterschrank 2025-01-31 08:20:00 rgb 21255
setstate Unterschrank 2025-01-31 09:33:00 rgb_1 19
setstate Unterschrank 2025-01-31 09:33:00 rgb_2 160
setstate Unterschrank 2025-01-31 09:33:00 rgb_3 242
setstate Unterschrank 2025-01-29 09:53:14 rssi -65
setstate Unterschrank 2025-01-29 09:53:14 schedule_rev 1
setstate Unterschrank 2025-01-31 09:33:00 source MQTT
setstate Unterschrank 2025-01-31 09:33:00 src shellyplusrgbwpm-ecc9ff4c616c
setstate Unterschrank 2025-01-29 09:53:14 ssid FRITZ!Box 6360 Cable Holger
setstate Unterschrank 2025-01-29 09:53:14 sta_ip 192.168.2.69
setstate Unterschrank 2025-01-31 09:25:09 state brightness
setstate Unterschrank 2025-01-29 09:53:14 status got ip
setstate Unterschrank 2025-01-26 13:45:40 subscriptions Unterschrank/command Unterschrank/command/sys Unterschrank/rpc shellies/command
setstate Unterschrank 2025-01-31 09:33:00 temperature_tC 51.9
setstate Unterschrank 2025-01-31 09:33:00 temperature_tF 125.4
setstate Unterschrank 2025-01-29 09:53:14 time 09:53
setstate Unterschrank 2025-01-29 09:53:14 unixtime 1738140793
setstate Unterschrank 2025-01-29 09:53:14 uptime 1351357
setstate Unterschrank 2025-01-31 09:33:00 voltage 12.2
setstate Unterschrank 2025-01-29 09:53:14 webhook_rev 0
setstate Unterschrank 2025-01-31 09:33:00 white 255


Würde gerne ein Icon haben was mir aufschluss über die Farbe und die Helligkeit gibt, egal ob RGB oder Weiß eingestellt ist.

Lg Holger

Tueftler1983

#1
Was mir derzeit das wichtigste ist,

ich habe ein reading in dem mir der RGB wert jeder led angegeben wird

Rot 25500
Grün 02550
Blau 00255

Ich habe aber auch für jede Farbe ein einzelnes reading:
Rot=
rgb_1 255
rgb_2 0
rgb_3 0



Dieses würde ich gerne in hex angezeigt bekommen um es für das state icon zu nutzen

also
Rot FF0000
Grün 00FF00
Blau 0000FF

verstehe nicht die anwendung vom Color da sollte es mit den Routienen ja gehen aber wie?

Lg Holger