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

Begonnen von rico5588, 17 Oktober 2021, 19:54:49

Vorheriges Thema - Nächstes Thema

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
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
Geht nicht gibt's nicht.
NUC-I3+Proxmox, Fritzbox 7590 AX, Synology DS414
Dimplex Wärmepumpe, Lüftungsanlage, Solarlog 1200
HM,IT,Lacross,EspEasy,Modbus,MQTT2, Freund von Shelly

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.

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

Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

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.
Geht nicht gibt's nicht.
NUC-I3+Proxmox, Fritzbox 7590 AX, Synology DS414
Dimplex Wärmepumpe, Lüftungsanlage, Solarlog 1200
HM,IT,Lacross,EspEasy,Modbus,MQTT2, Freund von Shelly

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.
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

rico5588

Genial,

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

Danke Rico
Geht nicht gibt's nicht.
NUC-I3+Proxmox, Fritzbox 7590 AX, Synology DS414
Dimplex Wärmepumpe, Lüftungsanlage, Solarlog 1200
HM,IT,Lacross,EspEasy,Modbus,MQTT2, Freund von Shelly

Beta-User

Na ja, wenn alle Werte für rot, gelb und blau gleich sind, ist es eigentlich ein "weiß"-Kommando (mit Helligkeitsangabe), und es ist "sauberer", das als solches an den ESP zu übergeben. Genau das macht die ursprüngliche Zeile, die Änderung übermittelt halt immer einen "einfachen" rgb-Wert.

Vom Coding her ist es in der Ausgangsfassung ein "ternärer operator", also eine verkürzte if -then - else-Konstruktion, beide Zeilen verwenden halt eine regex und Perl.

Ist das eine halbwegs einfache Erklärung, oder was interessiert dich im Besonderen?
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

rico5588

Mich hätte interessiert warum die beiden nicht gehen.
Vermutlich kann der Shelly bei "schwarz" oder "weiß" mit der Helligkeit nicht umgehen, und wenn es direkt kommt gehts.

Geht nicht gibt's nicht.
NUC-I3+Proxmox, Fritzbox 7590 AX, Synology DS414
Dimplex Wärmepumpe, Lüftungsanlage, Solarlog 1200
HM,IT,Lacross,EspEasy,Modbus,MQTT2, Freund von Shelly

Beta-User

Um das rauszufinden, müßte man ein paar Tests machen, am einfachsten direkte publishes über den MQTT2_SERVER. Dann könnte/müßte man evtl. diese beiden Varianten nochmal gesondert abhandeln...

Mal schauen (aber nicht mehr heute), bitte melden, wenn Interesse besteht.
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

rico5588

nein muss nicht sein, ab hier beginnt sowieso der Teil wo ich nur noch Bahnhof verstehe. 8)
Wichtig ist die Lösung für mich.
Funktioniert übrigens auch bei einer ShellyBulbduo.
Also Danke nochmal.
Geht nicht gibt's nicht.
NUC-I3+Proxmox, Fritzbox 7590 AX, Synology DS414
Dimplex Wärmepumpe, Lüftungsanlage, Solarlog 1200
HM,IT,Lacross,EspEasy,Modbus,MQTT2, Freund von Shelly

rico5588

#9
Hallo Ich nochmal,

ich habe heute mit Stacktrace folgende Warning erhalten.2021.10.21 17:51:45 1: PERL WARNING: Use of uninitialized value $3 in hex at (eval 646977) line 1.
2021.10.21 17:51:45 1: eval: my $DEVICETOPIC=   $evalSpecials->{'%DEVICETOPIC'};my $EVENT=   $evalSpecials->{'%EVENT'};my $EVTPART0=   $evalSpecials->{'%EVTPART0'};my $EVTPART1=   $evalSpecials->{'%EVTPART1'};my $NAME=   $evalSpecials->{'%NAME'};{$EVTPART1=~/(..)(..)(..)/;'shellies/shellyrgbw2-D887B2/color/0/set {"mode":"color","red":'.hex($1).',"green":'.hex($2).',"blue":'.hex($3).'}'}
2021.10.21 17:51:45 1: stacktrace:

Hängt das mit dieser Veränderung zusammen. Es werden alle 3 $1, $2, $3 als uninitialized angezeigt.
rgb:colorpicker,RGB {$EVTPART1=~/(..)(..)(..)/;'shellies/shellyrgbw2-D887B2/color/0/set {"mode":"color","red":'.hex($1).',"green":'.hex($2).',"blue":'.hex($3).'}'}
Ich habe es nochmal zurück geändert und da ist mir gerade aufgefallen das keine Farbe geht sobald  $1, $2, $3, den gleichen Wert haben.
Kannst du das bitte noch mal prüfen.
Danke.

MFG Rico
Geht nicht gibt's nicht.
NUC-I3+Proxmox, Fritzbox 7590 AX, Synology DS414
Dimplex Wärmepumpe, Lüftungsanlage, Solarlog 1200
HM,IT,Lacross,EspEasy,Modbus,MQTT2, Freund von Shelly

Beta-User

Also:
Die "uninitialized"-Warnings dürften daher kommen, dass irgendwas/irgendwer versucht, einen "leeren" rgb-Wert zu setzen. Kann man mit einer entsprechenden Abfrage, ob z.B. $3 "defined" ist abfangen. Das ist aber kein originär mit der Änderung zusammenhängendes Thema, sondern eines, das auch die Version im template-file hat.
Irgendwann über das WE wird es daher ein update geben, das das abfängt.

Zitat von: rico5588 am 21 Oktober 2021, 17:59:36
Ich habe es nochmal zurück geändert und da ist mir gerade aufgefallen das keine Farbe geht sobald  $1, $2, $3, den gleichen Wert haben.
Kannst du das bitte noch mal prüfen.
Im Ausgangstemplate ist das Absicht, weil - wie ich bereits versucht habe zu erläutern - "gleichwertige" rgb-Angaben eigentlich Weiß-Anweisungen sind, eben mit unterschiedlichen Helligkeitswerten (000000 mit der Besonderheit, dass es eigentlich "off" ist).

Jetzt muss ich raten, was du mit "zurück geändert" meinst: Falls der ESP auf z.B. "rgb 999999", (im JSON) gesendet als RGB-Angabe, gar nicht reagiert, ist es ein "Problem" der firmware, das das template bisher sauber umschifft hat, halt anscheinend um den Preis, dass "voll an" und "ganz aus" nicht funktionieren. Müßte/könnte man abfangen, indem man diese beiden Werte vorab in der Perl-Anweisung prüft, aber dazu bräuchte ich eine etwas genauere Problembeschreibung, die ich auch nachvollziehen kann (= FHEM-Befehle einerseits, MQTT-Rohdaten andererseits, zusammen mit einem RAW-list des ganzen Devices, das jeweils angesprochen ist).
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

rico5588

Hallo,

vielleicht drücke ich mich falsch aus.
Punkt1: Im Original Template kann ich im rgb Picker die Werte 000000 und ffffff nicht anwählen. (im Foto Pfeil 1 oder direkt Eingabe)
Punkt2: die anderen Werte kann ich auch nicht anwählen 121212, 131313 etc alle, nennen wir es mal Graustufen. (im Foto Pfeil 2 oder direkt eingabe, wenn FFFFFF gesetzt wäre)
Das ist jetzt kein Problem für mich, wollte es nur mal anzeigen. Eben nur ein Unterschied zum Beispiel zum rgb bei Wifilight.
Mit deinem geänderten code
  rgb:colorpicker,RGB {$EVTPART1=~/(..)(..)(..)/;'shellies/shellyrgbw2-D887B2/color/0/set {"mode":"color","red":'.hex($1).',"green":'.hex($2).',"blue":'.hex($3).'}'}
geht beides wie ich das von Wifilight kenne, nur eben mit den Warnings!
ZitatIm Ausgangstemplate ist das Absicht, weil - wie ich bereits versucht habe zu erläutern - "gleichwertige" rgb-Angaben eigentlich Weiß-Anweisungen sind, eben mit unterschiedlichen Helligkeitswerten
Das Versteh ich, man kann es halt nur nicht benutzen. Siehe Punkt 2.

Versteh ich das richtig, mit FFFFFF woltest du den 4 Kanal zuschalten?

Mit "zurück geändert" meine ich eben diesen code auf original ↑...

MFG Rico
Geht nicht gibt's nicht.
NUC-I3+Proxmox, Fritzbox 7590 AX, Synology DS414
Dimplex Wärmepumpe, Lüftungsanlage, Solarlog 1200
HM,IT,Lacross,EspEasy,Modbus,MQTT2, Freund von Shelly

Beta-User

Das Widget ist ein allgemeines, dann klappt das mit den beiden (bzw. Weiss-) Werten grundsätzlich nicht, ganz unabhängig vom konkteten Device. Welches Widget WifiLight da nutzt, weiß ich nicht, aber das Widget verhindert auch nicht das händische Setzen, so dass Testen der Werte an sich schon gehen sollte.

Die undef-Geschichte ist nachher mit dem svn-update hoffentlich erledigt.
Versteh ich das richtig, mit FFFFFF woltest du den 4 Kanal zuschalten?
Doppeltes Mißverständnis:
a) der Code ist nicht ursprünglich von mir, ich sammle nur ein, versuche eine Linie reinzubringen und stelle es dann allen zur Verfügung. Die meisten Geräte habe ich gar nicht, und WLAN finde ich sowieso "bäh"...
b) Alle weiss-Anweisungen gehen grundsätzlich in den white-Modus über, was ja grundsätzlich richtig sein sollte... Wie die Hardware das dann konkret umsetzt, entzieht sich meiner Kenntnis (siehe a) am Ende).
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files

rico5588

Hallo ich nochmal,

ich möchte gern meine Device für mich (für alle) noch etwas anpassen.
Ob du mir nochmal suport geben kannst?
Meine Vorstellung...
Wenn RGB = 000000 oder OFF dann aus.
off:noArg| shellies/shellycolorbulb-3C6105E500CC/color/0/command off
rgb:colorpicker,RGB {$EVTPART1=~/(..)(..)(..)/;if($1 eq "00" || $2 eq "00" || $3 eq "00") {"shellies/shellycolorbulb-3C6105E500CC/color/0/command off"}}


Wenn RGB = FFFFFF dann mode white mit Temp 4000
rgb:colorpicker,RGB {$EVTPART1=~/(..)(..)(..)/;if($1 eq "FF" || $2 eq "FF" || $3 eq "FF")  {\"mode\":\"white\",\"brightness\":\"255\",\"temp\":\"4000\"}"}
alle anderen Farben 1:1

Es gibt noch eine Funktion effect in der Shellybulb, welche aktuell nicht angelegt ist...
Ich dachte das könnte so gehen, aber nein!
effect:selectnumbers,0,1,3,0,lin  shellies/shellycolorbulb-3C6105E500CC/color/0/set {"effect":"$EVTPART1"}

MFG Rico (und wenn es mal zeitlich reinpasst, kein Stress!)
Geht nicht gibt's nicht.
NUC-I3+Proxmox, Fritzbox 7590 AX, Synology DS414
Dimplex Wärmepumpe, Lüftungsanlage, Solarlog 1200
HM,IT,Lacross,EspEasy,Modbus,MQTT2, Freund von Shelly

Beta-User

Da geht was mit den Abfragen durcheinander...

Zum einen muss alles, was rgb ist, dann auch über den einen setter gehen, hier mal ein Beispiel für die Erweiterung bzgl. "off":
  rgb:colorpicker,RGB { return 'shellies/shellycolorbulb-3C6105E500CC/color/0/command off' if $EVTPART1 eq '000000'; $EVTPART1=~/(..)(..)(..)/;'shellies/shellyrgbw2-D887B2/color/0/set {"mode":"color","red":'.hex($1).',"green":'.hex($2).',"blue":'.hex($3).'}'}Das sollte eigentlich ausreichen, damit du auch die Temp 4000-Variante hinbekommst ;) .
Zum Effekt:
An sich sieht dein Versuch schon ganz ok aus, kann sein, dass "nur" die falsche nummerische Übergabe stört (der reinen Lehre nach ohne Quotes), kann auch sein, dass ein weiterer Befehl dazu muss, z.B. on:

effect:selectnumbers,0,1,3,0,lin  shellies/shellycolorbulb-3C6105E500CC/color/0/set {"effect": $EVTPART1, "turn": "on"}
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: MiLight@ESP-GW, BT@OpenMQTTGw | MySensors: seriell, v.a. 2.3.1@RS485 | ZWave | ZigBee@deCONZ | SIGNALduino | MapleCUN | RHASSPY
svn: u.a MySensors, Weekday-&RandomTimer, Twilight,  div. attrTemplate-files