NEWS
Node-Red und Shelly-Plug
-
Hallo,
wo soll denn der Status in Node Red widergespiegelt werden, im Dashboard?
Eventuell würde es auch helfen, würdest du deinen Flow zeigen. -
Ja im Dashboard.
Wenn ich manuell schalte, bleibt es im dashboard ohne Änderung. -
Du musst doch nur den Eingang mit dem Datenpunkt verbinden. Ich habe zwar nicht den Shelly Adapter sondern arbeite mit MQTT, aber normalerweise findest Du den Status/Eingang unter relay/0, das Kommando unter relay/0/command. Also einfach den Datenpunkt, der den Status anzeigt mit dem Switch verbinden (iobroker in Node). Aber darauf achten, dass der Switch kein passthrough der Messages macht, sonst hast Du eine Endlosschleife. Also immer Input zeigt status.
-
Wenn ich sowas hier erstelle:
schaltet die Steckdose nach dem einschalten direkt wieder aus.
-
@half
Du hast den Haken drin (sehe ich daran dass das off - klein geschrieben ist ) gelassen: Pass though msg if payload matches new state
Das habe ich aber geschrieben.
Der Schalter lässt nichts durch, wenn der Haken nicht gesetzt ist. -
Haken ist drin.
gleicher Effekt, Steckdose schaltet bei manuellem schalten direkt wieder zurück in den Zustand von node-red.
-
@half Der Haken MUSS RAUS! und am Besten switch icon shows input state.
-
Haken ist jetzt raus, switch icon shows input state ist auch gewählt.
leider schlimmer als vorher.
ich kann das icon anklicken (einschalten), die Steckdose schaltet, aber das icon bliebt auf aus, danach schaltet gar nicht mehr. -
@half Poste doch mal die Definition des Eingangsnodes von Deinem Schalter 16 und die Definition des Ausgangsnodes.
-
iobroker in node:
Switch node:
iobroker out node:
-
@half , schaltet dein Shelly-Plug denn bei den boolschen Werten true und false, oder erwartet er "true" und "false" eventuell als String?
-
Ich arbeite zwar mit mqtt und nicht dem shelly Adapter - aber entweder musst Du wirklich, wie @Seb_123 schreibt das true/false als Text und nicht als Bool auslesen bzw. setzen und dadurch, dass es der gleiche Datenpunkt ist, und nicht wie bei mqtt, 2 verschiedene würde ich beim Eingang die Option Send only if ack=true setzen.
Das command im Ausgang setzt kein ack=true ,sondern dass müsste vom Shelly kommen bzw. vom Adapter.
-
der Shelly- Plug ist über mqtt eingerichtet??
So, dann ist das einfachste, wenn du auch mqtt im node-red verwendest. Und einen mqtt Broker installierst und einstellst. Das ganze sieht dann so aus:Folgende Einstellungen müssen dann eingegeben werden:
MQTT in:
Topic: shellies/DEIN-SHELLY-CODE/relay/0Steckdose
Hacken entfernen bei "Pass though msg if payload matches new state" Sonst schaltet der ständig ein/aus
On Payload (String) on
Off Payload (String) offMQTT out:
shellies/DEIN-SHELLY-CODE/relay/0/commandWenn das soweit eingerichtet ist, kannst du den Shelly-Plug manuell, über node-red, weboberfläche shelly-plug ein/ausschalten. Du bekommst immer den Status im Dashboard und im node red angezeigt
-
@Croix-aigle Nein - so wie es aussieht arbeitet er nicht mit mqtt, sondern mit dem shelly Adapter - weil mqtt keinen Switch-Datenpunkt kennt - deshalb ja auch sein true/false und nicht on/off, wie das von den shellies im Original verstanden wird.
-
Danke, läuft.
Ich musste nur den Payload auf String umstellen.