NEWS
2 Bewegungsmelder (Aqara) sollen einen Lampe schalten
-
@mickym Englisch macht nix der Sprache bin ich mächtig.
Jetzt nur noch alle anderen Steuerungen vom Blockly ins Node-red bekommen.
Gut das es das 1000 Liter Meerwasser Becken nicht mehr gibt das mit über 170 Blockly Steuerungen gesteuert wurde. Da gestaltet sich das 110 Liter Süßwasser Becken einfacher.
Da würde ich dann aber neue Threads aufmachen. -
Link verknüpfungen sind ja auch mal sehr geil.
-
@aphofis Nimm Dir kleine Flows vor und achte nur darauf, dass Du nicht beides AKTIV hast, sonst kommst Du in Konflikt.
Ich wundere mich etwas. Ich erinnere mich, dass schon vor ein paar Jahren mit NodeRed anfangen wolltest und ich Dir was gebastelt habe, aber dann hast Du doch alles in Blockly gemacht.
Ich erinnere mich dunkel an diesen Thread:
https://forum.iobroker.net/topic/36997/alexa-ein-befehl-true-oder-false
oder daran:
https://forum.iobroker.net/topic/35918/kleine-verständniss-hilfeHier hatte ich Dir sogar einige Empfehlungen zum Lernen gegeben: https://forum.iobroker.net/post/470328
-
-
@aphofis Sehr gut. Da Du ja auf alle Schalterstellungen sofort reagieren willst, würde ich dann parallel an dem Knoten eine flow Variable setzen, dass der Schalter betätigt wurde. Am Besten erstellst Du ein Objekt im Flow Kontext, so dass es Du später auch für andere Schalter nutzen kannst. Also zum Beispiel Schalter.Bad. Am Besten nimmst Du direkt eine ChangeNode und setzt diese Eigenschaft auf true. Anschließend nimmst Du den Trigger, der erst mal nichts schickt und erst nach 15 Minuten ein false schickt. Achte darauf, dass ich diese Verzögerung verlängert, wenn eine neue Nachricht kommt, denn Du willst ja erst das Licht ausschalten, wenn 15 Minuten lang kein Schalter mehr betätigt wurde. Anschließend setzt Du mit einer weiteren ChangeNode die Eigenschaft Schalter.Bad wieder auf false und die payload wird ja dann an das Licht weitergeleitet. Damit sollte Dein Flow für den Schalter fertig sein.
Ein flow Variable setzt Du indem Du in der ChangeNode eben nicht eine Nachrichteneigenschaft, sondern eine Flow eigenschaft setzt:
den aktuellen Inhalt der Flowvariablen kannst Du über den Plattenstapel sehen:
-
@mickym
also meinst du so !?
-
@aphofis sagte in 2 Bewegungsmelder (Aqara) sollen einen Lampe schalten:
@mickym
also meinst du so !?
Nein ich habe doch gesagt parallel. Du möchtest doch, dass das direkte Schalen weiter direkt an die Lampe durchgereicht wird.
Um ich sagte Dir auch, dass Du keine payload ändern sollst, sondern eine Flowvariable.
-
@aphofis und
damit kann ich nichts anfangen. Aber lies Dir das in Ruhe durch und beachte alle Hinweise.
-
-
so besser !?
-
@aphofis Na ja das parallel ist prinzipiell richtig und 2 Change Nodes und in der Mitte die Trigger node auch - aber das wars dann auch mit richtig. Warum hast Du nun die flow Variable bad_motion genannt und nicht wie ich empfohlen habe, ein Objekt gemacht, damit du es mal für mehrere Schalter verwenden kannst, warum hälst Du nicht exakt was ich schreibe?
Am Besten erstellst Du ein Objekt im Flow Kontext, so dass es Du später auch für andere Schalter nutzen kannst. Also zum Beispiel Schalter.Bad. Am Besten nimmst Du direkt eine ChangeNode und setzt diese Eigenschaft auf true.
Du hast die Flowvariable anders genannt und nicht auf true, sondern auf false gesetzt, warum?
Anschließend nimmst Du den Trigger, der erst mal nichts schickt und erst nach 15 Minuten ein false schickt.
Deine Trigger Node schickt zu Beginn einen String "1". Warum?
Anschließend setzt Du mit einer weiteren ChangeNode die Eigenschaft Schalter.Bad wieder auf false und die payload wird ja dann an das Licht weitergeleitet.
Tja und Du machst halt ein true. Keine Ahnung, wenn Du es immer besser weißt, dann spare ich mir meinen Text.
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.
-
@mickym Oder war etwa Deine Idee - das Deine Flowvariable was mit dem Bewegungsmelder zu tun haben soll und Du ihm gleich über den Flowkontext von der Ferne winken wolltest, dass er gefälligst false und somit nichts tun soll?
-
@mickym
ich wusste nicht das du ein objekt als Datenpunkt meinst
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. -
@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