Open chris299 opened 1 year ago
Thanks for reporting @chris299!
Ich schau mir das Thema mal an, wenn ich in zwei, drei Wochen auch einen habe.
http://192.168.33.1/rpc/PLUGS_UI.SetConfig?config={"leds":{"colors":{"switch:0":{"on":{"rgb":[100,100,50],"brightness":100}}}}}
(natürlich besser per MQTT)
@klein0r ich habe das bei mir nun per Blockly gebastelt, aber ein Datenpunkt für die Farben (jeweils für AN und AUS) wäre schon schick ;-)
@chris299 Ich kann das nicht blind implementieren, das hat in der Vergangenheit nur so mittelgut geklappt 😄 Habe keinen Plus Plug S zum testen
@klein0r wenn es nur an der fehlenden Hardware liegt, sponsore ich gern einen. ;-) Wohin muss der denn?
http://192.168.33.1/rpc/PLUGS_UI.SetConfig?config={"leds":{"colors":{"switch:0":{"on":{"rgb":[100,100,50],"brightness":100}}}}}
(natürlich besser per MQTT)
Per MQTT geht da auf den ersten Blick leider nichts. Sehe auf meinem Mosquitto Server keine Konfiguration oder Status Infos die per MQTT übertragen werden.
@klein0r wenn es nur an der fehlenden Hardware liegt, sponsore ich gern einen. ;-) Wohin muss der denn?
Mein Shelly Plus Plug S kam heute per Post, ich schau es mir die Tage mal an.
@klein0r ich brauch mal deine Hilfe:
Das JSON hat mehrere ebenen so dass ich mich durch die Ebenen durchhangeln muss, soweit ja bei JSON kein Problem:
http_publish_funct: value => value ? JSON.parse(value).leds.colors.power.brightness : undefined,
Damit kann ich Problemlos den Wert abfragen und taucht auch so im ioBroker auf. Problem ist nur, dass die eine Ebene "switch:0" heißt, wie kann ich den Doppelpunkt escapen, damit ich hier keinen Fehler bekomme?
der JSON Parse teil würde (mit Fehler) aktuell so aussehen:
http_publish_funct: value => value ? JSON.parse(value).leds.colors.switch:0.on.rgb.brightness : undefined,
Könntest du mir hier kurz unter die Arme greifen?
http_publish_funct: value => value ? JSON.parse(value).leds.colors['switch:0'].on.rgb.brightness : undefined,
@klein0r vielen Dank, der Tipp hat geholfen.
Der Code um alle Werte auszulesen ist fertig und tut bereits, hab nur aktuell Probleme beim schreiben von Daten, da muss ich mir nochmals den Code anschauen um zu verstehen, wie http requests dann gesendet werden, um Daten per http anstelle von mqtt zu verändern. Irgendwie hab ich für Gen2 Geräte noch an keiner anderen Stelle gesehen, dass per http_cmd / http_cmd_funct Daten verändert werden.
um Daten per http anstelle von mqtt zu verändern.
Wozu? Hier hatte ich mal etwas zusammengeschrieben vor einiger Zeit:
https://github.com/iobroker-community-adapters/ioBroker.shelly/blob/v6.4.5/docs/en/dev/dev.md
@klein0r das hat auch wieeder geholfen, so langsam komme ich in den Code rein und das Verändert der Parameter aus dem ioBroker heraus klappt auch. Nun hänge ich beim gleichen Problem wie oben wieder mit dem Escapen vom switch:0, dieses mal jedoch bei der mqtt_cmd_funct.
Hier klappt das ohne Probleme:
method: 'PLUGS_UI.SetConfig', params: { config: { leds:{colors:{power:{brightness:value} } } } },
Hier hänge ich jedoch gerade:
method: 'PLUGS_UI.SetConfig', params: { config: { leds:{colors:{power:{switch:0:{off:{brightness:value} } } } } } },
Habe bereits einfache Hochkomma und Doppelte Hochkomma getestet und versucht den Doppelpunkt mittels Urlencoding (%3A) zu ersetzen, aber leider startet der Adapter dann nur noch, wenn ich es irgendwie in einfache Hochkommas packe. Dann kann er jedoch den Wert nicht verändern.
Kannst du mir hier nochmals helfen?
kurzes Update zum Status, alle Werte bis auf die RGB Werte können bei mir auf meiner Entwicklungsumgebung bereits gelesen und geschrieben werden. Bei den RGB Werten hänge ich aktuell, werd die nächste Woche jedoch keine Zeit finden, hier weiter zu machen. Bin jedoch noch dran.
Hallo,
gibt es da schon Neuigkeiten, oder übersehe ich das im Adapter? Danke!
I'm sure that
Shelly device
Shelly Plus Plug S
Protocol (CoAP / MQTT)
MQTT
The problem
it would be great to steer the LED behaviour of Shelly Plus Plug S and especially the colour through iobroker states.
by URL it is simple, i.e.
http://192.168.33.1/rpc/PLUGS_UI.SetConfig?config={"leds":{"colors":{"switch:0":{"on":{"rgb":[100,100,50],"brightness":100}}}}}
see https://shelly-api-docs.shelly.cloud/gen2/Devices/ShellyPlusPlugS/#plugs_ui
Version of nodejs
16.20.1
Version of ioBroker js-controller
4.0.24
Version of Adapter
6.4.1
Operating system running ioBroker
Ubuntu
Checklist of files to include below
Additional information & file uploads
No response