NEWS
2 Bewegungsmelder (Aqara) sollen einen Lampe schalten
-
@mickym hihi ich habe das so verstanden, das wenn man aus dem Kontextmenü flow auswählt das dann der Flow angesprochen wird.
-
beim Schalten des Schalter geht Licht an und geht nach x min aus. Wenn ich den Lichtschalter ausschalte schaltet das Licht aus aber was jetzt die Steuerung macht keine Ahnung. Ich weiß nicht was das bewirkt wenn man auf flow umstellt.
Objekt Schalten.Bad habe ich erstellt bzw Ordner ist Schalten Objekt ist Bad -
@aphofis Meinte ich auch nicht.
Ein Objekt erstellt man in dem man dem Objekt einen Namen und eine Eigenschaft gibt.
Das heißt, das Objekt heißt Schalter und die Eigenschaft Bad.
Ganz einfach, weil ich von den einzenen nodes keine Ahnung habe ich habe das 1 jetzt geändert in true und bei dem Rest bin ich bei.
Na aber Du willst doch eine Ahnung haben und Du solltest beim Trigger nicht die 1 auf true ändern, sondern der Trigger soll erst mal gar nichts senden.
Ich mach Dir den Flow fertig und dann kannst Du Fragen stellen und - Deine Kabel sind durcheinander.
Wie Du siehst hast Du damit im Kontext ein Objekt Schalter erstellt und eine Eigenschaft Bad, die den Wert true hat:
Nimm jetzt besser meinen Flow:
Das wäre ja noch schlimmer, damit hättesr Du im Trigger
ein Wort "true" als payload versendet. -
Oh gott ne das ne schlechte Schleife
woher hat denn jetzt Kontextdaten Bad_Motion hergeholt und steht auf true !?
Ist schalter.bad ein virtueller schalter !? -
@aphofis Das stammt doch von Deinem Flow. Von meinem habe ich Dir doch einen Screenshot von dem Flowkontext gepostet.
-
@mickym alles klar den muss man löschen!
So ist es dann wohl wie gewollt
-
@aphofis sagte in 2 Bewegungsmelder (Aqara) sollen einen Lampe schalten:
Ist schalter.bad ein virtueller schalter !?
Nein das ist ein Variable, die für den ganzen FLOW Gültigkeit hat.
Wie Du siehst gibt es auch einen NODE Kontext - der hat Gültigkeit innerhalb einer function Node.
Und es gibt einen GLOBAL Kontext, dessen Variablen haben über alle Flows Gültigkeit
-
@mickym ok
-
@aphofis sagte in 2 Bewegungsmelder (Aqara) sollen einen Lampe schalten:
@mickym alles klar den muss man löschen!
So ist es dann wohl wie gewollt
Nein wenn Du meinen Flow nimmst - NUR EINE Variable. Ich hatte doch in beiden Change Nodes Schalter.
Vor der trigger Node ist der Schalter true und signalisiert, dass der Schalter betätigt oder aktiv ist. Sobald der trigger abgelaufen ist, wird die Eigenschaft Schalter.Bad auf false gesetzt und signalisiert, dass der Schalter nun nicht mehr als aktiv gilt.
Soweit verstanden?Dann beschreibe mir bitte was passiert wie ich unten beschrieben habe.
-
@mickym ja habe deinen Flow genommen.
Habe die falschen objekte gelöscht ist nur noch Schalter.Bad -
@aphofis Gut - Können wir dann auf meinen Wunsch zurückkommen?
Wenn Du den Flow korrigiert hast, dann beschreibe mir bitte mit Worten im Text, was passiert wenn Du den Schalter betätigst, das Licht einschaltest und dann nach 5 Minuten das Licht beim Rausgehen ausschaltest.
Und dann beschreibe noch kurz was passiert, wenn Du den Lichtschalter einschaltest und dann nichts tust.
-
@aphofis
Wenn man den Lichtschalter betätigt, dann wird Schalter ~ Bad also dieser flow wird für 15 min. auf true gesetzt. Demnach halt der Lichtschalter. Nach diesen 15 min. wird schalter bad wieder auf false gesetzt und der Lichtschalter auf false
dh. die flow wird für 15 min aktiv auf true gehalten danach ausgeschaltet -
@aphofis Na ja ist halt nicht exakt und das ist immer das Problem.
Wenn der Datenpunkt Lichtschalter Bad, also durch den Schalter getriggert wird, dann wird die Nachricht sofort an den Datenpunkt Bad Decke weitergeleitet, also den Datenpunkt des Licht auf den Wert des Schalters gesetzt.
Gleichzeitig setzt das Nachrichtenobjekt die Flowvariable Schalter.Bad auf true und triggert die trigger Node. Diese setzt, aber nur falls zwischenzeitlich nicht erneut ein Nachrichtenobjekt ankommt, das durch Betätigen des Lichtschalters erzeugt wird, nach 15 Minuten die Flowvariable Schalter.Bad auf false und gleichzeitig schaltet es mit der payload, die die trigger Node ja auf false gesetzt hat, das Licht auf false.
wird schalter bad wieder auf false gesetzt und der Lichtschalter auf false
Der Lichtschalter wird gar nicht gesetzt - das darf man auch nicht, da dieser nur durch deine Hardware gesetzt wird (auch wenn Du diese im Moment nur simulierst) und immer den Zustand des Schalters widerspiegelt.
Merkst Du wie wichtig hier Genauigkeit ist?
So nun musst Du noch im Bewegungsmelder Flow - der sich HOFFENTLICH im gleichen Flow befindet??? - anhand der Variablen die Signale des Bewegungsmelders durchlassen oder blockieren.
-
Wie weit bist Du? Bist Du noch da?
-
@mickym Sorry eingeschlafen.
War ein anstrengender Tag. -
@aphofis
Also wie weit, ka ich dachte die Steuerung ist soweit fertig.
oder fehlt noch was !?
-
@aphofis Na hier nicht, aber in dem Flow mit dem Bewegungsmelder - musst Du doch noch die Meldungen des Bewegungmelders solange blockieren, solange der Schalter aktiv ist. Hatte ich aber geschrieben.
-
@mickym Ach ja ok
Ja aber wie und wi mache ich das -
@aphofis Na wie Du grundsätzlich Nachrichten mit Bedingungen dirigierst oder filterst - mit einer Switch Node, die Du direkt hinter den Bewegungsmelder setzt und dann natürlich nur die Nachrichten durchlässt, wenn der Schalter.Bad auf false steht.
-
@mickym wäre es so richtig !?