Circlemenue ohne senden von state "on"

Begonnen von dirk.k, 10 Dezember 2019, 21:42:45

Vorheriges Thema - Nächstes Thema

dirk.k

Hallo,
ich brauche das Circlemenue um eine Farbe für das reading "RGB" zu wählen.
das Gerät ist eine Schalt-Steckdose mit RGB-Rand.
Blöderweise wird beim 1. klick auf das Circlemenue der Device-Status "on" gesendet.
Das schaltet die Steckdose ... hat aber nix mit der RGB-Farbe zu tun.
Wie kann ich das Schalten unterbinden?
Hat jemand eine Idee?
<div data-type="circlemenu" data-device="SonoffTuya_Pow_02" data-get="RGB" data-off-background-color="#A6BF17" data-background-color="RGB" data-on-background-color="RGB" class="">
    <ul>
<li><div data-type="push" data-device="SonoffTuya_Pow_02" data-off-background-color="RGB" data-background-color="RGB"  data-on-background-color="RGB" data-get="RGB"  data-icon="fa-wrench"></div></li>
<li><div data-type="push" data-device="SonoffTuya_Pow_02" data-off-background-color="#FF0000" data-off-color="#FF0000" data-set="RGB" data-set-on="FF0000" data-icon="fa-paint-brush"></div></li>
<li><div data-type="push" data-device="SonoffTuya_Pow_02" data-off-background-color="#FFFF00" data-off-color="#FFFF00" data-set="RGB" data-set-on="FFFF00" data-icon="fa-paint-brush"></div></li>
<li><div data-type="push" data-device="SonoffTuya_Pow_02" data-off-background-color="#00FF00" data-off-color="#00FF00" data-set="RGB" data-set-on="00FF00" data-icon="fa-paint-brush"></div></li>
<li><div data-type="push" data-device="SonoffTuya_Pow_02" data-off-background-color="#00FFFF" data-off-color="#00FFFF" data-set="RGB" data-set-on="00FFFF" data-icon="fa-paint-brush"></div></li>
<li><div data-type="push" data-device="SonoffTuya_Pow_02" data-off-background-color="#088CFF" data-off-color="#088CFF" data-set="RGB" data-set-on="088CFF" data-icon="fa-paint-brush"></div></li>
<li><div data-type="push" data-device="SonoffTuya_Pow_02" data-off-background-color="#0000FF"  data-set="RGB" data-set-on="0000FF" data-icon="fa-paint-brush"></div></li>
<li><div data-type="push" data-device="SonoffTuya_Pow_02" data-off-background-color="#FF00FF"  data-set="RGB" data-set-on="FF00FF" data-icon="fa-paint-brush"></div></li>
<li><div data-type="push" data-device="SonoffTuya_Pow_02" data-off-background-color="#FFFFFF"  data-set="RGB" data-set-on="FFFFFF" data-icon="fa-paint-brush"></div></li>
<li><div data-type="push" data-device="SonoffTuya_Pow_02" data-off-background-color="#000000"  data-set="RGB" data-set-on="000000" data-icon="fa-paint-brush"></div></li>
    </ul>
</div>

amenomade

Und was soll beim push auf <li><div data-type="push" data-device="SonoffTuya_Pow_02" data-off-background-color="RGB" data-background-color="RGB"  data-on-background-color="RGB" data-get="RGB"  data-icon="fa-wrench"></div></li>gemacht werden? Welches Kommando?
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

dirk.k

#2
Hi,
Nix soll gemacht oder gesendet werden, wenn ich auf die Mitte klicke. Nur CircleMenue auf/zu.
Das Menü soll aufgehen und durch klick auf eines der Menüfelder wähle ich dann die Farbe. (Der Teil funktioniert, nur wird die Steckdose immer eingeschaltet)
Schaltbare Steckdose und RGB Ring derselben sind als ein Device eingerichtet.
Hier noch die Definition der Steckdose:
defmod SonoffTuya_Pow_02 MQTT_DEVICE
attr SonoffTuya_Pow_02 IODev mqtt_local
attr SonoffTuya_Pow_02 event-min-interval Power:1800,uptime:600
attr SonoffTuya_Pow_02 event-on-change-reading .*
attr SonoffTuya_Pow_02 icon measure_power
attr SonoffTuya_Pow_02 publishSet ON OFF fhem/sensors/SonoffTuya_pow_2/cmnd/POWER1
attr SonoffTuya_Pow_02 publishSet_POWER2 fhem/sensors/SonoffTuya_pow_2/cmnd/POWER2
attr SonoffTuya_Pow_02 publishSet_RGB fhem/sensors/SonoffTuya_pow_2/cmnd/Color
attr SonoffTuya_Pow_02 room 6.2_Spannung,8.2_ESP
attr SonoffTuya_Pow_02 stateFormat {sprintf("aktuell: %.1f W <br/>Tag: %.2f Kw/h<br/>Gestern: %.3f Kw/h", ReadingsVal($name,"Power",undef), ReadingsVal($name,"Today",undef), ReadingsVal($name,"Yesterday",undef))}
attr SonoffTuya_Pow_02 subscribeReading_ENERGY tele/sonoffpow/ENERGY
attr SonoffTuya_Pow_02 subscribeReading_INFO1 fhem/sensors/SonoffTuya_pow_2/tele/INFO1
attr SonoffTuya_Pow_02 subscribeReading_INFO2 fhem/sensors/SonoffTuya_pow_2/tele/INFO2
attr SonoffTuya_Pow_02 subscribeReading_INFO3 fhem/sensors/SonoffTuya_pow_2/tele/INFO3
attr SonoffTuya_Pow_02 subscribeReading_INFO4 fhem/sensors/SonoffTuya_pow_2/tele/STATE
attr SonoffTuya_Pow_02 subscribeReading_LWT fhem/sensors/SonoffTuya_pow_2/tele/LWT
attr SonoffTuya_Pow_02 subscribeReading_POWER1 fhem/sensors/SonoffTuya_pow_2/stat/POWER1
attr SonoffTuya_Pow_02 subscribeReading_POWER2 fhem/sensors/SonoffTuya_pow_2/stat/POWER2
attr SonoffTuya_Pow_02 subscribeReading_RESULT fhem/sensors/SonoffTuya_pow_2/stat/RESULT
attr SonoffTuya_Pow_02 subscribeReading_SENSOR fhem/sensors/SonoffTuya_pow_2/tele/SENSOR
attr SonoffTuya_Pow_02 subscribeReading_UPTIME fhem/sensors/SonoffTuya_pow_2/tele/UPTIME
attr SonoffTuya_Pow_02 subscribeReading_state cmnd/sonoffpow/POWER2
attr SonoffTuya_Pow_02 userReadings OTA-IP:INFO2:.* {\
my $s = "[" . (ReadingsVal("$NAME","INFO2",0)) . "]";;\
my $decoded = decode_json($s);;\
my $address = $decoded->[0]->{'IPAddress'};;\
return $address;;\
},\
\
RSSI:INFO4:.* {decode_json(ReadingsVal($NAME,"INFO4",0))->{Wifi}{RSSI}},\
Power:SENSOR:.* {decode_json(ReadingsVal($NAME,"SENSOR",0))->{ENERGY}{Power}},\
Today:SENSOR:.* {decode_json(ReadingsVal($NAME,"SENSOR",0))->{ENERGY}{Today}},\
Yesterday:SENSOR:.* {decode_json(ReadingsVal($NAME,"SENSOR",0))->{ENERGY}{Yesterday}},\
Current:SENSOR:.* {decode_json(ReadingsVal($NAME,"SENSOR",0))->{ENERGY}{Current}},\
uptimetxt:INFO4:.* {decode_json(ReadingsVal($NAME,"INFO4",0))->{Uptime}},\
uptime:INFO4:.* {decode_json(ReadingsVal($NAME,"INFO4",0))->{Uptime}},\
Firmware:.* {decode_json(ReadingsVal($NAME,"INFO1",0))->{Version}},

attr SonoffTuya_Pow_02 webCmd RGB:RGB ff00ff:RGB ff0000:RGB ffff00:RGB 8CFF08:RGB 00ff00:RGB 05FF82:RGB 00FFff:RGB 088CFF:RGB 0000ff:RGB 000000:RGB FFFFFF:ON:OFF
attr SonoffTuya_Pow_02 widgetOverride RGB:colorpicker,RGB



PS: dank dem Hinweis habe ich jetzt in der Zeile
<li><div data-type="push" data-device="SonoffTuya_Pow_02" data-off-background-color="RGB" data-background-color="RGB"  data-on-background-color="RGB" data-get="RGB" data-set="xxx"  data-icon="fa-wrench"></div></li>
das data-set="xxx" hinzugefügt. Jetzt läuft der Schaltvorgang ins Leere. Die Funktion ist jetzt so, wie erhofft. Gibt es eine bessere Lösung?




amenomade

Ok, anders gefragt: wofür steht folgende Zeile?
<li><div data-type="push" data-device="SonoffTuya_Pow_02" data-off-background-color="RGB" data-background-color="RGB"  data-on-background-color="RGB" data-get="RGB"  data-icon="fa-wrench"></div></li>
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

dirk.k

Hi,
da habe ich echt keine Ahnung.
Ist per Copy-and-paste ins System gekommen und hat bei "RGB-Only" so gut funktioniert.
Ich glaube, ich habe es seiner Zeit aus dem WIKI abgeleitet ... https://wiki.fhem.de/wiki/FTUI_Widget_Circlemenu
Ich würde denken, das ist der Mittelpunkt des Circle-menue. Und so angepasst, dass er die aktuell gewählte Farbe darstellt.

PS: Falls du mich dazu bringen möchtest selber drauf zu kommen ... ich verstehe es nicht ...

amenomade

Sorry, hatte dein PS nicht gesehen. Also, Du hast es selbst geschafft ;)
Pi 3B, Alexa, CUL868+Selbstbau 1/2λ-Dipol-Antenne, USB Optolink / Vitotronic, Debmatic und HM / HmIP Komponenten, Rademacher Duofern Jalousien, Fritz!Dect Thermostaten, Proteus

dirk.k

Ja, ich habe einen funktionierenden Workaround, welcher mir aber nicht wirklich gefällt.
Es wird ja ein Befehl an FHEM gesendet, der nur weil er falsch ist keine störenden Folgen hat ...