NEWS
Nach Ablauf kein false mehr
-
@noah3112 Nun einfach nach der Logik gehen. Einen Switch vor der "Within-Time Node" plazieren und nur noch true Ereignisse durch die Within-Time Node schicken. False hingegen wird immer und an der Within-Time Node vorbeigelassen. Damit hat False keine Einschränkungen mehr.
Im Grunde, dass was
@asgothian sagte in Nach Ablauf kein false mehr:
Wenn ja - warum hast du überhaupt für das Ausschalten eine Zeitbedingung. Das du die beim Einschalten haben willst ist verständlich, aber ausschalten sollte doch von Sonnenaufgang und Sonnenuntergang unabhängig sein ?
sagte.
Alternativ kannst Du das auch erreichen, wenn der obere Ausgang Deiner Within Time Node beschickt wird , wenn es ausserhalb der Zeit (bzw. wenn es hell ist - also zwischen Sonnenauf- und Sonnenuntergang) liegt indem Du dort einen Filter (switch Node) für False einbaust. Der Wege sind viele.
-
-
@mickym sagte in Nach Ablauf kein false mehr:
Alternativ kannst Du das auch erreichen, wenn der obere Ausgang Deiner Within Time Node beschickt wird , wenn es ausserhalb der Zeit (bzw. wenn es hell ist - also zwischen Sonnenauf- und Sonnenuntergang) liegt indem Du dort einen Filter (switch Node) für False einbaust. Der Wege sind viele. -
Ha genau das hatte ich schon ausprobiert und für "umständlich" empfunden. Die Erste Idee ist immer noch die Beste. Vielen Dank für eure Hilfe.
Wo wir schon mal beim Thema sindUrsprünglich sah dieser Flow bzw die Abfrage der Hardware anders aus. Ich habe im Flur bzw an einigen anderen Stellen im Haus noch zusätzliche
Mi Light Detection Sensoren
im Einsatz. Ich finde es besser wenn das Licht nach den tatsächlichen Helligkeitswerten ein bzw ausgeschaltet wird. Leider bekam ich das Problem mit dem LUX Wert der sich nach dem ausschalten der Beleuchtung erst nach circa 5sec aktualisiert nicht in den Griff. Ich hatte quasi ein Timing Problem mit erneuter Erkennung einer Bewegung und einem hohen LUX Wert. Hier mal ein Beispiel...Gibt es dafür vielleicht auch einen Tipp wie ich zB die Zeit "überbrücken" könnte?
-
@noah3112 Anstelle zu warten bis Dein Helligkeitssensor auf dunkel stellt, könntest Du die Flow-Variable Dunkel auch zusammen mit dem Lichtaus Signal setzen. Und natürlich bei Eingang über den Helligkeitssensor ein gewissen Deadband setzen - also Änderung muss signifikant sein.
-
@mickym sagte in Nach Ablauf kein false mehr:
Eingang über den Helligkeitssensor ein gewissen Deadband setzen
Wie ist das gemeint? Ich habe jetzt folgendes geändert...
Funktioniert soweit. Was passiert aber jetzt in der Zeit wo der Helligkeitswert auf Hell geht und keine Beleuchtung aktiv sein soll? Die Bewegungsmelder arbeiten ja fleißig weiter und würden mir die Flow-Variable setzen.
-
@noah3112 Du kannst ja noch prüfen, ob die Lampe eingeschaltet ist. Ist dies der Fall wird ausgeschaltet und dunkel geschaltet. Ist die Lampe bereits ausgeschaltet passiert gar nichts und alleine der Helligkeitssensor schaltet die Flowvariable.
-
@mickym Frage..wie realisiere ich am Besten die Abfrage ob die Lampe an ist? Über die State Node vom ioBorker?
-
@noah3112 Genau - Du frägst über die iobroker get Node den state im Flow ab und filterst mit einer anschliessenden Switch Node, ob die Nachricht an die iobroker out Node weiter gelassen wird. Am Besten nimmst Du bei der Get Node eine weitere Eigenschaft, damit Du ggf. die Originalnachricht nicht überschreibst. So machst Du es doch mit Deiner Anwesenheitsnode doch auch.
-
@mickym Ich habe es jetzt so gelöst hoffe ich zumindest...
-
@noah3112 Ja schaut doch gut aus. Weiß zwar nicht was Du in der Change Node, neben der Flow Variablen setzen noch machst - aber egal - ich denke Du weißt schon warum und was Du tust.
-
Sonst hätte es nicht funktioniert!?
-
@mickym Oder sehe ich das falsch?
-
@noah3112 Nee Du brauchst keine weitere Flow variable.
In der get Variable setzt Du nur eine andere Eigenschaft des msg.Objektes - ich habs mal stateLight genannt.
Hier mal die Nodes zum Import
-
@mickym Okay jetzt habe ich verstanden wie du das meinst. Aber dennoch die Frage, nur zum Verständnis, ob meine Variante richtig sein könnte? In der zweiten Regel setze ich ja meine vorhandene Variable also keine Neue wie du angenommen hast.
-
@noah3112 Nun - das weiß ich nicht. Ich weiß nicht wo Deine Flow Variable LichtAktiv setzt und wie Dein switch aussieht.
Um das zu beurteilen müsstest Du Deinen Flow mal exportieren. Wenn die Variable die gleich ist, wie bei Deinem Hell / Dunkel ist es ja OK. Wie gesagt ich kann das alles nicht beurteilen ohne den Flow wirklich zu sehen.
-
[ { "id": "62a5d243.81232c", "type": "trigger", "z": "27d94c07.8b5f54", "name": "20s keine Bewegung", "op1": "", "op2": "false", "op1type": "nul", "op2type": "bool", "duration": "20", "extend": false, "overrideDelay": false, "units": "s", "reset": "true", "bytopic": "all", "topic": "topic", "outputs": 1, "x": 360, "y": 1080, "wires": [ [ "b66edc60.2a03b" ] ] }, { "id": "22a64747.6b6e88", "type": "ioBroker out", "z": "27d94c07.8b5f54", "name": "Deckenlampe FLur EG", "topic": "zigbee.0.00124b001d401508.state", "ack": "false", "autoCreate": "false", "stateName": "", "role": "", "payloadType": "", "readonly": "", "stateUnit": "", "stateMin": "", "stateMax": "", "x": 980, "y": 1000, "wires": [] }, { "id": "6661d04d.5e68b", "type": "ioBroker in", "z": "27d94c07.8b5f54", "name": "Flur EG Tür", "topic": "zigbee.0.00158d0001eb5e9f.occupancy", "payloadType": "value", "onlyack": "", "func": "all", "gap": "", "fireOnStart": "true", "x": 110, "y": 1020, "wires": [ [ "aa75592f.840ac8" ] ] }, { "id": "6c4f3c51.a4c304", "type": "ioBroker in", "z": "27d94c07.8b5f54", "name": "Flur EG Garderobe", "topic": "zigbee.0.00158d0006ec2d6e.occupancy", "payloadType": "value", "onlyack": "", "func": "all", "gap": "", "fireOnStart": "true", "x": 90, "y": 1080, "wires": [ [ "aa75592f.840ac8" ] ] }, { "id": "41d4e698.b24a18", "type": "ioBroker in", "z": "27d94c07.8b5f54", "name": "Haustür", "topic": "zigbee.0.00158d00022b3b92.opened", "payloadType": "value", "onlyack": "", "func": "all", "gap": "", "fireOnStart": "true", "x": 130, "y": 960, "wires": [ [ "aa75592f.840ac8" ] ] }, { "id": "c14c2433.1b3bc8", "type": "ioBroker get", "z": "27d94c07.8b5f54", "name": "Jemand Zuhause", "topic": "0_userdata.0.Anwesenheit.Jemand_Zuhause", "attrname": "payload", "payloadType": "value", "x": 730, "y": 1000, "wires": [ [ "22a64747.6b6e88" ] ] }, { "id": "aa75592f.840ac8", "type": "switch", "z": "27d94c07.8b5f54", "name": "Bewegung erkannt", "property": "payload", "propertyType": "msg", "rules": [ { "t": "true" }, { "t": "false" } ], "checkall": "true", "repair": false, "outputs": 2, "x": 330, "y": 1020, "wires": [ [ "62a5d243.81232c", "23a181c0.0bb0ae" ], [ "62a5d243.81232c" ] ] }, { "id": "a7a7bff4.79da", "type": "comment", "z": "27d94c07.8b5f54", "name": "Hausflur EG", "info": "", "x": 110, "y": 900, "wires": [] }, { "id": "e8d1ac8f.75f74", "type": "switch", "z": "27d94c07.8b5f54", "name": "Hell/Dunkel", "property": "payload", "propertyType": "msg", "rules": [ { "t": "lt", "v": "5", "vt": "num" }, { "t": "gte", "v": "5", "vt": "num" } ], "checkall": "true", "repair": false, "outputs": 2, "x": 650, "y": 940, "wires": [ [ "13847a72.f76e26" ], [ "ea6edec.d7e682" ] ] }, { "id": "13847a72.f76e26", "type": "change", "z": "27d94c07.8b5f54", "name": "Dunkel", "rules": [ { "t": "set", "p": "licht_aktiv", "pt": "flow", "to": "Yes", "tot": "str" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 820, "y": 920, "wires": [ [] ] }, { "id": "ea6edec.d7e682", "type": "change", "z": "27d94c07.8b5f54", "name": "Hell", "rules": [ { "t": "set", "p": "licht_aktiv", "pt": "flow", "to": "No", "tot": "str" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 810, "y": 960, "wires": [ [] ] }, { "id": "d113f998.91ad28", "type": "ioBroker in", "z": "27d94c07.8b5f54", "name": "LUX Flur EG", "topic": "zigbee.0.54ef441000019086.illuminance", "payloadType": "value", "onlyack": "", "func": "all", "gap": "", "fireOnStart": "true", "x": 350, "y": 940, "wires": [ [ "e8d1ac8f.75f74" ] ] }, { "id": "23a181c0.0bb0ae", "type": "switch", "z": "27d94c07.8b5f54", "name": "Dunkel", "property": "licht_aktiv", "propertyType": "flow", "rules": [ { "t": "eq", "v": "Yes", "vt": "str" } ], "checkall": "true", "repair": false, "outputs": 1, "x": 540, "y": 1000, "wires": [ [ "c14c2433.1b3bc8" ] ] }, { "id": "b66edc60.2a03b", "type": "ioBroker get", "z": "27d94c07.8b5f54", "name": "Status Deckenlampe", "topic": "zigbee.0.00124b001d401508.state", "attrname": "payload", "payloadType": "value", "x": 580, "y": 1080, "wires": [ [ "7af4f7ab.83a468" ] ] }, { "id": "7af4f7ab.83a468", "type": "switch", "z": "27d94c07.8b5f54", "name": "Licht an?", "property": "payload", "propertyType": "msg", "rules": [ { "t": "true" } ], "checkall": "true", "repair": false, "outputs": 1, "x": 760, "y": 1080, "wires": [ [ "b53e6abc.99afd8" ] ] }, { "id": "b53e6abc.99afd8", "type": "change", "z": "27d94c07.8b5f54", "name": "", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "false", "tot": "bool" }, { "t": "set", "p": "licht_aktiv", "pt": "flow", "to": "Yes", "tot": "str" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 930, "y": 1080, "wires": [ [ "22a64747.6b6e88" ] ] } ]
-
@noah3112 Ja passt so und kann man so machen und passt. Ich würde nur grundsätzlich für solche Abfragen lieber Booleans nehmen, als Strings. Ist nichts falsches - aber hat später ggf. Vorteile mit Booleans zu arbeiten.
-
@mickym sagte in Nach Ablauf kein false mehr:
Ja passt so und kann man so machen und passt. Ich würde nur grundsätzlich für solche Abfragen lieber Booleans nehmen, als Strings. Ist nichts falsches - aber hat später ggf. Vorteile mit Booleans zu arbeiten.
Du meinst jetzt speziell die Flow-Variable!? Okay das war so ein Beispiel aus dem Netz wie so oft wenn man sich an Node Red versucht und nicht weiter kommt
-
@mickym Aber auch da könnte ich jetzt alles auf Booleans ändern und mein Beispiel würde immer noch funktionieren?
-
@noah3112 Genau statt YES und NO - lieber true und false also statt
lieber
und dann halt im switch statt
lieber
Wie gesagt, dass ist alles kein Fehler - aber hilft ggf. später - falls Du doch mal Function Nodes oder Logiken brauchst besser handhabbar.
-
@mickym Komisch jetzt funktioniert der Flow aber nicht mehr...
[ { "id": "62a5d243.81232c", "type": "trigger", "z": "27d94c07.8b5f54", "name": "20s keine Bewegung", "op1": "", "op2": "false", "op1type": "nul", "op2type": "bool", "duration": "20", "extend": false, "overrideDelay": false, "units": "s", "reset": "true", "bytopic": "all", "topic": "topic", "outputs": 1, "x": 360, "y": 1080, "wires": [ [ "b66edc60.2a03b" ] ] }, { "id": "22a64747.6b6e88", "type": "ioBroker out", "z": "27d94c07.8b5f54", "name": "Deckenlampe FLur EG", "topic": "zigbee.0.00124b001d401508.state", "ack": "false", "autoCreate": "false", "stateName": "", "role": "", "payloadType": "", "readonly": "", "stateUnit": "", "stateMin": "", "stateMax": "", "x": 980, "y": 1000, "wires": [] }, { "id": "6661d04d.5e68b", "type": "ioBroker in", "z": "27d94c07.8b5f54", "name": "Flur EG Tür", "topic": "zigbee.0.00158d0001eb5e9f.occupancy", "payloadType": "value", "onlyack": "", "func": "all", "gap": "", "fireOnStart": "true", "x": 110, "y": 1020, "wires": [ [ "aa75592f.840ac8" ] ] }, { "id": "6c4f3c51.a4c304", "type": "ioBroker in", "z": "27d94c07.8b5f54", "name": "Flur EG Garderobe", "topic": "zigbee.0.00158d0006ec2d6e.occupancy", "payloadType": "value", "onlyack": "", "func": "all", "gap": "", "fireOnStart": "true", "x": 90, "y": 1080, "wires": [ [ "aa75592f.840ac8" ] ] }, { "id": "41d4e698.b24a18", "type": "ioBroker in", "z": "27d94c07.8b5f54", "name": "Haustür", "topic": "zigbee.0.00158d00022b3b92.opened", "payloadType": "value", "onlyack": "", "func": "all", "gap": "", "fireOnStart": "true", "x": 130, "y": 960, "wires": [ [ "aa75592f.840ac8" ] ] }, { "id": "c14c2433.1b3bc8", "type": "ioBroker get", "z": "27d94c07.8b5f54", "name": "Jemand Zuhause", "topic": "0_userdata.0.Anwesenheit.Jemand_Zuhause", "attrname": "payload", "payloadType": "value", "x": 730, "y": 1000, "wires": [ [ "22a64747.6b6e88" ] ] }, { "id": "aa75592f.840ac8", "type": "switch", "z": "27d94c07.8b5f54", "name": "Bewegung erkannt", "property": "payload", "propertyType": "msg", "rules": [ { "t": "true" }, { "t": "false" } ], "checkall": "true", "repair": false, "outputs": 2, "x": 330, "y": 1020, "wires": [ [ "62a5d243.81232c", "23a181c0.0bb0ae" ], [ "62a5d243.81232c" ] ] }, { "id": "a7a7bff4.79da", "type": "comment", "z": "27d94c07.8b5f54", "name": "Hausflur EG", "info": "", "x": 110, "y": 900, "wires": [] }, { "id": "e8d1ac8f.75f74", "type": "switch", "z": "27d94c07.8b5f54", "name": "Hell/Dunkel", "property": "payload", "propertyType": "msg", "rules": [ { "t": "lt", "v": "5", "vt": "num" }, { "t": "gte", "v": "5", "vt": "num" } ], "checkall": "true", "repair": false, "outputs": 2, "x": 650, "y": 940, "wires": [ [ "13847a72.f76e26" ], [ "ea6edec.d7e682" ] ] }, { "id": "13847a72.f76e26", "type": "change", "z": "27d94c07.8b5f54", "name": "Dunkel", "rules": [ { "t": "set", "p": "licht_aktiv", "pt": "flow", "to": "true", "tot": "bool" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 820, "y": 920, "wires": [ [] ] }, { "id": "ea6edec.d7e682", "type": "change", "z": "27d94c07.8b5f54", "name": "Hell", "rules": [ { "t": "set", "p": "licht_aktiv", "pt": "flow", "to": "false", "tot": "bool" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 810, "y": 960, "wires": [ [] ] }, { "id": "d113f998.91ad28", "type": "ioBroker in", "z": "27d94c07.8b5f54", "name": "LUX Flur EG", "topic": "zigbee.0.54ef441000019086.illuminance", "payloadType": "value", "onlyack": "", "func": "all", "gap": "", "fireOnStart": "true", "x": 350, "y": 940, "wires": [ [ "e8d1ac8f.75f74" ] ] }, { "id": "23a181c0.0bb0ae", "type": "switch", "z": "27d94c07.8b5f54", "name": "Dunkel", "property": "licht_aktiv", "propertyType": "flow", "rules": [ { "t": "true" } ], "checkall": "true", "repair": false, "outputs": 1, "x": 540, "y": 1000, "wires": [ [ "c14c2433.1b3bc8" ] ] }, { "id": "b66edc60.2a03b", "type": "ioBroker get", "z": "27d94c07.8b5f54", "name": "Status Deckenlampe", "topic": "zigbee.0.00124b001d401508.state", "attrname": "payload", "payloadType": "value", "x": 580, "y": 1080, "wires": [ [ "7af4f7ab.83a468" ] ] }, { "id": "7af4f7ab.83a468", "type": "switch", "z": "27d94c07.8b5f54", "name": "Licht an?", "property": "payload", "propertyType": "msg", "rules": [ { "t": "true" } ], "checkall": "true", "repair": false, "outputs": 1, "x": 760, "y": 1080, "wires": [ [ "b53e6abc.99afd8" ] ] }, { "id": "b53e6abc.99afd8", "type": "change", "z": "27d94c07.8b5f54", "name": "", "rules": [ { "t": "set", "p": "payload", "pt": "msg", "to": "false", "tot": "bool" }, { "t": "set", "p": "licht_aktiv", "pt": "flow", "to": "true", "tot": "bool" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 930, "y": 1080, "wires": [ [ "22a64747.6b6e88" ] ] } ]
Habe ich etwas übersehen?