Alexa kann Farbe des Shelly RGBW2 nur einmal ändern?

Begonnen von BloodCross, 22 Februar 2021, 18:52:44

Vorheriges Thema - Nächstes Thema

BloodCross

Hallo zusammen,

es ist mein erster post, daher bitte ich um Nachsicht.

Ich habe folgendes Problem.

Wenn ich über Alexa den Befehl gebe wechselt diese auch für den Shelly RGBW2 den Farbwert und nun das ABER nur einmal nach einem Neustart des Alexa Connectors oder von FHEM selber.

Das sieht im Log dan so aus:

2021.02.23 20:18:55 3: MQTT2_DEVICE set MQTT2_shellyrgbw2_6F7FB2 rgb 00ff00
2021.02.23 20:18:55 3: MQTT2_DEVICE set MQTT2_shellyrgbw2_6F7FB2 brightness 00ff00
2021.02.23 20:18:55 4: MQTT2_DEVICE_Parse: MQTT2_shellyrgbw2_6F7FB2 shellies/Wohnwand/color/0 => state
2021.02.23 20:18:55 4: MQTT2_DEVICE_Parse: MQTT2_shellyrgbw2_6F7FB2 shellies/Wohnwand/color/0/status => {json2nameValue($EVENT)}


Wenn ich ein zweites mal per Alexa den Befehl gebe die Farbe zu ändern, quitiert Alexa zwar brav es gemacht zu haben, aber in FHEM gibt es keine Änderung.

Ich bekomme ledigleich folgende Meldung im Log.

2021.02.23 20:16:10 1: RMDIR: ./restoreDir/save/2021-01-17
2021.02.23 20:16:24 3: MQTT2_DEVICE set MQTT2_shellyrgbw2_6F7FB2 brightness ff0000
2021.02.23 20:16:24 3: MQTT2_DEVICE set MQTT2_shellyrgbw2_6F7FB2 rgb aN
2021.02.23 20:16:24 1: PERL WARNING: Use of uninitialized value $1 in string ne at (eval 831808) line 1.
2021.02.23 20:16:24 3: eval: my $DEVICETOPIC=   $evalSpecials->{'%DEVICETOPIC'};my $EVENT=   $evalSpecials->{'%EVENT'};my $EVTPART0=   $evalSpecials->{'%EVTPART0'};my $EVTPART1=   $evalSpecials->{'%EVTPART1'};my $NAME=   $evalSpecials->{'%NAME'};{$EVTPART1=~/(..)(..)(..)/;if($1 ne $2 || $2 ne $3) {"shellies/Wohnwand/color/0/set {\"mode\":\"color\",\"red\":".hex($1).",\"green\":".hex($2).",\"blue\":".hex($3)."}"}else{"shellies/Wohnwand/color/0/set {\"turn\":\"on\",\"mode\":\"white\",\"brightness\":".int(hex($1)/2.55)."}"}}
2021.02.23 20:16:24 1: PERL WARNING: Use of uninitialized value $2 in string ne at (eval 831808) line 1.
2021.02.23 20:16:24 3: eval: my $DEVICETOPIC=   $evalSpecials->{'%DEVICETOPIC'};my $EVENT=   $evalSpecials->{'%EVENT'};my $EVTPART0=   $evalSpecials->{'%EVTPART0'};my $EVTPART1=   $evalSpecials->{'%EVTPART1'};my $NAME=   $evalSpecials->{'%NAME'};{$EVTPART1=~/(..)(..)(..)/;if($1 ne $2 || $2 ne $3) {"shellies/Wohnwand/color/0/set {\"mode\":\"color\",\"red\":".hex($1).",\"green\":".hex($2).",\"blue\":".hex($3)."}"}else{"shellies/Wohnwand/color/0/set {\"turn\":\"on\",\"mode\":\"white\",\"brightness\":".int(hex($1)/2.55)."}"}}
2021.02.23 20:16:24 1: PERL WARNING: Use of uninitialized value $3 in string ne at (eval 831808) line 1.
2021.02.23 20:16:24 3: eval: my $DEVICETOPIC=   $evalSpecials->{'%DEVICETOPIC'};my $EVENT=   $evalSpecials->{'%EVENT'};my $EVTPART0=   $evalSpecials->{'%EVTPART0'};my $EVTPART1=   $evalSpecials->{'%EVTPART1'};my $NAME=   $evalSpecials->{'%NAME'};{$EVTPART1=~/(..)(..)(..)/;if($1 ne $2 || $2 ne $3) {"shellies/Wohnwand/color/0/set {\"mode\":\"color\",\"red\":".hex($1).",\"green\":".hex($2).",\"blue\":".hex($3)."}"}else{"shellies/Wohnwand/color/0/set {\"turn\":\"on\",\"mode\":\"white\",\"brightness\":".int(hex($1)/2.55)."}"}}
2021.02.23 20:16:24 1: PERL WARNING: Use of uninitialized value $1 in hex at (eval 831808) line 1.
2021.02.23 20:16:24 3: eval: my $DEVICETOPIC=   $evalSpecials->{'%DEVICETOPIC'};my $EVENT=   $evalSpecials->{'%EVENT'};my $EVTPART0=   $evalSpecials->{'%EVTPART0'};my $EVTPART1=   $evalSpecials->{'%EVTPART1'};my $NAME=   $evalSpecials->{'%NAME'};{$EVTPART1=~/(..)(..)(..)/;if($1 ne $2 || $2 ne $3) {"shellies/Wohnwand/color/0/set {\"mode\":\"color\",\"red\":".hex($1).",\"green\":".hex($2).",\"blue\":".hex($3)."}"}else{"shellies/Wohnwand/color/0/set {\"turn\":\"on\",\"mode\":\"white\",\"brightness\":".int(hex($1)/2.55)."}"}}
2021.02.23 20:16:24 4: MQTT2_DEVICE_Parse: MQTT2_shellyrgbw2_6F7FB2 shellies/Wohnwand/color/0 => state
2021.02.23 20:16:24 4: MQTT2_DEVICE_Parse: MQTT2_shellyrgbw2_6F7FB2 shellies/Wohnwand/color/0/status => {json2nameValue($EVENT)}
2021.02.23 20:16:25 4: MQTT2_DEVICE_Parse: MQTT2_shellyrgbw2_6F7FB2 shellies/Wohnwand/color/0/power => color_0_power
2021.02.23 20:16:25 4: MQTT2_DEVICE_Parse: MQTT2_shellyrgbw2_6F7FB2 shellies/Wohnwand/color/0/energy => color_0_energy
2021.02.23 20:16:25 4: MQTT2_DEVICE_Parse: MQTT2_shellyrgbw2_6F7FB2 shellies/Wohnwand/color/0/overpower => color_0_overpower
2021.02.23 20:16:25 4: MQTT2_DEVICE_Parse: MQTT2_shellyrgbw2_6F7FB2 shellies/Wohnwand/color/0/status => {json2nameValue($EVENT)}
2021.02.23 20:16:26 4: MQTT2_DEVICE_Parse: MQTT2_shellyrgbw2_6F7FB2 shellies/Wohnwand/color/0/power => color_0_power
2021.02.23 20:16:26 4: MQTT2_DEVICE_Parse: MQTT2_shellyrgbw2_6F7FB2 shellies/Wohnwand/color/0/energy => color_0_energy
2021.02.23 20:16:26 4: MQTT2_DEVICE_Parse: MQTT2_shellyrgbw2_6F7FB2 shellies/Wohnwand/color/0/overpower => color_0_overpower
2021.02.23 20:16:26 4: MQTT2_DEVICE_Parse: MQTT2_shellyrgbw2_6F7FB2 shellies/Wohnwand/color/0/status => {json2nameValue($EVENT)}
2021.02.23 20:16:27 4: MQTT2_DEVICE_Parse: MQTT2_shellyrgbw2_6F7FB2 shellies/Wohnwand/color/0 => state
2021.02.23 20:16:27 4: MQTT2_DEVICE_Parse: MQTT2_shellyrgbw2_6F7FB2 shellies/Wohnwand/color/0/status => {json2nameValue($EVENT)}
2021.02.23 20:16:27 4: MQTT2_DEVICE_Parse: MQTT2_shellyrgbw2_6F7FB2 shellies/Wohnwand/input/0 => input_0
2021.02.23 20:16:27 4: MQTT2_DEVICE_Parse: MQTT2_shellyrgbw2_6F7FB2 shellies/Wohnwand/input_event/0 => { json2nameValue($EVENT) }
2021.02.23 20:16:27 4: MQTT2_DEVICE_Parse: MQTT2_shellyrgbw2_6F7FB2 shellies/Wohnwand/color/0/power => color_0_power
2021.02.23 20:16:27 4: MQTT2_DEVICE_Parse: MQTT2_shellyrgbw2_6F7FB2 shellies/Wohnwand/color/0/energy => color_0_energy
2021.02.23 20:16:27 4: MQTT2_DEVICE_Parse: MQTT2_shellyrgbw2_6F7FB2 shellies/Wohnwand/color/0/overpower => color_0_overpower


Wenn ich die Farbe einfach über das FHEM Interface ändere ist alles gut und es funktioniert wie gewünscht.

Auch das Schalten des RGBW2 funktioniert über Alexa, also ein und aus, aber mehr halt leider nicht.


Zu meinem FHEM aufbau.
Meine FHEM Umgebung läuft auf einem Synology NAS in einer Debian VM.

Für die Verbindung zu Alexa verwende ich den Alexa Connector und für die Verbindung zum Shelly verwende ich den MQTT2 Server über FHEM selbst.

Für die Einrichtung des RGBW2 habe ich das Template "shelly2rgbw_color" benutzt.

FHEM habe ich bereits geupdatet, Problem bleibt leider.


Ich habe parallel auch bereits eine junfräuliche Debain VM zum test hoch gezogen, dort zeigt sich das selbe Fehlerbild, beim ersten schalten per Alexa gehts danach nicht mehr.

Alle anderen MQTT Geräte kann ich wie gewünscht schalten oder dimmen über Alexa.


Hat jemand eine Idee wie ich dieses Problem wieder in den Griff bekomme?

87insane

Hey BloodCross,

kannst du mal ein list deines Alexa Connectors machen?
Hinzu wäre ein EventMonitor Auszug gut. Dieser sollte natürlich gefiltert sein auf die entsprechenden Geräte. Alexa und das zu schaltende Gerät.

Bitte auch mal ein list von deinem Test Gerät.

PS: Ist dein FHEM aktuell?

Gruß,
Kai

BloodCross

Hi Kai,

Alexa List:

define alexa alexa
attr alexa alexaFHEM-auth crypt:705e585c57754a0a46420e2b740f47125746545d0c56
attr alexa alexaFHEM-config ./alexa-fhem.cfg
attr alexa alexaFHEM-log ./log/alexa-%Y-%m-%d.log
attr alexa alexaMapping #Characteristic=<name>=<value>,...\
On=verb=schalte,valueOn=an;;ein,valueOff=aus,valueToggle=um\
\
Brightness=verb=stelle,property=helligkeit,valuePrefix=auf,values=AMAZON.NUMBER,valueSuffix=prozent\
\
Hue=verb=stelle,valuePrefix=auf,values=rot:0;;grün:128;;blau:200\
Hue=verb=färbe,values=rot:0;;grün:120;;blau:220\
\
Saturation=verb=stelle,property=sättigung,valuePrefix=auf,values=AMAZON.NUMBER\
Saturation=verb=sättige,values=AMAZON.NUMBER\
\
TargetPosition=verb=mach,articles=den;;die,values=auf:100;;zu:0\
TargetPosition=verb=stelle,valuePrefix=auf,values=AMAZON.NUMBER,valueSuffix=prozent\
\
TargetTemperature=verb=stelle,valuePrefix=auf,values=AMAZON.NUMBER,valueSuffix=grad\
\
Volume:verb=stelle,valuePrefix=auf,values=AMAZON.NUMBER,valueSuffix=prozent\
\
#Weckzeit=verb=stelle,valuePrefix=auf;;für,values=AMAZON.TIME,valueSuffix=uhr
attr alexa alexaTypes #Type=<alias>[,<alias2>[,...]]\
light=licht,lampen\
blind=rolladen,rolläden,jalousie,jalousien,rollo,rollos
attr alexa devStateIcon stopped:control_home@red:start stopping:control_on_off@orange running.*:control_on_off@green:stop
attr alexa echoRooms #<deviceId>=<room>\

attr alexa fhemIntents #IntentName=<sample utterance>\
gutenMorgen=guten morgen\
guteNacht=gute nacht
attr alexa persons #<personId>=<name>\

attr alexa room Test
attr alexa stateFormat alexaFHEM

define alexaFHEMlog FileLog ./log/alexa-%Y-%m-%d.log fakelog
attr alexaFHEMlog room hidden

setstate alexa running /usr/local/bin/alexa-fhem
setstate alexa 2021-01-16 14:10:12 .eventToken {"access_token":"8yKphPygMmeUOYecdKAB9pbSBpQuFUHApQRkCR1oQsmXl8CzzIm9wjFZfJSVVHZVM-84TdIPW5GcAd6qzuvwyJsY9xn3rxi4577vSVtLHUAQfevPeNuPNp9lDwsdOal2DML0kRLLPyqyi5cL1tZYjkVeBIQ_DnDPfifUmgWlZJAMwVCM-wzZkbL056q","refresh_token":"Atzr|IwEBIH7G3rtCdeiTv5YxOqFAKBibgnBvx3-Y5L49S8EyxdLIiAR2NvXR-tKIfFPf4NhOICa8UcjfEAkH0xsXDJ3jhzA5jfn80D7iCivuS4GOZfKdi0O-Mj3R0eyuhdV8Hnl3dRq2cTI6zmGKlzszIemIsiWT4Q5QewzLvhJ-i7lPMugCyO6mJiAFf6OQqjKo4upmdPDTFOOQoL5B3fXGsI5Jcq4b-RP4Kx2xTFh7JJMXucQ60jbe02c7-ekeJXV26u9jGGH1TPtvfuM0H2jZ86ZD9JIR","token_type":"bearer","expires_in":3600}
setstate alexa 2021-02-24 19:14:33 alexaFHEM running /usr/local/bin/alexa-fhem
setstate alexa 2021-02-24 19:14:35 alexaFHEM.ProxyConnection running;; SSH connected
setstate alexa 2021-01-16 13:41:05 alexaFHEM.bearerToken crypt:76760f0a71020a217107715775550d23
setstate alexa 2021-01-16 13:41:05 alexaFHEM.skillRegKey crypt:050a05770405012318020d21005b72240370242070225c7c761e20255e01240600767305760279520c74

setstate alexaFHEMlog active
setstate alexaFHEMlog 2021-02-25 00:00:01 linesInTheFile 0


Shelly RGBW2 List:

define MQTT2_shellyrgbw2_6F7FB2 MQTT2_DEVICE shellyrgbw2_6F7FB2
attr MQTT2_shellyrgbw2_6F7FB2 IODev MQTT2_Server
attr MQTT2_shellyrgbw2_6F7FB2 alexaName Wohnwand
attr MQTT2_shellyrgbw2_6F7FB2 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>"}
attr MQTT2_shellyrgbw2_6F7FB2 genericDeviceType light
attr MQTT2_shellyrgbw2_6F7FB2 homebridgeMapping Brightness=brightness::brightness,maxValue=100,factor=0.39216,delay=true
attr MQTT2_shellyrgbw2_6F7FB2 icon light_control
attr MQTT2_shellyrgbw2_6F7FB2 model shelly2rgbw_color
attr MQTT2_shellyrgbw2_6F7FB2 readingList shellies/Wohnwand/color/0/status:.* {json2nameValue($EVENT)}\
  shellies/Wohnwand/color/0:.* state\
  shellies/Wohnwand/online:.* online\
  shellies/announce:.* { $EVENT =~ m,..id...Wohnwand...mac.*, ? json2nameValue($EVENT) : return }\
shellyrgbw2_6F7FB2:shellies/Wohnwand/announce:.* { json2nameValue($EVENT) }\
shellyrgbw2_6F7FB2:shellies/Wohnwand/info:.* { json2nameValue($EVENT) }\
shellyrgbw2_6F7FB2:shellies/Wohnwand/input/0:.* input_0\
shellyrgbw2_6F7FB2:shellies/Wohnwand/input_event/0:.* { json2nameValue($EVENT) }\
shellyrgbw2_6F7FB2:shellies/Wohnwand/color/0/power:.* color_0_power\
shellyrgbw2_6F7FB2:shellies/Wohnwand/color/0/energy:.* color_0_energy\
shellyrgbw2_6F7FB2:shellies/Wohnwand/color/0/overpower:.* color_0_overpower
attr MQTT2_shellyrgbw2_6F7FB2 room Test,MQTT2_DEVICE
attr MQTT2_shellyrgbw2_6F7FB2 setList off:noArg shellies/Wohnwand/color/0/command off\
  on:noArg shellies/Wohnwand/color/0/command on\
  brightness:colorpicker,BRI,0,1,255 shellies/Wohnwand/white/0/set {"mode":"white","brightness":"$EVTPART1"}\
  white:colorpicker,BRI,0,1,255 shellies/Wohnwand/color/0/set {"white":"$EVTPART1"}\
  gain:colorpicker,BRI,0,1,100 shellies/Wohnwand/color/0/set {"gain":"$EVTPART1"}\
  rgb:colorpicker,RGB {$EVTPART1=~/(..)(..)(..)/;;if($1 ne $2 || $2 ne $3) {"shellies/Wohnwand/color/0/set {\"mode\":\"color\",\"red\":".hex($1).",\"green\":".hex($2).",\"blue\":".hex($3)."}"}else{"shellies/Wohnwand/color/0/set {\"turn\":\"on\",\"mode\":\"white\",\"brightness\":".int(hex($1)/2.55)."}"}}\
  white_on:colorpicker,BRI,0,1,100 shellies/Wohnwand/color/0/set {"turn":"on","white":"$EVTPART1"}\
  gain_on:colorpicker,BRI,0,1,100 shellies/Wohnwand/color/0/set {"turn":"on","gain":"$EVTPART1"}\
  rgb_on:colorpicker,RGB {$EVTPART1=~/(..)(..)(..)/;;if($1 ne $2 || $2 ne $3) {"shellies/Wohnwand/color/0/set {\"turn\":\"on\",\"mode\":\"color\",\"gain\":\"100\",\"red\":".hex($1).",\"green\":".hex($2).",\"blue\":".hex($3)."}"}else{"shellies/Wohnwand/color/0/set {\"turn\":\"on\",\"mode\":\"white\",\"brightness\":".int(hex($1)/2.55)."}"}}\
  effect:selectnumbers,0,1,6,0,lin  shellies/Wohnwand/color/0/set {"effect":"$EVTPART1"}\
  x_update:noArg shellies/Wohnwand/command update_fw\
  x_mqttcom shellies/Wohnwand/command $EVTPART1
attr MQTT2_shellyrgbw2_6F7FB2 setStateList on off
attr MQTT2_shellyrgbw2_6F7FB2 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"}}
attr MQTT2_shellyrgbw2_6F7FB2 verbose 5
attr MQTT2_shellyrgbw2_6F7FB2 webCmd on:off:white:gain:rgb:effect

setstate MQTT2_shellyrgbw2_6F7FB2 on
setstate MQTT2_shellyrgbw2_6F7FB2 2021-02-22 18:36:32 actions_stats_skipped 0
setstate MQTT2_shellyrgbw2_6F7FB2 2021-02-22 18:36:32 attrTemplateVersion 20201215
setstate MQTT2_shellyrgbw2_6F7FB2 2021-02-25 20:54:10 blue 0
setstate MQTT2_shellyrgbw2_6F7FB2 2021-02-25 20:31:49 brightness set ff0000
setstate MQTT2_shellyrgbw2_6F7FB2 2021-02-22 18:36:32 cfg_changed_cnt 14
setstate MQTT2_shellyrgbw2_6F7FB2 2021-02-22 18:36:32 cloud_connected false
setstate MQTT2_shellyrgbw2_6F7FB2 2021-02-22 18:36:32 cloud_enabled false
setstate MQTT2_shellyrgbw2_6F7FB2 2021-02-21 21:08:20 color_0 on
setstate MQTT2_shellyrgbw2_6F7FB2 2021-02-25 20:54:10 color_0_energy 4327
setstate MQTT2_shellyrgbw2_6F7FB2 2021-02-25 20:54:10 color_0_overpower 0
setstate MQTT2_shellyrgbw2_6F7FB2 2021-02-25 20:54:10 color_0_power 8.26
setstate MQTT2_shellyrgbw2_6F7FB2 2021-02-25 20:54:10 effect 0
setstate MQTT2_shellyrgbw2_6F7FB2 2021-02-25 20:54:10 event
setstate MQTT2_shellyrgbw2_6F7FB2 2021-02-25 20:54:10 event_cnt 0
setstate MQTT2_shellyrgbw2_6F7FB2 2021-02-22 18:36:32 fs_free 147337
setstate MQTT2_shellyrgbw2_6F7FB2 2021-02-22 18:36:32 fs_size 233681
setstate MQTT2_shellyrgbw2_6F7FB2 2021-02-24 19:14:34 fw_ver 20201124-092159/v1.9.0@57ac4ad8
setstate MQTT2_shellyrgbw2_6F7FB2 2021-02-25 20:54:10 gain 0
setstate MQTT2_shellyrgbw2_6F7FB2 2021-02-25 20:54:10 green 0
setstate MQTT2_shellyrgbw2_6F7FB2 2021-02-25 20:54:10 has_timer false
setstate MQTT2_shellyrgbw2_6F7FB2 2021-02-22 18:36:32 has_update false
setstate MQTT2_shellyrgbw2_6F7FB2 2021-02-24 19:14:34 id Wohnwand
setstate MQTT2_shellyrgbw2_6F7FB2 2021-02-22 18:36:32 input 0
setstate MQTT2_shellyrgbw2_6F7FB2 2021-02-25 20:54:10 input_0 0
setstate MQTT2_shellyrgbw2_6F7FB2 2021-02-22 18:36:32 inputs_1_event
setstate MQTT2_shellyrgbw2_6F7FB2 2021-02-22 18:36:32 inputs_1_event_cnt 0
setstate MQTT2_shellyrgbw2_6F7FB2 2021-02-22 18:36:32 inputs_1_input 0
setstate MQTT2_shellyrgbw2_6F7FB2 2021-02-24 19:14:34 ip 192.168.3.11
setstate MQTT2_shellyrgbw2_6F7FB2 2021-02-25 20:54:10 ison true
setstate MQTT2_shellyrgbw2_6F7FB2 2021-02-22 18:36:32 lights_1_blue 42
setstate MQTT2_shellyrgbw2_6F7FB2 2021-02-22 18:36:32 lights_1_effect 0
setstate MQTT2_shellyrgbw2_6F7FB2 2021-02-22 18:36:32 lights_1_gain 45
setstate MQTT2_shellyrgbw2_6F7FB2 2021-02-22 18:36:32 lights_1_green 255
setstate MQTT2_shellyrgbw2_6F7FB2 2021-02-22 18:36:32 lights_1_has_timer false
setstate MQTT2_shellyrgbw2_6F7FB2 2021-02-22 18:36:32 lights_1_ison false
setstate MQTT2_shellyrgbw2_6F7FB2 2021-02-22 18:36:32 lights_1_mode color
setstate MQTT2_shellyrgbw2_6F7FB2 2021-02-22 18:36:32 lights_1_overpower false
setstate MQTT2_shellyrgbw2_6F7FB2 2021-02-22 18:36:32 lights_1_power 0.00
setstate MQTT2_shellyrgbw2_6F7FB2 2021-02-22 18:36:32 lights_1_red 0
setstate MQTT2_shellyrgbw2_6F7FB2 2021-02-22 18:36:32 lights_1_source mqtt
setstate MQTT2_shellyrgbw2_6F7FB2 2021-02-22 18:36:32 lights_1_timer_duration 0
setstate MQTT2_shellyrgbw2_6F7FB2 2021-02-22 18:36:32 lights_1_timer_remaining 0
setstate MQTT2_shellyrgbw2_6F7FB2 2021-02-22 18:36:32 lights_1_timer_started 0
setstate MQTT2_shellyrgbw2_6F7FB2 2021-02-22 18:36:32 lights_1_white 0
setstate MQTT2_shellyrgbw2_6F7FB2 2021-02-24 19:14:34 mac ECFABC6F7FB2
setstate MQTT2_shellyrgbw2_6F7FB2 2021-02-22 18:36:32 meters_1_counters_1 0.000
setstate MQTT2_shellyrgbw2_6F7FB2 2021-02-22 18:36:32 meters_1_counters_2 0.000
setstate MQTT2_shellyrgbw2_6F7FB2 2021-02-22 18:36:32 meters_1_counters_3 0.000
setstate MQTT2_shellyrgbw2_6F7FB2 2021-02-22 18:36:32 meters_1_is_valid true
setstate MQTT2_shellyrgbw2_6F7FB2 2021-02-22 18:36:32 meters_1_overpower false
setstate MQTT2_shellyrgbw2_6F7FB2 2021-02-22 18:36:32 meters_1_power 0.00
setstate MQTT2_shellyrgbw2_6F7FB2 2021-02-22 18:36:32 meters_1_timestamp 1614018992
setstate MQTT2_shellyrgbw2_6F7FB2 2021-02-22 18:36:32 meters_1_total 1027
setstate MQTT2_shellyrgbw2_6F7FB2 2021-02-25 20:54:10 mode color
setstate MQTT2_shellyrgbw2_6F7FB2 2021-02-24 19:14:34 model SHRGBW2
setstate MQTT2_shellyrgbw2_6F7FB2 2021-02-22 18:36:32 mqtt_connected true
setstate MQTT2_shellyrgbw2_6F7FB2 2021-02-24 19:14:34 new_fw false
setstate MQTT2_shellyrgbw2_6F7FB2 2021-02-24 19:14:34 online true
setstate MQTT2_shellyrgbw2_6F7FB2 2021-02-25 20:54:10 overpower false
setstate MQTT2_shellyrgbw2_6F7FB2 2021-02-25 20:54:10 power 8.26
setstate MQTT2_shellyrgbw2_6F7FB2 2021-02-22 18:36:32 ram_free 36108
setstate MQTT2_shellyrgbw2_6F7FB2 2021-02-22 18:36:32 ram_total 50712
setstate MQTT2_shellyrgbw2_6F7FB2 2021-02-25 20:54:10 red 255
setstate MQTT2_shellyrgbw2_6F7FB2 2021-02-25 20:54:10 rgb FF0000
setstate MQTT2_shellyrgbw2_6F7FB2 2021-02-22 18:36:32 serial 1614
setstate MQTT2_shellyrgbw2_6F7FB2 2021-02-25 20:54:10 source mqtt
setstate MQTT2_shellyrgbw2_6F7FB2 2021-02-25 20:54:10 state on
setstate MQTT2_shellyrgbw2_6F7FB2 2021-02-22 18:36:32 time 18:36
setstate MQTT2_shellyrgbw2_6F7FB2 2021-02-25 20:54:10 timer_duration 0
setstate MQTT2_shellyrgbw2_6F7FB2 2021-02-25 20:54:10 timer_remaining 0
setstate MQTT2_shellyrgbw2_6F7FB2 2021-02-25 20:54:10 timer_started 0
setstate MQTT2_shellyrgbw2_6F7FB2 2021-02-22 18:36:32 unixtime 1614018992
setstate MQTT2_shellyrgbw2_6F7FB2 2021-02-22 18:36:32 update_beta_version 20210122-155258/v1.10.0-rc1@00eeaa9b
setstate MQTT2_shellyrgbw2_6F7FB2 2021-02-22 18:36:32 update_has_update false
setstate MQTT2_shellyrgbw2_6F7FB2 2021-02-22 18:36:32 update_new_version 20201124-092159/v1.9.0@57ac4ad8
setstate MQTT2_shellyrgbw2_6F7FB2 2021-02-22 18:36:32 update_old_version 20201124-092159/v1.9.0@57ac4ad8
setstate MQTT2_shellyrgbw2_6F7FB2 2021-02-22 18:36:32 update_status idle
setstate MQTT2_shellyrgbw2_6F7FB2 2021-02-22 18:36:32 uptime 82727
setstate MQTT2_shellyrgbw2_6F7FB2 2021-02-25 20:54:10 white 81
setstate MQTT2_shellyrgbw2_6F7FB2 2021-02-22 18:36:32 wifi_sta_connected true
setstate MQTT2_shellyrgbw2_6F7FB2 2021-02-22 18:36:32 wifi_sta_ip 192.168.3.11
setstate MQTT2_shellyrgbw2_6F7FB2 2021-02-22 18:36:32 wifi_sta_rssi -52
setstate MQTT2_shellyrgbw2_6F7FB2 2021-02-22 18:36:32 wifi_sta_ssid Broken World
setstate MQTT2_shellyrgbw2_6F7FB2 2021-02-22 18:36:32 x_mqttcom set announce


Shelly RGBW2 Eventmonitor wenn ich versuche die Farbe zu wechseln:

2021-02-25 21:00:47 MQTT2_DEVICE MQTT2_shellyrgbw2_6F7FB2 rgb: set aN
2021-02-25 21:00:47 MQTT2_DEVICE MQTT2_shellyrgbw2_6F7FB2 brightness: set ff0000
2021-02-25 21:00:47 MQTT2_DEVICE MQTT2_shellyrgbw2_6F7FB2 on
2021-02-25 21:00:47 MQTT2_DEVICE MQTT2_shellyrgbw2_6F7FB2 timer_started: 0
2021-02-25 21:00:47 MQTT2_DEVICE MQTT2_shellyrgbw2_6F7FB2 gain: 69
2021-02-25 21:00:47 MQTT2_DEVICE MQTT2_shellyrgbw2_6F7FB2 white: 81
2021-02-25 21:00:47 MQTT2_DEVICE MQTT2_shellyrgbw2_6F7FB2 ison: true
2021-02-25 21:00:47 MQTT2_DEVICE MQTT2_shellyrgbw2_6F7FB2 power: 16.06
2021-02-25 21:00:47 MQTT2_DEVICE MQTT2_shellyrgbw2_6F7FB2 mode: color
2021-02-25 21:00:47 MQTT2_DEVICE MQTT2_shellyrgbw2_6F7FB2 has_timer: false
2021-02-25 21:00:47 MQTT2_DEVICE MQTT2_shellyrgbw2_6F7FB2 green: 0
2021-02-25 21:00:47 MQTT2_DEVICE MQTT2_shellyrgbw2_6F7FB2 red: 255
2021-02-25 21:00:47 MQTT2_DEVICE MQTT2_shellyrgbw2_6F7FB2 source: mqtt
2021-02-25 21:00:47 MQTT2_DEVICE MQTT2_shellyrgbw2_6F7FB2 effect: 0
2021-02-25 21:00:47 MQTT2_DEVICE MQTT2_shellyrgbw2_6F7FB2 timer_duration: 0
2021-02-25 21:00:47 MQTT2_DEVICE MQTT2_shellyrgbw2_6F7FB2 timer_remaining: 0
2021-02-25 21:00:47 MQTT2_DEVICE MQTT2_shellyrgbw2_6F7FB2 overpower: false
2021-02-25 21:00:47 MQTT2_DEVICE MQTT2_shellyrgbw2_6F7FB2 blue: 0
2021-02-25 21:00:47 MQTT2_DEVICE MQTT2_shellyrgbw2_6F7FB2 rgb: FF0000
2021-02-25 21:00:59 MQTT2_DEVICE MQTT2_shellyrgbw2_6F7FB2 color_0_energy: 4387



Zum Thema Update FHEM:

2021.02.25 21:02:18 1 : Downloading https://fhem.de/fhemupdate/controls_fhem.txt
2021.02.25 21:02:18 1 : nothing to do...

87insane

@beta-user: hab mir das live angesehen. Bitte Helligkeit zu setstatelist hinzufügen. In dem Template sollte generell mal aufgeräumt werden.


Ohne den Eintrag geht der Wechsel nicht sauber. Ggf in den setting Comments erwähnen wofür _on sein soll. Ohne das ich aktiv bei der Entwicklung dabei gewesen wäre, hätte ich das nie gefunden. Ich helfe generell auch gern wenn sich was ändert aber alles habe ich leider nicht im Blick

Es gibt wohl irgendwo auch einen "fix" aber das habe ich nur halb überflogen. Wenn du Daten brauchst, gern via pm.

Gruß,
Kai / 87insane

Beta-User

Zitat von: 87insane am 26 Februar 2021, 23:35:19
@beta-user: hab mir das live angesehen. Bitte Helligkeit zu setstatelist hinzufügen.
MAn. hat "normale" Brightness  in state nichts verloren, aber ich nehme an, du meinst die <reading>_on-setter? Kann man drüber nachdenken, wobei 
Zitat
Es gibt wohl irgendwo auch einen "fix" aber das habe ich nur halb überflogen.
eher darauf hinweist, dass das eigentliche Problem  woanders zu verorten ist; der state vom Device sollte ja am Ende korrekt sein, wenn der Befehl ausgeführt wurde.

Zitat
In dem Template sollte generell mal aufgeräumt werden.
[...]
Ich habe auch die dringende Vermutung, dass man die Shelly-m2-attrTemplate überarbeiten sollte und unterstütze auch gerne, aber
a) werde ich die Arbeit nicht (alleine) machen und
b) gibt es einen Thread von gestein, auch zum Thema eocr&Co.
Bitte klinke dich da ein. Das hier hätte ich fast übersehen, und dieser Thread ist auch der falsche Ort, um prinzipielle Fragen zu klären...
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

OliS.

Gibt es in der Zwischenzeit eigentlich eine Lösung für das Problem? Bei mir verhält es sich ganz genauso. Ich habe den Shelly RGBW2 über das mqtt2-Template eingebunden und das Setzen einer Farbe über Alexa funktioniert genau einmal ab Neustart von FHEM oder Connector. Anscheinend wird das Problem in unterschiedlichen Threads diskutiert. Mir ist aber nicht klar geworden, wo ich ansetzen muss, um es zu lösen.

LG
Oli

Internals:
   CFGFN     
   DEVICETOPIC bad_strip_mqtt
   FUUID      608ea61d-f33f-08ae-9167-5e42fba984157c53
   IODev      MQTT2_CLIENT
   LASTInputDev MQTT2_CLIENT
   MQTT2_CLIENT_MSGCNT 456
   MQTT2_CLIENT_TIME 2021-05-02 17:01:31
   MSGCNT     456
   NAME       bad_strip_mqtt
   NR         998
   STATE      on
   TYPE       MQTT2_DEVICE
   READINGS:
     2021-05-02 15:16:13   IODev           MQTT2_CLIENT
     2021-05-02 15:16:45   attrTemplateVersion 20201215
     2021-05-02 17:01:31   blue            122
     2021-05-02 15:21:15   brightness      set ff0000
     2021-05-02 17:01:31   effect          0
     2021-05-02 17:01:31   gain            100
     2021-05-02 17:01:31   green           160
     2021-05-02 17:01:31   has_timer       false
     2021-05-02 17:01:31   ison            true
     2021-05-02 17:01:31   mode            color
     2021-05-02 15:16:45   online          true
     2021-05-02 17:01:31   overpower       false
     2021-05-02 17:01:31   power           118.94
     2021-05-02 17:01:31   red             255
     2021-05-02 17:01:31   rgb             FFA07A
     2021-05-02 17:01:31   source          http
     2021-05-02 17:01:31   state           on
     2021-05-02 17:01:31   timer_duration  0
     2021-05-02 17:01:31   timer_remaining 0
     2021-05-02 17:01:31   timer_started   0
     2021-05-02 17:01:31   white           0
     2021-05-02 15:16:44   x_mqttcom       set announce
Attributes:
   alexaName  badstrip
   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"); "".FW_makeImage($onl)." ".FW_makeImage($light)."
Verbrauch: $cons
"}
   genericDeviceType light
   homebridgeMapping Brightness=brightness::brightness,maxValue=100,factor=0.39216,delay=true
   icon       light_control
   model      shelly2rgbw_color
   readingList shellies/badstrip/color/0/status:.* {json2nameValue($EVENT)}
  shellies/badstrip/color/0:.* state
  shellies/badstrip/online:.* online
  shellies/announce:.* { $EVENT =~ m,..id...badstrip...mac.*, ? json2nameValue($EVENT) : return }
   room       MQTT
   setList    off:noArg shellies/badstrip/color/0/command off
  on:noArg shellies/badstrip/color/0/command on
  brightness:colorpicker,BRI,0,1,255 shellies/badstrip/white/0/set {"mode":"white","brightness":"$EVTPART1"}
  white:colorpicker,BRI,0,1,255 shellies/badstrip/color/0/set {"white":"$EVTPART1"}
  gain:colorpicker,BRI,0,1,100 shellies/badstrip/color/0/set {"gain":"$EVTPART1"}
  rgb:colorpicker,RGB {$EVTPART1=~/(..)(..)(..)/;if($1 ne $2 || $2 ne $3) {"shellies/badstrip/color/0/set {\"mode\":\"color\",\"red\":".hex($1).",\"green\":".hex($2).",\"blue\":".hex($3)."}"}else{"shellies/badstrip/color/0/set {\"turn\":\"on\",\"mode\":\"white\",\"brightness\":".int(hex($1)/2.55)."}"}}
  white_on:colorpicker,BRI,0,1,100 shellies/badstrip/color/0/set {"turn":"on","white":"$EVTPART1"}
  gain_on:colorpicker,BRI,0,1,100 shellies/badstrip/color/0/set {"turn":"on","gain":"$EVTPART1"}
  rgb_on:colorpicker,RGB {$EVTPART1=~/(..)(..)(..)/;if($1 ne $2 || $2 ne $3) {"shellies/badstrip/color/0/set {\"turn\":\"on\",\"mode\":\"color\",\"gain\":\"100\",\"red\":".hex($1).",\"green\":".hex($2).",\"blue\":".hex($3)."}"}else{"shellies/badstrip/color/0/set {\"turn\":\"on\",\"mode\":\"white\",\"brightness\":".int(hex($1)/2.55)."}"}}
  effect:selectnumbers,0,1,6,0,lin  shellies/badstrip/color/0/set {"effect":"$EVTPART1"}
  x_update:noArg shellies/badstrip/command update_fw
  x_mqttcom shellies/badstrip/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"}}
   userattr   room_map structexclude
   webCmd     on:off:white:gain:rgb:effect
PVE auf MiniPC (N100) mit FHEM, Zigbee2MQTT, Homebridge, DeConz

Roger

#6
Hi,
ich habe auch einen Shelly RGBW2 und mich nun mit dem Thema Sprachsteuerung für diesen beschäftigt.
Hatte in der Standardkonfig auch das Phänomen, dass die Farbwahl nur einmal ging.
Habe es mit drei * cmdalias hinbekommen. Die Idee kommt von https://forum.fhem.de/index.php?topic=108371.0.

cmdAliase:

define huergb cmdalias set [\w\.]+ huergb \d+ AS \
{ my $hue=$EVTPART2;;;;\
fhem("setreading $EVTPART0 myhue $hue");;;;\
fhem("setreading $EVTPART0 setrgb 1")\
}

defmod setsat cmdalias set [\w\.]+ setsat \d+ AS \
{ my $sat=$EVTPART2;;;;\
fhem("setreading $EVTPART0 mysat $sat")\
}

defmod setbri cmdalias set [\w\.]+ setbri \d+ AS \
{ my $updCol=ReadingsVal($EVTPART0,'setrgb','1');;;;\
my $bri=$EVTPART2;;;;\
my $hue=ReadingsVal($EVTPART0,'myhue','100');;;;\
my $sat=ReadingsVal($EVTPART0,'mysat','100');;;;\
fhem("setreading $EVTPART0 mybri $bri");;;;\
my ($r,$g,$b)=Color::hsv2rgb($hue/356,$sat/100,$bri/100);;;;\
my $hexrgb=Color::rgb2hex($r*255,$g*255,$b*255);;;;\
if($updCol) {\
fhem "set $EVTPART0 rgb_on ".$hexrgb\
}\
else {\
fhem("set $EVTPART0 gain_on $bri")\
};;;;\
fhem("setreading $EVTPART0 setrgb 0");;;;\
Log 1, "rgb:".$hexrgb." bri:".$bri\
}


homebridgemapping:

attr <name> homebridgeMapping clear\
On=state,valueOn=on,valueOff=off,cmdOn=on,cmdOff=off\
Hue=myhue,cmd=huergb\
Saturation=mysat,cmd=setsat\
Brightness=mybri,cmd=setbri\
white=white,cmd=white_on


Man benötigt auch aktuelle server.js und fhem.js von https://github.com/justme-1968/alexa-fhem oder https://forum.fhem.de/index.php/topic,108371.msg1192428.html#msg1192428.
Nur das Weiss klappt noch nicht - das bin ich noch dran.  >:(
Wahrscheinlich wäre ein Anpassung der server.js von justme1968 die bessere/einfachere Lösung.  :)

Vielleicht hilft das aber jemanden weiter.
//Roger
Zotac & RPIs mit 10*FHEM
2*HM-LAN, 2*JeeLink, 2*RS485, SignalESP
HomeMatic, PCA301 Komponenten, ModBus: Stromzähler, Fronius WR, Shelly, Victron

Beta-User

...irgendwie sind mir das sehr viele workarounds...

Allgemeine Anmerkung: uU. wäre es besser, das/die betr. attrTemplate zu überarbeiten und z.B. einen rgb-Setter zu generieren...
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

Roger

Ja, (wie ich schon schrieb) kann das besser/einfacher gelöst werden.
Schwierigkeit ist wohl, dass Alexa die Farbänderung in hue ausgibt - das RGBW2 es aber nur als rgb akzeptiert.

Man kann natürlich auch die cmdAliase ins Template integrieren (dann hat man das in jedem Gerät) - oder justme1968 passt es einmal in seiner Sprachsteuerung an. (Das ist ja schon die Transformation hsv2rgb drin.)

//Roger
Zotac & RPIs mit 10*FHEM
2*HM-LAN, 2*JeeLink, 2*RS485, SignalESP
HomeMatic, PCA301 Komponenten, ModBus: Stromzähler, Fronius WR, Shelly, Victron

Beta-User

Hmm, rückwärts wird auch "HEX" errechnet; der Aufwand ist also bis zu einem gewissen Grad "eh da".
Die Frage wäre, ob der Shelly ggf. auch HUE-Angaben direkt akzeptieren würde... (Ich habe zur Abwechslung nicht in die Doku bei Shelly geschaut).
Server: HP-elitedesk@Debian 12, aktuelles FHEM@ConfigDB | CUL_HM (VCCU) | MQTT2: ZigBee2mqtt, MiLight@ESP-GW, BT@OpenMQTTGw | ZWave | SIGNALduino | MapleCUN | RHASSPY
svn: u.a Weekday-&RandomTimer, Twilight,  div. attrTemplate-files, MySensors

Roger

Zotac & RPIs mit 10*FHEM
2*HM-LAN, 2*JeeLink, 2*RS485, SignalESP
HomeMatic, PCA301 Komponenten, ModBus: Stromzähler, Fronius WR, Shelly, Victron