Ankündigung

Einklappen
Keine Ankündigung bisher.

KNX node for node-red

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

    Zitat von TheMax74 Beitrag anzeigen
    lobo thank you !!!!
    I didn't see that you already replied ... this is more than deserved for your great work! It is only a very little contribution.
    Mein Sammelsurium: TS2, Zennio Z38, Siemens LOGO!, Medeodata 140 S, Weinzierl KNX ENO 620, Eibmarkt IP Router, MDT KNX IP IF, Wiregate, Node-Red mit KNX Ultimate, MDT Smart II, diverse Aktoren verschiedener Hersteller ...

    Kommentar


      Hi lobo
      do what PhilW suggest.

      Kommentar


        Zitat von TheMax74 Beitrag anzeigen
        do what PhilW suggest.
        I did - and it worked Now after this has been solved, the circular reference issue kicked in ... After rbe filter didn't do the trick, I found "GETTING TOTALLY RID OF CIRCULAR REFERENCE PROTECTION" on https://github.com/Supergiovane/node...i/-Protections . So I pasted the code in between the two knx ultimate nodes - and here we go!!! Works like a charme - and it is fairly quick!
        lobo_nodered_logik_5.PNG


        Now - only thing that puzzles me at the moment is the fact, that I cannot see the values sent on the bus. I can see that the lights react and they send the status, but I don't see the value which is sent by knxultimate. At the moment, I am using multicast, but my computer with ETS is connected to the bus with tunneling via a wiregate gateway (eibd) which uses the only tunnel of my knx router.

        Best regards,

        Stefan


        Mein Sammelsurium: TS2, Zennio Z38, Siemens LOGO!, Medeodata 140 S, Weinzierl KNX ENO 620, Eibmarkt IP Router, MDT KNX IP IF, Wiregate, Node-Red mit KNX Ultimate, MDT Smart II, diverse Aktoren verschiedener Hersteller ...

        Kommentar


          Hi lobo
          Why not connecting ETS with the knx/ip router as well? Try to avoid unnecessary layera of complexity, if possible.

          Kommentar


            Yes, but the problem is that my router only has one single tunnel - and this is actually used by the wiregate. Eibd on the wiregate can provide more tunnels and I double-checked the configuration and noticed that I had set knx ultimate to tunneling onto the wiregate address (which basically works, but I am not sure if this has caused the issue with group monitoring).

            Now I changed the setting in knx ultimate to multicast and I can monitor what has been sent.

            The flow is working fine if I inject the values within node-red, but if I sent "60" on the knx bus, the left node does not react. It still says "waiting for telegram". I must check which option enables this node to react on a change from the bus.

            Cheers,

            Stefan
            Mein Sammelsurium: TS2, Zennio Z38, Siemens LOGO!, Medeodata 140 S, Weinzierl KNX ENO 620, Eibmarkt IP Router, MDT KNX IP IF, Wiregate, Node-Red mit KNX Ultimate, MDT Smart II, diverse Aktoren verschiedener Hersteller ...

            Kommentar


              Hi lobo
              to your knowledge, the knx/ip router can have near as infinite connection because it uses a single multicast ip! Don’t worry about tunnels. Tunnels are only for knx/ip interfaces.

              Kommentar


                Hi

                I want to trigger at a specific time (or date) to perform the sum of values (wh) contained in different GAs. Could you give me a clue to solve this problem?

                Best regards,

                Kommentar


                  Hi Stives
                  take a look at that: https://flows.nodered.org/node/node-...ntrib-bigtimer

                  Kommentar


                    ... or have a look onto https://flows.nodered.org/node/node-...trib-cron-plus - that's the one I am using at the moment. That is the only scheduler I found which is able to send values instead of off/on ...

                    TheMax74 : I know that multicast doesn't have this restriction, but I already had issues with multicast (the network devices I used didn't support multicast - now I am having another switch and this one works).

                    Best regards,

                    Stefan
                    Mein Sammelsurium: TS2, Zennio Z38, Siemens LOGO!, Medeodata 140 S, Weinzierl KNX ENO 620, Eibmarkt IP Router, MDT KNX IP IF, Wiregate, Node-Red mit KNX Ultimate, MDT Smart II, diverse Aktoren verschiedener Hersteller ...

                    Kommentar


                      Thank you for the information.
                      To test "cron-plus" send a request every minute on the GA 9/2/0 but I can't configure to retrieve the value of this GA.


                      Code:
                      [{"id":"294f671f.d21918","type":"cronplus","z":"d67a3cc1.37528","name":"","outputField":"payload","timeZone":"","persistDynamic":false,"commandResponseMsgOutput":"output1","outputs":1,"options":[{"name":"schedule1","topic":"schedule1","payloadType":"default","payload":"","expressionType":"cron","expression":"0 * * * * *","location":"","offset":"0","solarType":"all","solarEvents":"sunrise,sunset"}],"x":420,"y":220,"wires":[["6efa8c90.8a66c4"]]},{"id":"6efa8c90.8a66c4","type":"knxUltimate","z":"d67a3cc1.37528","server":"123ea2c2.4a920d","topic":"9/2/0","outputtopic":"","dpt":"13.010","initialread":"2","notifyreadrequest":false,"notifyresponse":true,"notifywrite":false,"notifyreadrequestalsorespondtobus":false,"notifyreadrequestalsorespondtobusdefaultvalueifnotinitialized":"0","listenallga":false,"name":"","outputtype":"read","outputRBE":false,"inputRBE":false,"formatmultiplyvalue":1,"formatnegativevalue":"leave","formatdecimalsvalue":999,"passthrough":"yesownprop","x":610,"y":200,"wires":[["eb7e4d23.b7665"]]},{"id":"eb7e4d23.b7665","type":"debug","z":"d67a3cc1.37528","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":920,"y":200,"wires":[]},{"id":"123ea2c2.4a920d","type":"knxUltimate-config","host":"224.0.23.12","port":"3671","physAddr":"15.15.22","suppressACKRequest":false,"csv":"\"Group name\"\t\"Address\"\t\"Central\"\t\"Unfiltered\"\t\"Description\"\t\"DatapointType\"\t\"Security\"\n\"Attuatori luci\"\t\"0/-/-\"\t\"\"\t\"\"\t\"Attuatori luci\"\t\"\"\t\"Auto\"\n\"Luci primo piano\"\t\"0/0/-\"\t\"\"\t\"\"\t\"Luci primo piano\"\t\"\"\t\"Auto\"\n\"Camera da letto luce\"\t\"0/0/1\"\t\"\"\t\"\"\t\"Camera da letto luce\"\t\"DPST-1-8\"\t\"Auto\"\n\"Loggia camera da letto\"\t\"0/0/2\"\t\"\"\t\"\"\t\"Loggia camera da letto\"\t\"DPST-1-1\"\t\"Auto\"\n\"Camera armadi luce\"\t\"0/0/3\"\t\"\"\t\"\"\t\"Camera armadi luce\"\t\"DPST-1-1\"\t\"Auto\"\n\"Bagno grande luce\"\t\"0/0/4\"\t\"\"\t\"\"\t\"Bagno grande luce\"\t\"DPST-1-1\"\t\"Auto\"\n\"Loggia bagno grande\"\t\"0/0/5\"\t\"\"\t\"\"\t\"Loggia bagno grande\"\t\"DPST-1-1\"\t\"Auto\"","KNXEthInterface":"Auto","KNXEthInterfaceManuallyInput":"","statusDisplayLastUpdate":true,"statusDisplayDeviceNameWhenALL":true,"statusDisplayDataPoint":false,"stopETSImportIfNoDatapoint":"stop","loglevel":"error","name":"Multicast Router","localEchoInTunneling":true,"delaybetweentelegrams":"","delaybetweentelegramsfurtherdelayREAD":""}]
                      Why when I import the exported code in my message I get an error?

                      Formatted export
                      Code:
                      [
                      {
                      "id": "d67a3cc1.37528",
                      "type": "tab",
                      "label": "Flow 1",
                      "disabled": false,
                      "info": ""
                      },
                      {
                      "id": "294f671f.d21918",
                      "type": "cronplus",
                      "z": "d67a3cc1.37528",
                      "name": "",
                      "outputField": "payload",
                      "timeZone": "",
                      "persistDynamic": false,
                      "commandResponseMsgOutput": "output1",
                      "outputs": 1,
                      "options": [
                      {
                      "name": "schedule1",
                      "topic": "schedule1",
                      "payloadType": "default",
                      "payload": "",
                      "expressionType": "cron",
                      "expression": "0 * * * * *",
                      "location": "",
                      "offset": "0",
                      "solarType": "all",
                      "solarEvents": "sunrise,sunset"
                      }
                      ],
                      "x": 420,
                      "y": 220,
                      "wires": [
                      [
                      "6efa8c90.8a66c4"
                      ]
                      ]
                      },
                      {
                      "id": "6efa8c90.8a66c4",
                      "type": "knxUltimate",
                      "z": "d67a3cc1.37528",
                      "server": "123ea2c2.4a920d",
                      "topic": "9/2/0",
                      "outputtopic": "",
                      "dpt": "13.010",
                      "initialread": "2",
                      "notifyreadrequest": false,
                      "notifyresponse": true,
                      "notifywrite": false,
                      "notifyreadrequestalsorespondtobus": false,
                      "notifyreadrequestalsorespondtobusdefaultvalueifno tinitialized": "0",
                      "listenallga": false,
                      "name": "",
                      "outputtype": "read",
                      "outputRBE": false,
                      "inputRBE": false,
                      "formatmultiplyvalue": 1,
                      "formatnegativevalue": "leave",
                      "formatdecimalsvalue": 999,
                      "passthrough": "yesownprop",
                      "x": 610,
                      "y": 200,
                      "wires": [
                      [
                      "eb7e4d23.b7665"
                      ]
                      ]
                      },
                      {
                      "id": "eb7e4d23.b7665",
                      "type": "debug",
                      "z": "d67a3cc1.37528",
                      "name": "",
                      "active": true,
                      "tosidebar": true,
                      "console": false,
                      "tostatus": false,
                      "complete": "false",
                      "statusVal": "",
                      "statusType": "auto",
                      "x": 920,
                      "y": 200,
                      "wires": []
                      },
                      {
                      "id": "123ea2c2.4a920d",
                      "type": "knxUltimate-config",
                      "host": "224.0.23.12",
                      "port": "3671",
                      "physAddr": "15.15.22",
                      "suppressACKRequest": false,
                      "csv": "\"Group name\"\t\"Address\"\t\"Central\"\t\"Unfiltered\"\t \"Description\"\t\"DatapointType\"\t\"Security\"\n \"Attuatori luci\"\t\"0/-/-\"\t\"\"\t\"\"\t\"Attuatori luci\"\t\"\"\t\"Auto\"\n\"Luci primo piano\"\t\"0/0/-\"\t\"\"\t\"\"\t\"Luci primo piano\"\t\"\"\t\"Auto\"\n\"Camera da letto luce\"\t\"0/0/1\"\t\"\"\t\"\"\t\"Camera da letto luce\"\t\"DPST-1-8\"\t\"Auto\"\n\"Loggia camera da letto\"\t\"0/0/2\"\t\"\"\t\"\"\t\"Loggia camera da letto\"\t\"DPST-1-1\"\t\"Auto\"\n\"Camera armadi luce\"\t\"0/0/3\"\t\"\"\t\"\"\t\"Camera armadi luce\"\t\"DPST-1-1\"\t\"Auto\"\n\"Bagno grande luce\"\t\"0/0/4\"\t\"\"\t\"\"\t\"Bagno grande luce\"\t\"DPST-1-1\"\t\"Auto\"\n\"Loggia bagno grande\"\t\"0/0/5\"\t\"\"\t\"\"\t\"Loggia bagno grande\"\t\"DPST-1-1\"\t\"Auto\"",
                      "KNXEthInterface": "Auto",
                      "KNXEthInterfaceManuallyInput": "",
                      "statusDisplayLastUpdate": true,
                      "statusDisplayDeviceNameWhenALL": true,
                      "statusDisplayDataPoint": false,
                      "stopETSImportIfNoDatapoint": "stop",
                      "loglevel": "error",
                      "name": "Multicast Router",
                      "localEchoInTunneling": true,
                      "delaybetweentelegrams": "",
                      "delaybetweentelegramsfurtherdelayREAD": ""
                      }
                      ]
                      Zuletzt geändert von Stives; 02.05.2021, 00:04.

                      Kommentar


                        Stives
                        i suggest you to carefully read the knx-ultimate wiki and samples on gitHub.
                        You need to enable “react on response telegrams”.
                        About the pasted code, from where you got the sample code? Can you point me to the web page?
                        Thanks.

                        Kommentar


                          lobo
                          Stefan, it looks like all light control telegrams are going through this node and logic.
                          In that case I would use different GA to avoid endless circulation. You need an Input GA sended by all connected switches and the information day/night status. Both into a function node which one check the status. in case of day the input is passed through in case of night 10% is sended.

                          With such a function you can directly react on 1bit and 1byte telegrams.

                          The KNX nodes which sends the effective control telegrams uses other GAs connected to the actor.

                          In ETS only the status GA are directly connected between actor and Switch/Visu etc.
                          ----------------------------------------------------------------------------------
                          "Der Hauptgrund für Stress ist der tägliche Kontakt mit Idioten."
                          Albert Einstein

                          Kommentar


                            Hey Göran,

                            the behavior to send onto the same GA is intendet and very well justified: the reason behind this is that this is one of the essential functions to live at home. What happens is that my PIRs (movement sensors) send a low value whenever they detect someone (e.g. 5%). That means that the lighting in the corridor is switched on even if no logik (either linknx, node-red or what so ever) is working. The 5 % is far enough, so that inhabitants won't stumble when the walk along the corridor.

                            Now the purpose of my logik is to trigger higher light levels AFTER the low, initial light value was sent. By this, light level will be set higher during daytime. This gives a fail-safe and yet comfortable situation at home.

                            Of cause, you are right - I could send the new light intensities onto another GA and make the DALI actor hear onto this address, as well, but as long as I won't send a 5 % value from the logic, there shouldn't be a circular issue (and it has been working brilliantly using linknx for more than a decade). For me, this is a tech-demo to understand what is working and what is feasible and I therefore want to understand the basics behind the different settings. In fact, I am facing quite some issues with circular references with knx ultimate, but I assume this is simply because I haven't understood all the switches you can set.

                            Added to this, the german translation is sometimes hard to understand (sometimes because it is mixed in between english and german etc.). Please don't get me wrong - this is not an accusation, I am very grateful that there is at least an english translation! Whenever I think that I understand the switches correctly, I could even imagine to contribute to the project at least by doing some translation or documentation.

                            Best,

                            Stefan
                            Mein Sammelsurium: TS2, Zennio Z38, Siemens LOGO!, Medeodata 140 S, Weinzierl KNX ENO 620, Eibmarkt IP Router, MDT KNX IP IF, Wiregate, Node-Red mit KNX Ultimate, MDT Smart II, diverse Aktoren verschiedener Hersteller ...

                            Kommentar


                              Hi TheMax74

                              Zitat von TheMax74 Beitrag anzeigen
                              i suggest you to carefully read the knx-ultimate wiki and samples on gitHub.
                              You need to enable “react on response telegrams”.
                              I checked "React to event GroupValue response" :

                              cron.jpg

                              Zitat von TheMax74 Beitrag anzeigen
                              About the pasted code, from where you got the sample code? Can you point me to the web page?
                              Thanks.
                              It's my code inspired by this page : https://flows.nodered.org/node/node-...trib-cron-plus
                              Zuletzt geändert von Stives; 02.05.2021, 23:50.

                              Kommentar


                                Hi,

                                Here is the code of a flow which works to store the current value of the electric meter in Influxdb.

                                In this flow, the counter value is read in Home Assistant in which there is a link with the GA KNX (which contains the counter value).

                                I would like to read the GA of the KNX meter directly to store the value in Influxdb.

                                Code:
                                [{"id":"c92c7602.90e1b8","type":"inject","z":"5f869aea.270dd4","name":"","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"60","crontab":"","once":false,"onceDelay":"","topic":"","payload":"","payloadType":"date","x":210,"y":80,"wires":[["d5a4a67d.00c818"]]},{"id":"d5a4a67d.00c818","type":"api-current-state","z":"5f869aea.270dd4","name":"","server":"6dbc60a4.9907","version":1,"outputs":1,"halt_if":"","halt_if_type":"str","halt_if_compare":"is","override_topic":false,"entity_id":"sensor.compteur_elec","state_type":"str","state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","blockInputOverrides":false,"x":470,"y":80,"wires":[["d66aea78.2d5388"]]},{"id":"d66aea78.2d5388","type":"function","z":"5f869aea.270dd4","name":"transforme en nombre + format pour influx","func":"var conso = parseFloat(msg.payload);\nmsg.payload = [];\nfields = {\"value\":conso};\ntags =  {\"entity\":\"index_elec\"};\nmsg.payload = [fields,tags];\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":840,"y":80,"wires":[["8501bfa2.88eee","8190cc40.48864"]]},{"id":"8501bfa2.88eee","type":"influxdb out","z":"5f869aea.270dd4","influxdb":"468eb0a8.3cc35","name":"Influxdb Index Elec","measurement":"Conso","precision":"","retentionPolicy":"","database":"database","precisionV18FluxV20":"ms","retentionPolicyV18Flux":"","org":"organisation","bucket":"bucket","x":1150,"y":80,"wires":[]},{"id":"8190cc40.48864","type":"debug","z":"5f869aea.270dd4","name":"Index Elec","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":1140,"y":140,"wires":[]},{"id":"6dbc60a4.9907","type":"server","name":"Home Assistant","addon":true},{"id":"468eb0a8.3cc35","type":"influxdb","hostname":"a0d7b954-influxdb","port":"8086","protocol":"http","database":"nodereddb","name":"influx db addon","usetls":false,"tls":"","influxdbVersion":"1.x","url":"http://localhost:8086","rejectUnauthorized":true}]

                                Kommentar

                                Lädt...
                                X