Ankündigung

Einklappen
Keine Ankündigung bisher.

NodeRed Hue Sensor KNX und MQTT

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    NodeRed Hue Sensor KNX und MQTT

    Hallo,

    ich habe hier eine Funktion die durch eine Bewegung des Motion HUE Sensors eine KNX Lampe einschaltet.

    Bildschirmfoto 2021-12-10 um 14.01.42.jpg
    Im Zeitfilter habe ich Vor Sonnenaufgang Ende bzw. Nach Sonnenuntergang Begin zusammen, daher die Lampe geht dann also an wenn die Sonne nicht voll da ist :-)

    Nun aber möchte ich das ganze doch noch anders machen, im MQTT sammel ich u.a. die Lichtwerte im inneren Raum. also z.B. LUX Küche etc.. ich würde gerne statt des Zeitfilters eine Bedingung des LUX Wertes im inneren Raum machen, hab aber so gar keine Idee wie ich das mit dem MQTT Wert Mache, also mit welchem Objekt ich da drauf zugreifen sollte.

    Natürlich kann ich die MQTT Werrte im Node-RED anzeigen aber wie ich diese innerhalb einer Funktion nutzen kann weiss ich noch nicht.

    Habt ihr ggf. ein Beispiel ? / Idee ?

    Tomas




    #2
    Hallo,

    nun gelöst durch allgemeine Variablen im Flow die ich mir vorher setze.

    Am Ende kommt nur true oder false mit dem ich dann in der o.g. Methodik dann arbeite.

    Bildschirmfoto 2021-12-10 um 15.30.32.jpg

    Kommentar


      #3
      Hast da genug Hysterese bei oder sind das so schwache funzeln, das es da dann auch bei Licht AN noch dunkel genug bleibt?

      ----------------------------------------------------------------------------------
      "Der Hauptgrund für Stress ist der tägliche Kontakt mit Idioten."
      Albert Einstein

      Kommentar


        #4
        Kannst Du den fertigen Flow hier mal anhängen? Wäre super

        Kommentar


          #5
          Hallo,

          die ganze Funktion sieht so aus:
          Bildschirmfoto 2021-12-11 um 10.56.42.jpg
          Ich hab das jetzt noch nicht komprimiert gemacht, kann man sicher etwas eleganter schreiben... Ist aktuell auch nur zum Test im Alltag.
          Wichtig für mich war das eben nicht das Licht von aussen eine Rolle spielt sondern das Innenlicht.

          Ziel ist es alles notwendige im MQTT zu haben, die "flow.variable" werde ich ggf. noch Global setzen. Da ich die ja ggf. in anderen Flows auch noch brauche..
          Für den ersten Wurf aber funktioniert es schon ganz gut.

          Immer wenn LUX <30 ist mach ich Licht an :-) Jede Bewegung dann erhöht den Trigger um weitere 5 Minuten bzw. ohne geht die Lampe dann in 5 min aus.

          Es gibt auch einen FLOW der alle möglichen Werte in MQTT schreibt, der ist hier aber nicht dabei.

          Das ganze ist natürlich noch beliebig erweiterbar... (Sperrfunktion etc...) / Dashboard etc... Im Moment lass ich mir im Dashboard nur anzeigen welche Variable die Funktion hat.. (true/false) ... bei true würde das Licht (wenn aus) schalten...

          Anmerkungen gerne von euch...


          Code:
          [{"id":"a00ab99a1c5abdb0","type":"tab","label":"Flow 1","disabled":true,"info":"","env":[]},{"id":"276b821ad775d0d2","type":"hue-motion","z":"a00ab99a1c5abdb0","name":"Küche Sensor","bridge":"5bfcebbc.7530d4","sensorid":"5","skipevents":false,"universalevents":false,"x":140,"y":180,"wires":[["8be5750e770ffb0d"]]},{"id":"8be5750e770ffb0d","type":"function","z":"a00ab99a1c5abdb0","name":"","func":"msg.payload = msg.payload.motion;\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":320,"y":180,"wires":[["05d95cd95a0d2d1d"]]},{"id":"8392c2b4d510b23e","type":"trigger","z":"a00ab99a1c5abdb0","name":"","op1":"","op2":"false","op1type":"nul","op2type":"bool","duration":"5","extend":true,"overrideDelay":false,"units":"min","reset":"","bytopic":"all","topic":"topic","outputs":1,"x":690,"y":200,"wires":[["de1d29755b9c9aaa"]]},{"id":"de1d29755b9c9aaa","type":"knxUltimate","z":"a00ab99a1c5abdb0","server":"abb64572.f6442","topic":"1/0/90","outputtopic":"","dpt":"1.001","initialread":0,"notifyreadrequest":false,"notifyresponse":false,"notifywrite":true,"notifyreadrequestalsorespondtobus":false,"notifyreadrequestalsorespondtobusdefaultvalueifnotinitialized":"0","listenallga":false,"name":"Kueche Fenster Lampe","outputtype":"write","outputRBE":true,"inputRBE":false,"formatmultiplyvalue":1,"formatnegativevalue":"leave","formatdecimalsvalue":999,"passthrough":"no","x":940,"y":180,"wires":[[]]},{"id":"3f06e2919ac6f9bc","type":"hue-motion","z":"a00ab99a1c5abdb0","name":"Gast WC Sensor","bridge":"5bfcebbc.7530d4","sensorid":"138","skipevents":false,"universalevents":false,"x":150,"y":260,"wires":[["bc0bc84822dcb267"]]},{"id":"bc0bc84822dcb267","type":"function","z":"a00ab99a1c5abdb0","name":"","func":"msg.payload = msg.payload.motion;\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":340,"y":260,"wires":[["990b17b18dbb5659"]]},{"id":"05d6e3a07f6a281f","type":"switch","z":"a00ab99a1c5abdb0","name":"","property":"kueche_lux","propertyType":"flow","rules":[{"t":"true"},{"t":"false"}],"checkall":"true","repair":false,"outputs":2,"x":610,"y":140,"wires":[["de1d29755b9c9aaa"],["8392c2b4d510b23e"]]},{"id":"a35b8e57ba74b8aa","type":"trigger","z":"a00ab99a1c5abdb0","name":"","op1":"","op2":"false","op1type":"nul","op2type":"bool","duration":"5","extend":true,"overrideDelay":false,"units":"min","reset":"","bytopic":"all","topic":"topic","outputs":1,"x":710,"y":300,"wires":[["e84259e0db6dbb32"]]},{"id":"e84259e0db6dbb32","type":"knxUltimate","z":"a00ab99a1c5abdb0","server":"abb64572.f6442","topic":"1/0/15","outputtopic":"","dpt":"1.001","initialread":0,"notifyreadrequest":false,"notifyresponse":false,"notifywrite":true,"notifyreadrequestalsorespondtobus":false,"notifyreadrequestalsorespondtobusdefaultvalueifnotinitialized":"0","listenallga":false,"name":"Gast WC Spiegel Licht","outputtype":"write","outputRBE":true,"inputRBE":false,"formatmultiplyvalue":1,"formatnegativevalue":"leave","formatdecimalsvalue":999,"passthrough":"no","x":1040,"y":260,"wires":[[]]},{"id":"eba76c8a3fd7fd3f","type":"mqtt in","z":"a00ab99a1c5abdb0","name":"","topic":"/Haus/Innen/Kueche/Lux","qos":"2","datatype":"json","broker":"158306ab.b1c6a9","nl":false,"rap":true,"rh":0,"inputs":0,"x":180,"y":380,"wires":[["d8d1113b913a968c"]]},{"id":"75fb57957be8cf76","type":"switch","z":"a00ab99a1c5abdb0","name":"","property":"payload","propertyType":"msg","rules":[{"t":"true"},{"t":"false"}],"checkall":"true","repair":false,"outputs":2,"x":590,"y":380,"wires":[["f430c79da39fe384"],["df3ea938a4f29718"]]},{"id":"d8d1113b913a968c","type":"function","z":"a00ab99a1c5abdb0","name":"","func":"if (msg.payload <= 30)\n{\n    msg.payload=true;\n}\nelse\n{\n    msg.payload=false;\n}\n// msg.payload=context.get(\"kueche_light\");\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":420,"y":380,"wires":[["75fb57957be8cf76"]]},{"id":"f430c79da39fe384","type":"change","z":"a00ab99a1c5abdb0","name":"","rules":[{"t":"set","p":"kueche_lux","pt":"flow","to":"true","tot":"bool"}],"action":"","property":"","from":"","to":"","reg":false,"x":800,"y":360,"wires":[["2571927d9d40d7d1"]]},{"id":"df3ea938a4f29718","type":"change","z":"a00ab99a1c5abdb0","name":"","rules":[{"t":"set","p":"kueche_lux","pt":"flow","to":"false","tot":"bool"}],"action":"","property":"","from":"","to":"","reg":false,"x":800,"y":400,"wires":[["2571927d9d40d7d1"]]},{"id":"2571927d9d40d7d1","type":"ui_text","z":"a00ab99a1c5abdb0","group":"f97b8d78.b217a","order":6,"width":0,"height":0,"name":"","label":"Auto Licht Kueche Funktion","format":"{{msg.payload}}","layout":"row-spread","className":"","x":1100,"y":380,"wires":[]},{"id":"990b17b18dbb5659","type":"switch","z":"a00ab99a1c5abdb0","name":"","property":"payload","propertyType":"msg","rules":[{"t":"true"},{"t":"false"}],"checkall":"true","repair":false,"outputs":2,"x":490,"y":260,"wires":[["cdd161dae4a782bb"],["a35b8e57ba74b8aa"]]},{"id":"6ef997a45afd7d81","type":"mqtt in","z":"a00ab99a1c5abdb0","name":"","topic":"/Haus/Innen/GastWC/Lux","qos":"2","datatype":"json","broker":"158306ab.b1c6a9","nl":false,"rap":true,"rh":0,"inputs":0,"x":170,"y":460,"wires":[["c795ba3aee17224b"]]},{"id":"0274e46b152e95be","type":"switch","z":"a00ab99a1c5abdb0","name":"","property":"payload","propertyType":"msg","rules":[{"t":"true"},{"t":"false"}],"checkall":"true","repair":false,"outputs":2,"x":580,"y":460,"wires":[["273ce95211b08784"],["6cee82f117f049d4"]]},{"id":"c795ba3aee17224b","type":"function","z":"a00ab99a1c5abdb0","name":"","func":"if (msg.payload <= 30)\n{\n    msg.payload=true;\n}\nelse\n{\n    msg.payload=false;\n}\n// msg.payload=context.get(\"kueche_light\");\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":410,"y":460,"wires":[["0274e46b152e95be"]]},{"id":"273ce95211b08784","type":"change","z":"a00ab99a1c5abdb0","name":"","rules":[{"t":"set","p":"wc_lux","pt":"flow","to":"true","tot":"bool"}],"action":"","property":"","from":"","to":"","reg":false,"x":780,"y":440,"wires":[["5d8bfcd00ff25035"]]},{"id":"6cee82f117f049d4","type":"change","z":"a00ab99a1c5abdb0","name":"","rules":[{"t":"set","p":"wc_lux","pt":"flow","to":"false","tot":"bool"}],"action":"","property":"","from":"","to":"","reg":false,"x":780,"y":480,"wires":[["5d8bfcd00ff25035"]]},{"id":"5d8bfcd00ff25035","type":"ui_text","z":"a00ab99a1c5abdb0","group":"f97b8d78.b217a","order":6,"width":0,"height":0,"name":"","label":"Auto Licht WC Funktion","format":"{{msg.payload}}","layout":"row-spread","className":"","x":1070,"y":460,"wires":[]},{"id":"05d95cd95a0d2d1d","type":"switch","z":"a00ab99a1c5abdb0","name":"","property":"payload","propertyType":"msg","rules":[{"t":"true"},{"t":"false"}],"checkall":"true","repair":false,"outputs":2,"x":470,"y":180,"wires":[["05d6e3a07f6a281f"],["8392c2b4d510b23e"]]},{"id":"cdd161dae4a782bb","type":"switch","z":"a00ab99a1c5abdb0","name":"","property":"wc_lux","propertyType":"flow","rules":[{"t":"true"},{"t":"false"}],"checkall":"true","repair":false,"outputs":2,"x":630,"y":240,"wires":[["e84259e0db6dbb32"],["a35b8e57ba74b8aa"]]},{"id":"5bfcebbc.7530d4","type":"hue-bridge","name":"Philips hue","bridge":"192.168.0.123","key":"xxxxxxx","interval":"3000","disableupdates":false},{"id":"abb64572.f6442","type":"knxUltimate-config","host":"192.168.0.45","port":"3671","physAddr":"15.15.22","suppressACKRequest":true,"csv":"","KNXEthInterface":"Auto","KNXEthInterfaceManuallyInput":"","statusDisplayLastUpdate":true,"statusDisplayDeviceNameWhenALL":true,"statusDisplayDataPoint":false,"stopETSImportIfNoDatapoint":"stop","loglevel":"error","name":"Multicast KNX Gateway","localEchoInTunneling":true,"delaybetweentelegrams":"40","delaybetweentelegramsfurtherdelayREAD":"1","ignoreTelegramsWithRepeatedFlag":false,"keyringFileXML":"","autoReconnect":"yes"},{"id":"158306ab.b1c6a9","type":"mqtt-broker","name":"","broker":"localhost","port":"1883","clientid":"","usetls":false,"keepalive":"60","cleansession":true,"birthTopic":"","birthQos":"0","birthPayload":"","closeTopic":"","closeQos":"0","closePayload":"","willTopic":"","willQos":"0","willPayload":""},{"id":"f97b8d78.b217a","type":"ui_group","name":"Internet Check","tab":"d8515abb.7a8f3","order":1,"disp":true,"width":"9","collapse":false,"className":""},{"id":"d8515abb.7a8f3","type":"ui_tab","name":"Home","icon":"dashboard","order":1,"disabled":false,"hidden":false}]

          Kommentar


            #6
            Zitat von gbglace Beitrag anzeigen
            Hast da genug Hysterese bei oder sind das so schwache funzeln, das es da dann auch bei Licht AN noch dunkel genug bleibt?
            Nein Hysterese nicht, nur einen Trigger der das Licht dann nach 5 min ausschaltet. Und ja klar wenn das Licht angeht dann würde theoretisch die Funktion die Lampe wieder ausschalten wollen (wenn sie denn an ist), hier lass ich sie dann gegen den Trigger laufen der sich dann erhöht .... Die Lampe geht dann erst aus wenn keine Bewegung und 5 min vorbei (egal wieviel Licht ist). Denke das kann man so machen :-)) ohne das es MIst ist ...

            Teste ich ja noch etwas wie sich das im Alltag bewährt, bis jetzt aber ganz zufrieden.

            Mit den globalen Variablen hatte ich aber noch nix vorher gemacht, der Gedanke kam mir dann natürlich erst nach meiner Frage hier im Forum :-))) uff... war wohl schon zu Müde..

            Kommentar


              #7
              Zitat von TomasM Beitrag anzeigen
              Und ja klar wenn das Licht angeht dann würde theoretisch die Funktion die Lampe wieder ausschalten wollen (wenn sie denn an ist), hier lass ich sie dann gegen den Trigger laufen der sich dann erhöht
              Das wird defintiv passieren. Der bisherige Flow hat da nichts berücksichtigt. Da kommt ein Luxwert größer X und schwups ist das Licht aus. dann rekalibriert sich der Sensor und es schaltet wieder ein. Ggf. aber auch das nicht, weil wie sendet der Hue -Melder die Bewegungserkennung, kommt das zyklisch? Wenn der wie in KNX-Melder bei laufender Bewegung nichts zyklisch sendet, dann bleibt es auch "dunkel" egal wie wild Du in dem Raum rumtanzt.

              ----------------------------------------------------------------------------------
              "Der Hauptgrund für Stress ist der tägliche Kontakt mit Idioten."
              Albert Einstein

              Kommentar


                #8
                Nein, das ist berücksichtigt, und wird im zweiten oberen Switch mit der Verbindung zum Trigger gelöst. Wenn also Bewegung True und er will switchen aber die globale Variable auf False ist dann geht er auf den Triger, und der erhöht seine Verzögerung jeweils um 5 min.

                Das funktioniert soweit bei mir und das Verhalten was Du beschreibst kommt nicht vor.. Ohne diesen zwischen Switch wäre es aber genau wie Du beschreibst.
                Du hast aber das Update gesehen oder ? (der erste Flow meiner ersten Mail ) hat da natürlich keine Berücksichtigung. Der geht ganz nach Zeiten..

                Ich merke ja noch wenn Licht ist oder nicht :-))) Bis jetzt TOP

                Kommentar

                Lädt...
                X