NEWS
Shelly Adapter command via nodered
-
Hallo zusammen,
wie kann über nodered ein custom command an meinen Shelly Dimmer senden?
Z.B. diesen json Befehl:
{ "brightness": 100, /* output brightness 1..100 */ "turn": "on", /* one of "on", "off", or "toggle" */ "transition": 500 /* One-shot transition, `0..5000` [ms] */ }
Danke und Grüße
Steffen -
@s84 Du erstellst einfach ein Objekt und machst mit der JSON Node einen String, bevor du es an den Datenpunkt schickst.
Um es vielleicht etwas plastischer zu machen. Wenn Du also nur die Helligkeit ändern willst, aber alles andere mit in das Objekt geben willst, dann würde es so aussehen:
-
Wenn Du sowas mehrfach variabel halten möchtest, dann musst du halt mit einer JOIN Node alles in einem Objekt sammeln. Also um den unteren Flow noch zu erweitern.
Das turn = "on" lass ich mal fix, so dass nur die brightness und die transition time variabel gesetzt werden. Könnte man zwar auch variabel machen, macht aber logisch aus meiner Sicht keinen Sinn:
Der Einfachheit halber habe ich auch das topic gleich den Eigenschaftsnamen genannt. Nachdem der Haken dann bei sende alle nachfolgenden gesetzt ist, wird immer das komplette Objekt geschickt, auch wenn sich nur noch ein Parameter ändert.
Du kannst das mit dem turn on und turn off auch variabel machen. Da es dem Shelly egal ist, wenn Du bei turn off auch noch brightness und transition mitschickst.
-
@mickym vielen Dank dir.
Momentan steuere ich den Shelly Datenpunkt xxx und setze ihn auf on.
Diesem kann ich doch aber nicht das json übergeben, oder? An welchen shelly Datenpunkt schick ich also den Befehl? -
@s84 Ich habe Keine Ahnung vom Shelly Adapter - da ich das alles via mqtt mache. Ich denke, dass der Shelly alle Datenpunkt in skalare Werte zerlegt und keine JSONs aufnimmt.
Vielleicht kann hier @haus-automatisierung, der meiner Kenntnis nach, diesen Adapter betreut was dazu sagen.
Oder @da_Woody ist glaub auch ein Fan des Shelly Adapters.
Wie gesagt, diesen JSON ist dafür gedacht, den an den command Datenpunkt via mqtt zu schicken,
-
@mickym sagte in Shelly Adapter command via nodered:
Oder @da_Woody ist glaub auch ein Fan des Shelly Adapters.
das ja, allerdings hab ich 0 ahnung von nodered und was ihr da vor habt.
An welchen shelly Datenpunkt schick ich also den Befehl?
ich denk mal, das wird so nicht funzen. du wirst die DPs einzeln ansprechen müssen.
-
@da_woody sagte in Shelly Adapter command via nodered:
@mickym sagte in Shelly Adapter command via nodered:
Oder @da_Woody ist glaub auch ein Fan des Shelly Adapters.
das ja, allerdings hab ich 0 ahnung von nodered und was ihr da vor habt.
An welchen shelly Datenpunkt schick ich also den Befehl?
ich denk mal, das wird so nicht funzen. du wirst die DPs einzeln ansprechen müssen.
Ja ich denke auch, dass man in dem Adapter wohl alle Parameter einzeln einstellen muss. Das ist halt der Nachteil solcher Adapter, dass man da nicht mehrere Befehle aufeinmal schicken kann.
-
@mickym nuja, über eine visu, oder alexa kann ich schon mehrere DPs ansprechen. sonst könnte ich ja bei einem rgbw device nicht gleichzeitig einschalten und eine gewünschte farbe gleichzeitig machen.
aber wie gesagt, ich les zwar manchmal nodered, kann damit aber nix anfangen. -
@mickym sagte in Shelly Adapter command via nodered:
Ich denke, dass der Shelly alle Datenpunkt in skalare Werte zerlegt und keine JSONs aufnimmt.
Genau - am Ende das gleiche, was ein Sonoff-Adapter mit Tasmota-Geräten macht. Nur wahlweise über CoAP oder MQTT.
-
Vielen Dank an alle!
Gibt es alternativ die Möglichkeit den shelly nicht über den Shelly Adapter mit dem Befehl zu steuern sondern über einen nodered Node der einen mqtt „Befehl“ schickt? Sorry, vielleicht stell ich mir das zu einfach vor. So in etwa: Angabe der ip des Shelly im Node und entgegennahme/Versand des jsons.
-
@s84 Klar, schau einfach in die Shelly-Dokumentation, was die Geräte können und erwarten: https://shelly-api-docs.shelly.cloud
Eine IP-Adresse des Shellies brauchst Du bei MQTT aber nicht... das läuft ja alles über die jeweiligen Topics. Du musst nur den Shelly und auch Node-Red mit deinem MQTT-Broker verbinden (z.B. Mosquitto).
Also einfach dein JSON an das richtige Topic publishen, welches der Shelly kennt. Aber ich frage mich, warum man sich die Arbeit machen möchte... Ist ja nicht so, als ob der Adapter das nicht auch kann?!
Beispiele dafür hatte @mickym ja schon geteilt.
-
Vielleicht denke ich auch zu kompliziert.
Eigentlich will ich dem Shelly ja nur sagen: schalte dich jetzt ein, Dimme dabei auf 30% und das mit 5 sek Transition. Wenn ich das über die einzelnen Datenpunkte mache und nacheinander setze, sehe ich, wie die Lampe nach dem Einschalten nachregelt. -
@s84 vielleicht erst die Parameter setzen und den Einschaltbefehl zum Schluss absetzen.