FHEM - Hausautomations-Systeme > MQTT

[GELÖST]ShellyRGB2 fehlende Farbe rgb ->000000 und FFFFFF

(1/6) > >>

rico5588:
Hallo Fhemler,

ich steige solangsam mit meinen Geräte auf Shelly um, da diese doch einfacher zu Handhaben sind.
Nun eine Frage zum ShellyRGBW, welches ich mit einem RGBW streifen nutzen möchte.
Ich kann hier alle Farben einstellen (per rgb) z.b. 00FF00 oder FF0000, aber nicht diese beiden -> "000000" und "FFFFFF"
Da ich von Wifilight komme wo dies funktioniert, müsste ich jetzt änderungen vornehmen, was sich im Mischbetrieb schwierig gestaltet. Bevor ich dies due würde ich gern eure Meinung hören.
Eingebunden habe ich dies über MQTT2.

MFG Rico

--- Code: ---Internals:
   CID        shellyrgbw2_D887B2
   DEF        shellyrgbw2_D887B2
   DEVICETOPIC MQTT2_shellyrgbw2_D887B2
   FUUID      614f2694-f33f-bec9-d656-1c0cc903e9e3c812
   IODev      myBroker
   LASTInputDev myBroker
   MSGCNT     320
   NAME       MQTT2_shellyrgbw2_D887B2
   NR         1091
   STATE      on
   TYPE       MQTT2_DEVICE
   myBroker_MSGCNT 320
   myBroker_TIME 2021-10-17 19:49:45
   Helper:
     DBLOG:
       power:
         logdb:
           TIME       1634492887.80815
           VALUE      0.23
   READINGS:
     2021-10-17 19:24:18   IODev           myBroker
     2021-09-25 15:42:08   actions_stats_skipped 0
     2021-09-25 15:42:08   attrTemplateVersion 20201215
     2021-10-17 19:48:07   blue            0
     2021-09-25 15:42:08   cfg_changed_cnt 0
     2021-09-25 15:42:08   cloud_connected false
     2021-09-25 15:42:08   cloud_enabled   false
     2021-09-25 15:42:02   color_0         on
     2021-10-17 19:48:09   color_0_energy  35
     2021-10-17 19:48:07   color_0_overpower 0
     2021-10-17 19:48:07   color_0_power   0.23
     2021-10-17 19:48:07   effect          0
     2021-10-17 19:24:38   event           
     2021-10-17 19:24:38   event_cnt       0
     2021-09-25 15:42:08   fs_free         152357
     2021-09-25 15:42:08   fs_size         233681
     2021-10-17 19:24:37   fw_ver          20210909-145215/v1.11.4-DNSfix-ge6b2f6d
     2021-10-17 19:48:07   gain            16
     2021-10-17 19:48:07   green           255
     2021-10-17 19:48:07   has_timer       false
     2021-09-25 15:42:08   has_update      false
     2021-10-17 19:24:37   id              shellyrgbw2-D887B2
     2021-09-25 15:42:08   input           0
     2021-10-17 19:48:07   input_0         0
     2021-09-25 15:42:08   inputs_1_event 
     2021-09-25 15:42:08   inputs_1_event_cnt 0
     2021-09-25 15:42:08   inputs_1_input  0
     2021-10-17 19:24:37   ip              192.168.9.215
     2021-10-17 19:48:07   ison            true
     2021-09-25 15:42:08   lights_1_blue   0
     2021-09-25 15:42:08   lights_1_effect 0
     2021-09-25 15:42:08   lights_1_gain   100
     2021-09-25 15:42:08   lights_1_green  0
     2021-09-25 15:42:08   lights_1_has_timer false
     2021-09-25 15:42:08   lights_1_ison   true
     2021-09-25 15:42:08   lights_1_mode   color
     2021-09-25 15:42:08   lights_1_overpower false
     2021-09-25 15:42:08   lights_1_power  2.38
     2021-09-25 15:42:08   lights_1_red    255
     2021-09-25 15:42:08   lights_1_source http
     2021-09-25 15:42:08   lights_1_timer_duration 0
     2021-09-25 15:42:08   lights_1_timer_remaining 0
     2021-09-25 15:42:08   lights_1_timer_started 0
     2021-09-25 15:42:08   lights_1_transition 0
     2021-09-25 15:42:08   lights_1_white  0
     2021-10-17 19:24:37   mac             E8DB84D887B2
     2021-09-25 15:42:08   meters_1_counters_1 1.829
     2021-09-25 15:42:08   meters_1_counters_2 2.482
     2021-09-25 15:42:08   meters_1_counters_3 0.000
     2021-09-25 15:42:08   meters_1_is_valid true
     2021-09-25 15:42:08   meters_1_overpower false
     2021-09-25 15:42:08   meters_1_power  2.38
     2021-09-25 15:42:08   meters_1_timestamp 1632584528
     2021-09-25 15:42:08   meters_1_total  4
     2021-10-17 19:48:07   mode            color
     2021-10-17 19:24:37   model           SHRGBW2
     2021-09-25 15:42:08   mqtt_connected  true
     2021-10-17 19:24:37   new_fw          true
     2021-10-17 19:49:45   online          false
     2021-10-17 19:48:07   overpower       false
     2021-10-17 19:48:07   power           0.23
     2021-09-25 15:42:08   ram_free        38424
     2021-09-25 15:42:08   ram_total       50880
     2021-10-17 19:48:07   red             255
     2021-10-17 19:48:07   rgb             FFFF00
     2021-09-25 15:42:08   serial          1
     2021-10-17 19:48:07   source          mqtt
     2021-10-17 19:48:07   state           on
     2021-09-25 15:42:08   time            15:42
     2021-10-17 19:48:07   timer_duration  0
     2021-10-17 19:48:07   timer_remaining 0
     2021-10-17 19:48:07   timer_started   0
     2021-10-17 19:48:07   transition      0
     2021-09-25 15:42:08   unixtime        1632577328
     2021-09-25 15:42:08   update_has_update false
     2021-09-25 15:42:08   update_new_version 20210909-145215/v1.11.4-DNSfix-ge6b2f6d
     2021-09-25 15:42:08   update_old_version 20210909-145215/v1.11.4-DNSfix-ge6b2f6d
     2021-09-25 15:42:08   update_status   idle
     2021-09-25 15:42:08   uptime          160
     2021-10-17 19:48:07   white           0
     2021-09-25 15:42:08   wifi_sta_connected true
     2021-09-25 15:42:08   wifi_sta_ip     192.168.9.242
     2021-09-25 15:42:08   wifi_sta_rssi   -52
     2021-09-25 15:42:08   wifi_sta_ssid   FRITZ!Box 7490
     2021-09-25 15:42:08   x_mqttcom       set announce
Attributes:
   devStateIcon {my $onl = ReadingsVal($name,"online","false") eq "true"?"10px-kreis-gruen":"10px-kreis-rot"; my $light = ReadingsVal($name,"state","off"); my $cons = ReadingsVal($name,"power","unknown"); "<a href=\"http://".ReadingsVal($name,"ip","none")." \"target=\"_blank\">".FW_makeImage($onl)."</a> <a href=\"/fhem?cmd.dummy=set $name toggle&XHR=1\">".FW_makeImage($light)."</a><div>Verbrauch: $cons</div>"}
   genericDeviceType light
   homebridgeMapping Brightness=brightness::brightness,maxValue=100,factor=0.39216,delay=true
   icon       light_control
   model      shelly2rgbw_color
   readingList shellies/shellyrgbw2-D887B2/color/0/status:.* {json2nameValue($EVENT)}
  shellies/shellyrgbw2-D887B2/color/0:.* state
  shellies/shellyrgbw2-D887B2/online:.* online
  shellies/announce:.* { $EVENT =~ m,..id...shellyrgbw2-D887B2...mac.*, ? json2nameValue($EVENT) : return }
shellyrgbw2_D887B2:shellies/shellyrgbw2-D887B2/announce:.* { json2nameValue($EVENT) }
shellyrgbw2_D887B2:shellies/shellyrgbw2-D887B2/info:.* { json2nameValue($EVENT) }
shellyrgbw2_D887B2:shellies/shellyrgbw2-D887B2/color/0/energy:.* color_0_energy
shellyrgbw2_D887B2:shellies/shellyrgbw2-D887B2/input/0:.* input_0
shellyrgbw2_D887B2:shellies/shellyrgbw2-D887B2/color/0/power:.* color_0_power
shellyrgbw2_D887B2:shellies/shellyrgbw2-D887B2/color/0/overpower:.* color_0_overpower
shellyrgbw2_D887B2:shellies/shellyrgbw2-D887B2/input_event/0:.* { json2nameValue($EVENT) }
   room       MQTT2_DEVICE
   setList    off:noArg shellies/shellyrgbw2-D887B2/color/0/command off
  on:noArg shellies/shellyrgbw2-D887B2/color/0/command on
  brightness:colorpicker,BRI,0,1,255 shellies/shellyrgbw2-D887B2/white/0/set {"mode":"white","brightness":"$EVTPART1"}
  white:colorpicker,BRI,0,1,255 shellies/shellyrgbw2-D887B2/color/0/set {"white":"$EVTPART1"}
  gain:colorpicker,BRI,0,1,100 shellies/shellyrgbw2-D887B2/color/0/set {"gain":"$EVTPART1"}
  rgb:colorpicker,RGB {$EVTPART1=~/(..)(..)(..)/;if($1 ne $2 || $2 ne $3) {"shellies/shellyrgbw2-D887B2/color/0/set {\"mode\":\"color\",\"red\":".hex($1).",\"green\":".hex($2).",\"blue\":".hex($3)."}"}else{"shellies/shellyrgbw2-D887B2/color/0/set {\"turn\":\"on\",\"mode\":\"white\",\"brightness\":".int(hex($1)/2.55)."}"}}
  white_on:colorpicker,BRI,0,1,100 shellies/shellyrgbw2-D887B2/color/0/set {"turn":"on","white":"$EVTPART1"}
  gain_on:colorpicker,BRI,0,1,100 shellies/shellyrgbw2-D887B2/color/0/set {"turn":"on","gain":"$EVTPART1"}
  rgb_on:colorpicker,RGB {$EVTPART1=~/(..)(..)(..)/;if($1 ne $2 || $2 ne $3) {"shellies/shellyrgbw2-D887B2/color/0/set {\"turn\":\"on\",\"mode\":\"color\",\"gain\":\"100\",\"red\":".hex($1).",\"green\":".hex($2).",\"blue\":".hex($3)."}"}else{"shellies/shellyrgbw2-D887B2/color/0/set {\"turn\":\"on\",\"mode\":\"white\",\"brightness\":".int(hex($1)/2.55)."}"}}
  effect:selectnumbers,0,1,6,0,lin  shellies/shellyrgbw2-D887B2/color/0/set {"effect":"$EVTPART1"}
  x_update:noArg shellies/shellyrgbw2-D887B2/command update_fw
  x_mqttcom shellies/shellyrgbw2-D887B2/command $EVTPART1
   setStateList on off
   userReadings rgb:red.* {if(ReadingsVal($name,"mode","") eq "color"){sprintf("%02X%02X%02X", ReadingsVal($name,"red",99), ReadingsVal($name,"green",99), ReadingsVal($name,"blue",99))}else{my $a=sprintf("%02X",ReadingsVal($name,"brightness",0)*2.555);"$a$a$a"}}
   webCmd     on:off:white:gain:rgb:effect:rgb FFFFFF:rgb ff0000:rgb 00ff00:rgb 0000ff:rgb FFF9A8
--- Ende Code ---

Beta-User:
Na ja, wenn alle Farbwerte gleich sind, ist es eigentlich Weiß, und das biegt der Code in der setList zu RGB halt entsprchend hin. Wenn du das anders haben willst, kannst du ja mal testweise einfach $EVTPART1 unverändert durchreichen.

--- Code: ---  rgb:colorpicker,RGB {$EVTPART1=~/(..)(..)(..)/;'shellies/shellyrgbw2-D887B2/color/0/set {"mode":"color","red":'.hex($1).',"green":'.hex($2).',"blue":'.hex($3).'}'}
--- Ende Code ---

rico5588:
Hallo,

verstehe nicht ganz. Wo oder wie soll ich den Code testen?
Unter dem Attr Webcmd?
Wie gesagt, es gehen alle Farben außer die beiden.
FFFFFF müsste ja komplett hell machen und 000000 sollte eigentlich schwarz/off bedeuten.
Beide Befehle werden aber gar nicht akzeptiert.

MFG Rico.

Beta-User:
Nein, im Attribut "setList" die eine Zeile tauschen, bei der es um rgb geht.

Ich kann aber nicht sagen, ob das klappt; evtl. muss da auch was am userReadings "rgb geändert werden. Es wäre hilfreich, wenn du je ein RAW-list liefern könntest in dem Zustand, dass es (via rgb 000000) ganz aus bzw. rgb FFFFFF ganz an geschaltet ist. In deinem list war ja irgendeine Farbe eingestellt.

rico5588:
Genial,

das funktioniert.
Kannst du mir in "einfachen Worten" erklären was jetzt anders ist.

Danke Rico

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln