Ankündigung

Einklappen
Keine Ankündigung bisher.

KNX node for node-red

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

    Hi Bernd,
    can you translate this in German for me?

    "Update (updates the value without sending any telegram to the KNX BUS)"

    Thanks.

    Kommentar


      "Update (aktualisiert den Wert ohne ein Telegram auf den KNX Bus zu senden)"

      Kommentar


        Ok, i'm working on it. Please hold on.
        I should be able to release a new update in about 1 hour.
        Hope.

        Kommentar


          Zitat von bgumler Beitrag anzeigen
          "Update (aktualisiert den Wert ohne ein Telegram auf den KNX Bus zu senden)"
          Hello
          v.1.2.5 is out in about 1 hour.

          Please refer to this https://github.com/Supergiovane/node...Virtual-Device
          And to this https://github.com/Supergiovane/node...es-to-the-node, whether you prefer doing all via a Javascript function node.
          Code:
          msg.event = "Update_NoWrite";
          msg.payload = true;
          return msg;

          Kommentar


            Thanks a lot,

            one step closer to the virtual KNX device. Passive status, means only transmitted upon a read now works.

            Bernd

            Kommentar


              Hello,
              I have a question regarding msg.destination which I would like to use to send to the KNX Device node.
              First let me say that my node red experiance is not soo big. Therefore I fear that I have made a silly failure.
              Can anybody help me and tell me, what I'm doing wrong?

              Without using msg.destination my test flow works.

              working node.jpg
              Code:
              [{"id":"4ce4e13.dd3a12","type":"knxUltimate","z":"d3665228.1c833","server":"ab5f300e.477c1","topic":"24/5/108","outputtopic":"","dpt":"213.100","initialread":false,"notifyreadrequest":false,"notifyresponse":true,"notifywrite":true,"notifyreadrequestalsorespondtobus":false,"notifyreadrequestalsorespondtobusdefaultvalueifnotinitialized":"0","listenallga":false,"name":"Sollobject","outputtype":"read","outputRBE":true,"inputRBE":false,"formatmultiplyvalue":1,"formatnegativevalue":"leave","formatdecimalsvalue":999,"passthrough":"no","x":470,"y":120,"wires":[["6727fbbb.4214d4"]]},{"id":"bebd76d2.6b44e8","type":"inject","z":"d3665228.1c833","name":"","topic":"","payload":"Read","payloadType":"str","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":230,"y":120,"wires":[["4ce4e13.dd3a12","94472e9c.27571","16cdf8.f1c0a208"]]},{"id":"6727fbbb.4214d4","type":"debug","z":"d3665228.1c833","name":"SollObjekt","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","x":760,"y":120,"wires":[]},{"id":"94472e9c.27571","type":"knxUltimate","z":"d3665228.1c833","server":"ab5f300e.477c1","topic":"24/5/106","outputtopic":"","dpt":"9.001","initialread":false,"notifyreadrequest":false,"notifyresponse":true,"notifywrite":true,"notifyreadrequestalsorespondtobus":false,"notifyreadrequestalsorespondtobusdefaultvalueifnotinitialized":"0","listenallga":false,"name":"Korrektur","outputtype":"read","outputRBE":true,"inputRBE":false,"formatmultiplyvalue":1,"formatnegativevalue":"leave","formatdecimalsvalue":999,"passthrough":"no","x":470,"y":180,"wires":[["6fa9753a.24099c"]]},{"id":"6fa9753a.24099c","type":"debug","z":"d3665228.1c833","name":"Korrektur","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","x":750,"y":180,"wires":[]},{"id":"16cdf8.f1c0a208","type":"knxUltimate","z":"d3665228.1c833","server":"ab5f300e.477c1","topic":"24/5/107","outputtopic":"","dpt":"20.102","initialread":false,"notifyreadrequest":false,"notifyresponse":true,"notifywrite":true,"notifyreadrequestalsorespondtobus":false,"notifyreadrequestalsorespondtobusdefaultvalueifnotinitialized":"0","listenallga":false,"name":"Betriebsmodus","outputtype":"read","outputRBE":true,"inputRBE":false,"formatmultiplyvalue":1,"formatnegativevalue":"leave","formatdecimalsvalue":999,"passthrough":"no","x":490,"y":60,"wires":[["166860f4.99775f"]]},{"id":"166860f4.99775f","type":"debug","z":"d3665228.1c833","name":"Betriebsmodus","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","x":770,"y":60,"wires":[]},{"id":"ab5f300e.477c1","type":"knxUltimate-config","z":"","host":"192.168.1.11","port":"3671","physAddr":"15.15.22","suppressACKRequest":false,"csv":"","KNXEthInterface":"Auto","KNXEthInterfaceManuallyInput":"","statusDisplayLastUpdate":true,"statusDisplayDeviceNameWhenALL":true,"statusDisplayDataPoint":false,"stopETSImportIfNoDatapoint":"stop","loglevel":"error","name":"Domovea","localEchoInTunneling":true,"delaybetweentelegrams":"40","delaybetweentelegramsfurtherdelayREAD":"1"}]
              It is giving the following output:
              working output.jpg

              This version with msg.destination use does not work:

              not working.jpg
              Code:
              [{"id":"adef6de6.36d44","type":"knxUltimate","z":"b2faed2b.a719e","server":"ab5f300e.477c1","topic":"0/0/1","outputtopic":"","dpt":"213.100","initialread":false,"notifyreadrequest":false,"notifyresponse":true,"notifywrite":true,"notifyreadrequestalsorespondtobus":false,"notifyreadrequestalsorespondtobusdefaultvalueifnotinitialized":"0","listenallga":false,"name":"SollObject","outputtype":"read","outputRBE":false,"inputRBE":false,"formatmultiplyvalue":1,"formatnegativevalue":"leave","formatdecimalsvalue":999,"passthrough":"no","x":850,"y":210,"wires":[["eb4f272f.97cb48"]]},{"id":"12237eac.913181","type":"function","z":"b2faed2b.a719e","name":"AddressObject","func":"var AddressObject={\n    BetriebsmodusAddress: '24/5/107', //DPT 20.102\n    TempAddress: '24/5/108', //DPT 213.100\n    KorrekturAddress:'24/5/106' //DPT 9.001\n    };\nvar BetriensmodusAddress=flow.get('BetriensmodusAddress');\nvar TempAddress=flow.get('TempAddress');\nvar KorrekturAddress=flow.get('KorrekturAddress');\n\nmsg.payload=AddressObject;\n\nflow.set('BetriensmodusAddress',msg.payload.BetriebsmodusAddress);\nflow.set('TempAddress',msg.payload.TempAddress);\nflow.set('KorrekturAddress',msg.payload.KorrekturAddress);\n\n\nreturn msg;\n","outputs":1,"noerr":0,"x":320,"y":210,"wires":[["63cccb10.fd51d4","9327695e.58e338","fb3a06d8.fd9c48"]]},{"id":"defb4062.a414e","type":"inject","z":"b2faed2b.a719e","name":"","topic":"","payload":"Read","payloadType":"str","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":140,"y":210,"wires":[["12237eac.913181"]]},{"id":"eb4f272f.97cb48","type":"debug","z":"b2faed2b.a719e","name":"SollObjekt","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","x":1060,"y":210,"wires":[]},{"id":"fb3a06d8.fd9c48","type":"function","z":"b2faed2b.a719e","name":"Temp","func":"msg.destination=flow.get('TempAddress');\n\nreturn msg;","outputs":1,"noerr":0,"x":590,"y":210,"wires":[["adef6de6.36d44","2d35f63.aa95d0a"]]},{"id":"a603a074.898c8","type":"knxUltimate","z":"b2faed2b.a719e","server":"ab5f300e.477c1","topic":"0/0/1","outputtopic":"","dpt":"20.102","initialread":false,"notifyreadrequest":false,"notifyresponse":true,"notifywrite":true,"notifyreadrequestalsorespondtobus":false,"notifyreadrequestalsorespondtobusdefaultvalueifnotinitialized":"0","listenallga":false,"name":"Betriebsmodus","outputtype":"read","outputRBE":false,"inputRBE":false,"formatmultiplyvalue":1,"formatnegativevalue":"leave","formatdecimalsvalue":999,"passthrough":"no","x":860,"y":90,"wires":[["305601ca.73072e"]]},{"id":"305601ca.73072e","type":"debug","z":"b2faed2b.a719e","name":"Betriebsmodus","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","x":1070,"y":90,"wires":[]},{"id":"63cccb10.fd51d4","type":"function","z":"b2faed2b.a719e","name":"Betriebsmodus","func":"msg.destination=flow.get('BetriensmodusAddress');\n\nreturn msg;","outputs":1,"noerr":0,"x":620,"y":90,"wires":[["a603a074.898c8","365b3793.5f5f98"]]},{"id":"64591ba1.e2a3b4","type":"knxUltimate","z":"b2faed2b.a719e","server":"ab5f300e.477c1","topic":"0/0/1","outputtopic":"","dpt":"9.001","initialread":false,"notifyreadrequest":false,"notifyresponse":true,"notifywrite":true,"notifyreadrequestalsorespondtobus":false,"notifyreadrequestalsorespondtobusdefaultvalueifnotinitialized":"0","listenallga":false,"name":"Korrektur","outputtype":"read","outputRBE":false,"inputRBE":false,"formatmultiplyvalue":1,"formatnegativevalue":"leave","formatdecimalsvalue":999,"passthrough":"no","x":840,"y":330,"wires":[["32b97d16.c17c22"]]},{"id":"9327695e.58e338","type":"function","z":"b2faed2b.a719e","name":"Korrektur","func":"msg.destination=flow.get('KorrekturAddress');\n\nreturn msg;","outputs":1,"noerr":0,"x":600,"y":330,"wires":[["64591ba1.e2a3b4","4d4fa22a.4b2a8c"]]},{"id":"32b97d16.c17c22","type":"debug","z":"b2faed2b.a719e","name":"Korrektur","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","x":1050,"y":330,"wires":[]},{"id":"2d35f63.aa95d0a","type":"debug","z":"b2faed2b.a719e","name":"2","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"destination","targetType":"msg","x":770,"y":150,"wires":[]},{"id":"365b3793.5f5f98","type":"debug","z":"b2faed2b.a719e","name":"1","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"destination","targetType":"msg","x":770,"y":30,"wires":[]},{"id":"4d4fa22a.4b2a8c","type":"debug","z":"b2faed2b.a719e","name":"3","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"destination","targetType":"msg","x":770,"y":270,"wires":[]},{"id":"ab5f300e.477c1","type":"knxUltimate-config","z":"","host":"192.168.1.11","port":"3671","physAddr":"15.15.22","suppressACKRequest":false,"csv":"","KNXEthInterface":"Auto","KNXEthInterfaceManuallyInput":"","statusDisplayLastUpdate":true,"statusDisplayDeviceNameWhenALL":true,"statusDisplayDataPoint":false,"stopETSImportIfNoDatapoint":"stop","loglevel":"error","name":"Domovea","localEchoInTunneling":true,"delaybetweentelegrams":"40","delaybetweentelegramsfurtherdelayREAD":"1"}]
              But it seems that the adresses are passed correcctly to the KNX Device nodes.

              Node before first inject:
              before.jpg

              and after inject:
              after.jpg
              Also the debug 1,2,3 nodes are delivering the right values.

              msg.destination.jpg

              But the debug node 'Betriebsmodus', 'SollObject' amd 'Korrektur' do not deliver anything.

              What is wrong here?

              Thx for helping and best regards
              Markus

              Kommentar


                Hi Markus
                What do you need to achieve?
                As far as i can see, you wish to issue a READ request on these 3 Group addresses, right?
                Otherwise, what do you wanna achieve?

                Kommentar


                  Hello,
                  read on three adresses is right.
                  Three adresses deliver the parameters for one room.
                  After the read some cacuilations will follow.
                  This calculationa have to be done for several rooms.
                  Therefore I would like to create a sublow out of this flow and would like to pass three adresses into the subflow, let the subflow do the calculations and from there deliver the result into the mainflow.

                  Kommentar


                    Do you really need that flows variables?
                    In a range from 0 to 10, what are your javascript programming skills? This helps me to do a sample that you can einfach understand.

                    Kommentar


                      Please bear in mind, that msg.address doesn't set the address of the node, it only changes it temporarly.
                      For this reason, they won't emit anyhing, because they stick with 0/0/1
                      You need to find another approach.
                      If you have ETS, you can simply import the Group addresses file and you're almost done. Can you do that?

                      Kommentar


                        Zitat von TheMax74 Beitrag anzeigen
                        Do you really need that flows variables?
                        I think so, but I'm open for other solutrions of course.
                        Zitat von TheMax74 Beitrag anzeigen
                        In a range from 0 to 10, what are your javascript programming skills?
                        2-3 ... I'm an old guy. During my studies in the last millenium I have learned Pascal. 😕

                        Kommentar


                          Oh oh! The next fan of subflows @ nodered
                          Massimo has not made the best experience with subflows...
                          Mit Heimautomatisierung lassen sich alle Probleme lösen die wir sonst gar nicht hätten...
                          KNX + HUE + SONOS + SIMATIC-S7 + Fritzbox + RasPi mit NodeRed + Telegramm

                          Kommentar


                            Nope. Right. I hate subflows. You lost all control over it. Olli, i'm in guru meditation about your gitHub request. Stay tuned.
                            megahorst, If you have ETS, you can simply import the Group addresses file and you're almost done. Can you do that?

                            Kommentar


                              Hm, I just learned about subflows right now as you guys talked about it. Thought about something like that in the past as this could help clean up some repeated flows but never checked if anything for that existed and was quite happy to read up about them now.

                              Zitat von TheMax74 Beitrag anzeigen
                              I hate subflows. You lost all control over it.
                              Mind to go into this a bit more? What's the issue with using them? Of course they might not be a solution for everything, but it felt that they might be good for repeated data processing structures.



                              PS: Actually reading up a bit about their features I think it would be nice if the environment variables of subflows could be used in KNX nodes, at least for the GA and DPT fields (might already be the case, but it sounds like it's probably not ). This would actually help me clean up my junk a lot
                              Zuletzt geändert von Alloc; 08.01.2021, 14:37.
                              Chris

                              Kommentar


                                Alloc Hi, i really don't wanna talk about subflows. Last time i used it, the nodes in the sublow don't even show their status. They was absolutely not debuggable.
                                I don't know if with the latest versions, they are better. I don't want to try it.
                                Yes they can be useful, but honestly, i'm using the "link nodes" instead of subflows in my whole system. I create standard flows with an "input link node" as entry point and an "output link node" as exit point.

                                Kommentar

                                Lädt...
                                X