NEWS
Shelly Lampe mit mqtt steuern. Nur Wie?
-
@karstent said in Shelly Lampe mit mqtt steuern. Nur Wie?:
hallo,
ich mache nun meine ersten Schritte in Sachen mqtt. Meine Lampe konnte ich erfolgreich mit mqtt verbinden. Diese taucht auch in den Objekten auf. Nun stehe ich aber auf dem Schlauch.
Wie kann ich diese nun schalten, Helligkeit oder Farbe einstellen usw.
Kann mir da kurz jemand erklären.
Danke
naja, du brauchst ja nur den status von command auf on oder off setzen, dann sollte das schon mal tun.
Außerdem gibts auf der schelly page die MQTT API bechrieben -
-
@homecineplexx und wie schaut es mit Helligkeit und farbwerten aus?
-
@karstent said in Shelly Lampe mit mqtt steuern. Nur Wie?:
@unclesam @unclesam Im Moment wird die neue RGB Duo GU10 noch nicht vom Adapter unterstützt.
Ich verwende auch den MQTT Adapter dafür (aber für alle schelly)
-
@karstent said in Shelly Lampe mit mqtt steuern. Nur Wie?:
@homecineplexx und wie schaut es mit Helligkeit und farbwerten aus?
naja du kannst ja quasi über die APP mal was steuern und dann schauen, was da in den Datenpunkten ankommt.
ich nemhe mal an der SET Datanpunkt wird dafür benötigt, aber wie gesagt es gibt auch die API, bzw ich könnte dir dann daheim nachschauen, wie ich das verwende -
@karstent Ich empfehle Dir die mqtt Doku von Shelly - ich steuere alle meine Shellies ausschließlich über mqtt. In meinen Augen. Ich weiss nicht was Du für Lampen hast - aber schau halt mal hier:
Über set übergibst Du einfach einen kompletten JSON String an shellies/shellyrgbw2-<deviceid>/color/0/set .
{ "mode": "color", /* "color" */ "red": 0, /* red brightness, 0..255 */ "green": 0, /* green brightness, 0..255 */ "blue": 255, /* blue brightness, 0..255 */ "gain": 100, /* gain for all channels, 0..100 */ "white": 0, /* white brightness, 0..255 */ "effect": 0, /* applies an effect when set */ "turn": "on" /* "on", "off" or "toggle" */ }
-
@mickym ok, das hatte ich auch gefunden. Nur wie übergebe diesen String? Mache ich das in einem Blockly Script? Wie ist da die generelle Verfahrensweise?
-
@karstent Nun zum Testen kannst Du ja einfach den Wert/kompletten JSON String direkt in das Feld reinschreiben - kopieren. Später machst Du es mit Deiner Logikmaschine, die Dir am Besten liegt also javascript, blockly oder NodeRed. Ich bin NodeRed Fan - aber beim Erstellen eines JSON Strings mit Blockly können Dir hier sicher auch viele andere weiter helfen. Du willst das ja irgendwann mal via GUI - also mit einer von Dir präferierten Visualisierung steuern (VIS, NodeRed Dashboard, iQontrol,....)
Für den Anfang kopiere aus meinem letzten Posting den JSON String in die Zwischenablage, in dem Du in dem schwarzen Fenster auf "Select all" klickst, dann <Strg+C> drückst, dann gehst Du im iobroker neben dem Wert auf den Stift und kopierst alles in das Dialogfenster mit >Strg+V>,
Das habe ich hier schon mal für jemand anders beschrieben: https://forum.iobroker.net/topic/40881/node-red-fehler-bei-umstieg-auf-raspi4/69
Wichtig ist dass Du den Wert nicht bestätigst, als nicht den Haken anklicken.
Bei Shelly ist es übrigens auch angenehm, dass Du nicht immer den vollen String mitschicken musst. Wenn Du also zum Testen erst mal nur:
{ "turn": "on" }
zum Einschalten schickst, in dem set Datenpunktm dann kannst zum Testen auch "off" und "toggle" schicken.
Oder Du schickst
{ "red": 128 }
um zum Beispiel nur den Rotanteil zu ändern. Also bei mir hat das zumindest bei anderen Datenpunkten funktioniert. Aber auch wenn Du immer den gesamten JSON String schicken musst, ist das auch nicht weiter schlimm.
Um Dir zu zeigen, wie das ausschaut - hier mal ein Ausschnitt aus meinem Shelly-MQTT Ast:
Ist halt ein Dimmer deswegen ist das da nicht mit soviel Parametern.
-
@mickym danke dir, das ist ja schon mal ein Anfang wo ich rumprobieren kann
-
@mickym Hmm, ich bin zu blöd dafür. Habe jetzt mal das "ein" kommando gesetzt doch an der lampe passiert nüscht
Im log müsste doch eigentlich was erscheinen, oder? Erscheint aber nüscht.
-
@karstent Ja wenn der mqtt-Adapter nicht wieder spinnt., wenn der als Broker konfiguriert ist. Schau mal ins LOG, ob Du Fehlermeldungen siehst, wenn da wieder was steht, dass er nach 11 retries die Nachricht verworfen hat, dann hat der wieder ein Problem. Schalte mal die Lampe über die Shelly Website und schau mal ob auf dem Punkt 0 ein "on" wird.
-
@mickym Ja, das "on" wird nach dem einschalten dargestellt. Allerdings wird im log nichts ausgegeben wenn ich das "Set" Parameter benutze. Als würde nichts rausgehen.
-
@karstent Ja wie gesagt - der MQTT-Adapter als Broker arbeitet in meinen Augen nicht korrekt. Du könntest nun als Möglichkeit noch versuchen in den MQTT-Einstellungen, den Haken bei "Sende Zustände" zu setzen. Und wie gesagt schau mal in das Log nach diesem Fehler. (ggf. filtere nach von Dir benutzten mqtt-Instanz). Ansonsten wenn Du das längerfristig nutzen willst, dann nutz den Adapter als Client und installiere mosquitto.
Schau mal ob Du im Log solche Fehlermeldungen findest: MQTT: Message xxx deleted after 11 retries
Das sind die 2 Threads wo ich diese Probleme mit dem Adapter als Broker schon mal angesprochen hatte:
https://forum.iobroker.net/topic/33772/mqtt-message-xxx-deleted-after-11-retries
https://forum.iobroker.net/topic/32143/mqtt-problem