NEWS
Zwei Strings zusammenführen
-
@ju_ Ich habe eben mal geschaut. Du kannst wohl wählen, welches Datenformat Du willst. ASCII Zeichen, UTF8 Zeichen, etc.
Bei mir zeigt er aber keine Vorschau am Node selbst an. Habe ja auch keinen KNX-Bus, wohin das gesendet werden kann. Du kannst Dein Node-Diagramm ja mal exportieren und hier posten.
Bei mir sieht es so aus:

@peterfido kannst du mir erklären, wie ich ein "Node-Diagramm" exportiere? Dachte es geht nur über Bilder. Übrigend wenn ich über eine Inject Node direkt "27.01.25 (10d)" als "msg.payload" auf die KNX Node schicke funktioniert es. Also scheint sie irgendwas gegen den Output der Funktion zu haben.

-
@peterfido kannst du mir erklären, wie ich ein "Node-Diagramm" exportiere? Dachte es geht nur über Bilder. Übrigend wenn ich über eine Inject Node direkt "27.01.25 (10d)" als "msg.payload" auf die KNX Node schicke funktioniert es. Also scheint sie irgendwas gegen den Output der Funktion zu haben.

-
@ju_ ja, bei mir geht es auch. Ich frage mich, mit welchem KNX sich die Node standardmäßig verbindet.
Exportieren geht über das Menü oben rechts in Node-Red.
@peterfido und dann als JSON?
-
@peterfido und dann als JSON?
-
@peterfido ist drin, musste ihn nochmal fix bearbeiten.
-
@peterfido ist drin, musste ihn nochmal fix bearbeiten.
-
@peterfido ```
[{"id":"90489d5f43af09b5","type":"knxUltimate","z":"de15a47dbea6c285","server":"98b73fada3be00aa","topic":"8/1/0","setTopicType":"str","outputtopic":"","dpt":"16.001","initialread":"1","notifyreadrequest":false,"notifyresponse":true,"notifywrite":true,"notifyreadrequestalsorespondtobus":false,"notifyreadrequestalsorespondtobusdefaultvalueifnotinitialized":"0","name":"Gelbe Tonne Datum","outputtype":"write","outputRBE":"true","inputRBE":"false","formatmultiplyvalue":1,"formatnegativevalue":"leave","formatdecimalsvalue":999,"passthrough":"no","sendMsgToKNXCode":"","receiveMsgFromKNXCode":"","listenallga":false,"x":130,"y":100,"wires":[["02034f10ed38c317"]]},{"id":"a2dbe9c2f590573a","type":"knxUltimate","z":"de15a47dbea6c285","server":"98b73fada3be00aa","topic":"8/2/0","setTopicType":"str","outputtopic":"","dpt":"16.001","initialread":"1","notifyreadrequest":false,"notifyresponse":true,"notifywrite":true,"notifyreadrequestalsorespondtobus":false,"notifyreadrequestalsorespondtobusdefaultvalueifnotinitialized":"0","name":"Gelbe Tonne Tage","outputtype":"write","outputRBE":"true","inputRBE":"false","formatmultiplyvalue":1,"formatnegativevalue":"leave","formatdecimalsvalue":999,"passthrough":"no","sendMsgToKNXCode":"","receiveMsgFromKNXCode":"","listenallga":false,"x":130,"y":160,"wires":[["4ea9b5ca4631e2ce"]]},{"id":"02034f10ed38c317","type":"change","z":"de15a47dbea6c285","name":"","rules":[{"t":"set","p":"topic","pt":"msg","to":"Datum","tot":"str"},{"t":"set","p":"GelbDatum","pt":"flow","to":"payload","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":360,"y":100,"wires":[["5b74298a9d871858"]]},{"id":"4ea9b5ca4631e2ce","type":"change","z":"de15a47dbea6c285","name":"","rules":[{"t":"set","p":"topic","pt":"msg","to":"Tage","tot":"str"},{"t":"set","p":"GelbTage","pt":"flow","to":"payload","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":360,"y":160,"wires":[["5b74298a9d871858"]]},{"id":"58a426e6d74f6020","type":"knxUltimate","z":"de15a47dbea6c285","server":"98b73fada3be00aa","topic":"8/3/0","setTopicType":"str","outputtopic":"","dpt":"16.001","initialread":0,"notifyreadrequest":false,"notifyresponse":false,"notifywrite":true,"notifyreadrequestalsorespondtobus":false,"notifyreadrequestalsorespondtobusdefaultvalueifnotinitialized":"0","name":"Zusammengesetztes Datum Gelb","outputtype":"write","outputRBE":"true","inputRBE":"false","formatmultiplyvalue":1,"formatnegativevalue":"leave","formatdecimalsvalue":999,"passthrough":"no","sendMsgToKNXCode":"","receiveMsgFromKNXCode":"","listenallga":false,"x":1230,"y":100,"wires":[[]]},{"id":"2861740aaba0f1c9","type":"inject","z":"de15a47dbea6c285","name":"Manuelle Betätigung","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"27.01.25 (10d)","payloadType":"str","x":890,"y":20,"wires":[["58a426e6d74f6020"]]},{"id":"d22d4525c542b4d0","type":"debug","z":"de15a47dbea6c285","name":"debug 1","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":1140,"y":180,"wires":[]},{"id":"cccfb4eb94a27733","type":"change","z":"de15a47dbea6c285","name":"","rules":[{"t":"set","p":"topic","pt":"msg","to":"8/3/0","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":850,"y":100,"wires":[["58a426e6d74f6020","d22d4525c542b4d0"]]},{"id":"5b74298a9d871858","type":"function","z":"de15a47dbea6c285","name":"function 3","func":"msg.payload = flow.get("GelbDatum") + " (" + flow.get("GelbTage") + "d)";\nreturn msg;","outputs":1,"timeout":0,"noerr":0,"initialize":"","finalize":"","libs":[],"x":620,"y":100,"wires":[["cccfb4eb94a27733"]]},{"id":"141076626e9e6cf8","type":"inject","z":"de15a47dbea6c285","name":"Manuelle Betätigung","props":[{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","x":350,"y":40,"wires":[["5b74298a9d871858"]]},{"id":"98b73fada3be00aa","type":"knxUltimate-config","host":"10.0.0.2","port":"3671","physAddr":"1.1.64","hostProtocol":"TunnelUDP","suppressACKRequest":false,"csv":"","KNXEthInterface":"Auto","KNXEthInterfaceManuallyInput":"","stopETSImportIfNoDatapoint":"fake","loglevel":"error","name":"KNX Gateway","localEchoInTunneling":true,"delaybetweentelegrams":"50","ignoreTelegramsWithRepeatedFlag":false,"autoReconnect":"yes"}] -
@peterfido ```
[{"id":"90489d5f43af09b5","type":"knxUltimate","z":"de15a47dbea6c285","server":"98b73fada3be00aa","topic":"8/1/0","setTopicType":"str","outputtopic":"","dpt":"16.001","initialread":"1","notifyreadrequest":false,"notifyresponse":true,"notifywrite":true,"notifyreadrequestalsorespondtobus":false,"notifyreadrequestalsorespondtobusdefaultvalueifnotinitialized":"0","name":"Gelbe Tonne Datum","outputtype":"write","outputRBE":"true","inputRBE":"false","formatmultiplyvalue":1,"formatnegativevalue":"leave","formatdecimalsvalue":999,"passthrough":"no","sendMsgToKNXCode":"","receiveMsgFromKNXCode":"","listenallga":false,"x":130,"y":100,"wires":[["02034f10ed38c317"]]},{"id":"a2dbe9c2f590573a","type":"knxUltimate","z":"de15a47dbea6c285","server":"98b73fada3be00aa","topic":"8/2/0","setTopicType":"str","outputtopic":"","dpt":"16.001","initialread":"1","notifyreadrequest":false,"notifyresponse":true,"notifywrite":true,"notifyreadrequestalsorespondtobus":false,"notifyreadrequestalsorespondtobusdefaultvalueifnotinitialized":"0","name":"Gelbe Tonne Tage","outputtype":"write","outputRBE":"true","inputRBE":"false","formatmultiplyvalue":1,"formatnegativevalue":"leave","formatdecimalsvalue":999,"passthrough":"no","sendMsgToKNXCode":"","receiveMsgFromKNXCode":"","listenallga":false,"x":130,"y":160,"wires":[["4ea9b5ca4631e2ce"]]},{"id":"02034f10ed38c317","type":"change","z":"de15a47dbea6c285","name":"","rules":[{"t":"set","p":"topic","pt":"msg","to":"Datum","tot":"str"},{"t":"set","p":"GelbDatum","pt":"flow","to":"payload","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":360,"y":100,"wires":[["5b74298a9d871858"]]},{"id":"4ea9b5ca4631e2ce","type":"change","z":"de15a47dbea6c285","name":"","rules":[{"t":"set","p":"topic","pt":"msg","to":"Tage","tot":"str"},{"t":"set","p":"GelbTage","pt":"flow","to":"payload","tot":"msg"}],"action":"","property":"","from":"","to":"","reg":false,"x":360,"y":160,"wires":[["5b74298a9d871858"]]},{"id":"58a426e6d74f6020","type":"knxUltimate","z":"de15a47dbea6c285","server":"98b73fada3be00aa","topic":"8/3/0","setTopicType":"str","outputtopic":"","dpt":"16.001","initialread":0,"notifyreadrequest":false,"notifyresponse":false,"notifywrite":true,"notifyreadrequestalsorespondtobus":false,"notifyreadrequestalsorespondtobusdefaultvalueifnotinitialized":"0","name":"Zusammengesetztes Datum Gelb","outputtype":"write","outputRBE":"true","inputRBE":"false","formatmultiplyvalue":1,"formatnegativevalue":"leave","formatdecimalsvalue":999,"passthrough":"no","sendMsgToKNXCode":"","receiveMsgFromKNXCode":"","listenallga":false,"x":1230,"y":100,"wires":[[]]},{"id":"2861740aaba0f1c9","type":"inject","z":"de15a47dbea6c285","name":"Manuelle Betätigung","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"27.01.25 (10d)","payloadType":"str","x":890,"y":20,"wires":[["58a426e6d74f6020"]]},{"id":"d22d4525c542b4d0","type":"debug","z":"de15a47dbea6c285","name":"debug 1","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","statusVal":"","statusType":"auto","x":1140,"y":180,"wires":[]},{"id":"cccfb4eb94a27733","type":"change","z":"de15a47dbea6c285","name":"","rules":[{"t":"set","p":"topic","pt":"msg","to":"8/3/0","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":850,"y":100,"wires":[["58a426e6d74f6020","d22d4525c542b4d0"]]},{"id":"5b74298a9d871858","type":"function","z":"de15a47dbea6c285","name":"function 3","func":"msg.payload = flow.get("GelbDatum") + " (" + flow.get("GelbTage") + "d)";\nreturn msg;","outputs":1,"timeout":0,"noerr":0,"initialize":"","finalize":"","libs":[],"x":620,"y":100,"wires":[["cccfb4eb94a27733"]]},{"id":"141076626e9e6cf8","type":"inject","z":"de15a47dbea6c285","name":"Manuelle Betätigung","props":[{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","x":350,"y":40,"wires":[["5b74298a9d871858"]]},{"id":"98b73fada3be00aa","type":"knxUltimate-config","host":"10.0.0.2","port":"3671","physAddr":"1.1.64","hostProtocol":"TunnelUDP","suppressACKRequest":false,"csv":"","KNXEthInterface":"Auto","KNXEthInterfaceManuallyInput":"","stopETSImportIfNoDatapoint":"fake","loglevel":"error","name":"KNX Gateway","localEchoInTunneling":true,"delaybetweentelegrams":"50","ignoreTelegramsWithRepeatedFlag":false,"autoReconnect":"yes"}] -
@peterfido habe ich verstanden, ist oben geändert. Sorry :D
-
@peterfido habe ich verstanden, ist oben geändert. Sorry :D
@ju_ Fast :)
Sollte so aussehen:
[ { "id": "076b7140f384fc31", "type": "tab", "label": "Flow 2", "disabled": false, "info": "", "env": [] }, { "id": "4be12d8e923cd33b", "type": "knxUltimate", "z": "076b7140f384fc31", "server": "2e5af07acfd111fe", "topic": "8/3/0", "setTopicType": "str", "outputtopic": "", "dpt": "16.000", "initialread": 0, "notifyreadrequest": false, "notifyresponse": false, "notifywrite": true, "notifyreadrequestalsorespondtobus": false, "notifyreadrequestalsorespondtobusdefaultvalueifnotinitialized": "0", "name": "", "outputtype": "write", "outputRBE": "true", "inputRBE": "false", "formatmultiplyvalue": 1, "formatnegativevalue": "leave", "formatdecimalsvalue": 999, "passthrough": "yes", "sendMsgToKNXCode": "", "receiveMsgFromKNXCode": "", "listenallga": false, "x": 360, "y": 100, "wires": [ [ "2d3c593b7f85b176" ] ] }, { "id": "b0b348a7ad1db526", "type": "inject", "z": "076b7140f384fc31", "name": "", "props": [ { "p": "payload" }, { "p": "topic", "vt": "str" } ], "repeat": "", "crontab": "", "once": false, "onceDelay": 0.1, "topic": "", "payload": "30.01.25 (13d)", "payloadType": "str", "x": 170, "y": 100, "wires": [ [ "4be12d8e923cd33b" ] ] }, { "id": "2d3c593b7f85b176", "type": "debug", "z": "076b7140f384fc31", "name": "debug 2", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "true", "targetType": "full", "statusVal": "", "statusType": "auto", "x": 560, "y": 100, "wires": [] }, { "id": "2e5af07acfd111fe", "type": "knxUltimate-config", "host": "224.0.23.12", "port": "3671", "physAddr": "15.15.22", "hostProtocol": "Auto", "suppressACKRequest": false, "csv": "", "KNXEthInterface": "Auto", "KNXEthInterfaceManuallyInput": "", "stopETSImportIfNoDatapoint": "fake", "loglevel": "error", "name": "KNX Gateway", "localEchoInTunneling": true, "delaybetweentelegrams": "25", "ignoreTelegramsWithRepeatedFlag": false, "autoReconnect": "yes" } ] -
@ju_ Fast :)
Sollte so aussehen:
[ { "id": "076b7140f384fc31", "type": "tab", "label": "Flow 2", "disabled": false, "info": "", "env": [] }, { "id": "4be12d8e923cd33b", "type": "knxUltimate", "z": "076b7140f384fc31", "server": "2e5af07acfd111fe", "topic": "8/3/0", "setTopicType": "str", "outputtopic": "", "dpt": "16.000", "initialread": 0, "notifyreadrequest": false, "notifyresponse": false, "notifywrite": true, "notifyreadrequestalsorespondtobus": false, "notifyreadrequestalsorespondtobusdefaultvalueifnotinitialized": "0", "name": "", "outputtype": "write", "outputRBE": "true", "inputRBE": "false", "formatmultiplyvalue": 1, "formatnegativevalue": "leave", "formatdecimalsvalue": 999, "passthrough": "yes", "sendMsgToKNXCode": "", "receiveMsgFromKNXCode": "", "listenallga": false, "x": 360, "y": 100, "wires": [ [ "2d3c593b7f85b176" ] ] }, { "id": "b0b348a7ad1db526", "type": "inject", "z": "076b7140f384fc31", "name": "", "props": [ { "p": "payload" }, { "p": "topic", "vt": "str" } ], "repeat": "", "crontab": "", "once": false, "onceDelay": 0.1, "topic": "", "payload": "30.01.25 (13d)", "payloadType": "str", "x": 170, "y": 100, "wires": [ [ "4be12d8e923cd33b" ] ] }, { "id": "2d3c593b7f85b176", "type": "debug", "z": "076b7140f384fc31", "name": "debug 2", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "true", "targetType": "full", "statusVal": "", "statusType": "auto", "x": 560, "y": 100, "wires": [] }, { "id": "2e5af07acfd111fe", "type": "knxUltimate-config", "host": "224.0.23.12", "port": "3671", "physAddr": "15.15.22", "hostProtocol": "Auto", "suppressACKRequest": false, "csv": "", "KNXEthInterface": "Auto", "KNXEthInterfaceManuallyInput": "", "stopETSImportIfNoDatapoint": "fake", "loglevel": "error", "name": "KNX Gateway", "localEchoInTunneling": true, "delaybetweentelegrams": "25", "ignoreTelegramsWithRepeatedFlag": false, "autoReconnect": "yes" } ]@peterfido jetzt :D
[ { "id": "90489d5f43af09b5", "type": "knxUltimate", "z": "de15a47dbea6c285", "server": "98b73fada3be00aa", "topic": "8/1/0", "setTopicType": "str", "outputtopic": "", "dpt": "16.001", "initialread": "1", "notifyreadrequest": false, "notifyresponse": true, "notifywrite": true, "notifyreadrequestalsorespondtobus": false, "notifyreadrequestalsorespondtobusdefaultvalueifnotinitialized": "0", "name": "Gelbe Tonne Datum", "outputtype": "write", "outputRBE": "true", "inputRBE": "false", "formatmultiplyvalue": 1, "formatnegativevalue": "leave", "formatdecimalsvalue": 999, "passthrough": "no", "sendMsgToKNXCode": "", "receiveMsgFromKNXCode": "", "listenallga": false, "x": 130, "y": 100, "wires": [ [ "02034f10ed38c317" ] ] }, { "id": "a2dbe9c2f590573a", "type": "knxUltimate", "z": "de15a47dbea6c285", "server": "98b73fada3be00aa", "topic": "8/2/0", "setTopicType": "str", "outputtopic": "", "dpt": "16.001", "initialread": "1", "notifyreadrequest": false, "notifyresponse": true, "notifywrite": true, "notifyreadrequestalsorespondtobus": false, "notifyreadrequestalsorespondtobusdefaultvalueifnotinitialized": "0", "name": "Gelbe Tonne Tage", "outputtype": "write", "outputRBE": "true", "inputRBE": "false", "formatmultiplyvalue": 1, "formatnegativevalue": "leave", "formatdecimalsvalue": 999, "passthrough": "no", "sendMsgToKNXCode": "", "receiveMsgFromKNXCode": "", "listenallga": false, "x": 130, "y": 160, "wires": [ [ "4ea9b5ca4631e2ce" ] ] }, { "id": "02034f10ed38c317", "type": "change", "z": "de15a47dbea6c285", "name": "", "rules": [ { "t": "set", "p": "topic", "pt": "msg", "to": "Datum", "tot": "str" }, { "t": "set", "p": "GelbDatum", "pt": "flow", "to": "payload", "tot": "msg" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 360, "y": 100, "wires": [ [ "5b74298a9d871858" ] ] }, { "id": "4ea9b5ca4631e2ce", "type": "change", "z": "de15a47dbea6c285", "name": "", "rules": [ { "t": "set", "p": "topic", "pt": "msg", "to": "Tage", "tot": "str" }, { "t": "set", "p": "GelbTage", "pt": "flow", "to": "payload", "tot": "msg" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 360, "y": 160, "wires": [ [ "5b74298a9d871858" ] ] }, { "id": "58a426e6d74f6020", "type": "knxUltimate", "z": "de15a47dbea6c285", "server": "98b73fada3be00aa", "topic": "8/3/0", "setTopicType": "str", "outputtopic": "", "dpt": "16.001", "initialread": 0, "notifyreadrequest": false, "notifyresponse": false, "notifywrite": true, "notifyreadrequestalsorespondtobus": false, "notifyreadrequestalsorespondtobusdefaultvalueifnotinitialized": "0", "name": "Zusammengesetztes Datum Gelb", "outputtype": "write", "outputRBE": "true", "inputRBE": "false", "formatmultiplyvalue": 1, "formatnegativevalue": "leave", "formatdecimalsvalue": 999, "passthrough": "no", "sendMsgToKNXCode": "", "receiveMsgFromKNXCode": "", "listenallga": false, "x": 1230, "y": 100, "wires": [ [] ] }, { "id": "2861740aaba0f1c9", "type": "inject", "z": "de15a47dbea6c285", "name": "Manuelle Betätigung", "props": [ { "p": "payload" } ], "repeat": "", "crontab": "", "once": false, "onceDelay": 0.1, "topic": "", "payload": "27.01.25 (10d)", "payloadType": "str", "x": 890, "y": 20, "wires": [ [ "58a426e6d74f6020" ] ] }, { "id": "d22d4525c542b4d0", "type": "debug", "z": "de15a47dbea6c285", "name": "debug 1", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "true", "targetType": "full", "statusVal": "", "statusType": "auto", "x": 1140, "y": 180, "wires": [] }, { "id": "cccfb4eb94a27733", "type": "change", "z": "de15a47dbea6c285", "name": "", "rules": [ { "t": "set", "p": "topic", "pt": "msg", "to": "8/3/0", "tot": "str" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 850, "y": 100, "wires": [ [ "58a426e6d74f6020", "d22d4525c542b4d0" ] ] }, { "id": "5b74298a9d871858", "type": "function", "z": "de15a47dbea6c285", "name": "function 3", "func": "msg.payload = flow.get(\"GelbDatum\") + \" (\" + flow.get(\"GelbTage\") + \"d)\";\nreturn msg;", "outputs": 1, "timeout": 0, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 620, "y": 100, "wires": [ [ "cccfb4eb94a27733" ] ] }, { "id": "141076626e9e6cf8", "type": "inject", "z": "de15a47dbea6c285", "name": "Manuelle Betätigung", "props": [ { "p": "topic", "vt": "str" } ], "repeat": "", "crontab": "", "once": false, "onceDelay": 0.1, "topic": "", "x": 350, "y": 40, "wires": [ [ "5b74298a9d871858" ] ] }, { "id": "98b73fada3be00aa", "type": "knxUltimate-config", "host": "10.0.0.2", "port": "3671", "physAddr": "1.1.64", "hostProtocol": "TunnelUDP", "suppressACKRequest": false, "csv": "", "KNXEthInterface": "Auto", "KNXEthInterfaceManuallyInput": "", "stopETSImportIfNoDatapoint": "fake", "loglevel": "error", "name": "KNX Gateway", "localEchoInTunneling": true, "delaybetweentelegrams": "50", "ignoreTelegramsWithRepeatedFlag": false, "autoReconnect": "yes" } ] -
@peterfido jetzt :D
[ { "id": "90489d5f43af09b5", "type": "knxUltimate", "z": "de15a47dbea6c285", "server": "98b73fada3be00aa", "topic": "8/1/0", "setTopicType": "str", "outputtopic": "", "dpt": "16.001", "initialread": "1", "notifyreadrequest": false, "notifyresponse": true, "notifywrite": true, "notifyreadrequestalsorespondtobus": false, "notifyreadrequestalsorespondtobusdefaultvalueifnotinitialized": "0", "name": "Gelbe Tonne Datum", "outputtype": "write", "outputRBE": "true", "inputRBE": "false", "formatmultiplyvalue": 1, "formatnegativevalue": "leave", "formatdecimalsvalue": 999, "passthrough": "no", "sendMsgToKNXCode": "", "receiveMsgFromKNXCode": "", "listenallga": false, "x": 130, "y": 100, "wires": [ [ "02034f10ed38c317" ] ] }, { "id": "a2dbe9c2f590573a", "type": "knxUltimate", "z": "de15a47dbea6c285", "server": "98b73fada3be00aa", "topic": "8/2/0", "setTopicType": "str", "outputtopic": "", "dpt": "16.001", "initialread": "1", "notifyreadrequest": false, "notifyresponse": true, "notifywrite": true, "notifyreadrequestalsorespondtobus": false, "notifyreadrequestalsorespondtobusdefaultvalueifnotinitialized": "0", "name": "Gelbe Tonne Tage", "outputtype": "write", "outputRBE": "true", "inputRBE": "false", "formatmultiplyvalue": 1, "formatnegativevalue": "leave", "formatdecimalsvalue": 999, "passthrough": "no", "sendMsgToKNXCode": "", "receiveMsgFromKNXCode": "", "listenallga": false, "x": 130, "y": 160, "wires": [ [ "4ea9b5ca4631e2ce" ] ] }, { "id": "02034f10ed38c317", "type": "change", "z": "de15a47dbea6c285", "name": "", "rules": [ { "t": "set", "p": "topic", "pt": "msg", "to": "Datum", "tot": "str" }, { "t": "set", "p": "GelbDatum", "pt": "flow", "to": "payload", "tot": "msg" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 360, "y": 100, "wires": [ [ "5b74298a9d871858" ] ] }, { "id": "4ea9b5ca4631e2ce", "type": "change", "z": "de15a47dbea6c285", "name": "", "rules": [ { "t": "set", "p": "topic", "pt": "msg", "to": "Tage", "tot": "str" }, { "t": "set", "p": "GelbTage", "pt": "flow", "to": "payload", "tot": "msg" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 360, "y": 160, "wires": [ [ "5b74298a9d871858" ] ] }, { "id": "58a426e6d74f6020", "type": "knxUltimate", "z": "de15a47dbea6c285", "server": "98b73fada3be00aa", "topic": "8/3/0", "setTopicType": "str", "outputtopic": "", "dpt": "16.001", "initialread": 0, "notifyreadrequest": false, "notifyresponse": false, "notifywrite": true, "notifyreadrequestalsorespondtobus": false, "notifyreadrequestalsorespondtobusdefaultvalueifnotinitialized": "0", "name": "Zusammengesetztes Datum Gelb", "outputtype": "write", "outputRBE": "true", "inputRBE": "false", "formatmultiplyvalue": 1, "formatnegativevalue": "leave", "formatdecimalsvalue": 999, "passthrough": "no", "sendMsgToKNXCode": "", "receiveMsgFromKNXCode": "", "listenallga": false, "x": 1230, "y": 100, "wires": [ [] ] }, { "id": "2861740aaba0f1c9", "type": "inject", "z": "de15a47dbea6c285", "name": "Manuelle Betätigung", "props": [ { "p": "payload" } ], "repeat": "", "crontab": "", "once": false, "onceDelay": 0.1, "topic": "", "payload": "27.01.25 (10d)", "payloadType": "str", "x": 890, "y": 20, "wires": [ [ "58a426e6d74f6020" ] ] }, { "id": "d22d4525c542b4d0", "type": "debug", "z": "de15a47dbea6c285", "name": "debug 1", "active": true, "tosidebar": true, "console": false, "tostatus": false, "complete": "true", "targetType": "full", "statusVal": "", "statusType": "auto", "x": 1140, "y": 180, "wires": [] }, { "id": "cccfb4eb94a27733", "type": "change", "z": "de15a47dbea6c285", "name": "", "rules": [ { "t": "set", "p": "topic", "pt": "msg", "to": "8/3/0", "tot": "str" } ], "action": "", "property": "", "from": "", "to": "", "reg": false, "x": 850, "y": 100, "wires": [ [ "58a426e6d74f6020", "d22d4525c542b4d0" ] ] }, { "id": "5b74298a9d871858", "type": "function", "z": "de15a47dbea6c285", "name": "function 3", "func": "msg.payload = flow.get(\"GelbDatum\") + \" (\" + flow.get(\"GelbTage\") + \"d)\";\nreturn msg;", "outputs": 1, "timeout": 0, "noerr": 0, "initialize": "", "finalize": "", "libs": [], "x": 620, "y": 100, "wires": [ [ "cccfb4eb94a27733" ] ] }, { "id": "141076626e9e6cf8", "type": "inject", "z": "de15a47dbea6c285", "name": "Manuelle Betätigung", "props": [ { "p": "topic", "vt": "str" } ], "repeat": "", "crontab": "", "once": false, "onceDelay": 0.1, "topic": "", "x": 350, "y": 40, "wires": [ [ "5b74298a9d871858" ] ] }, { "id": "98b73fada3be00aa", "type": "knxUltimate-config", "host": "10.0.0.2", "port": "3671", "physAddr": "1.1.64", "hostProtocol": "TunnelUDP", "suppressACKRequest": false, "csv": "", "KNXEthInterface": "Auto", "KNXEthInterfaceManuallyInput": "", "stopETSImportIfNoDatapoint": "fake", "loglevel": "error", "name": "KNX Gateway", "localEchoInTunneling": true, "delaybetweentelegrams": "50", "ignoreTelegramsWithRepeatedFlag": false, "autoReconnect": "yes" } ]@ju_ probiere mal:
[ { "id": "5b74298a9d871858", "type": "function", "z": "e85adb77025ff03d", "name": "function 3", "func": "if(msg.topic==\"Datum\"){\n flow.set(\"GelbDatum\", msg.payload.slice(0,8));\n}\nif(msg.topic==\"Tage\"){\n var s = msg.payload;\n for(var i=1;i<s.length;i++){\n var x = s.slice(i,i+1);\n if(isNaN(x)){\n flow.set(\"GelbTage\", s.slice(0,i-1));\n break;\n }\n }\n}\nnode.status({ text: flow.get(\"GelbDatum\") + flow.get(\"GelbTage\") + \" \" + x });\n\nif(flow.get(\"GelbDatum\").length > 0 && flow.get(\"GelbTage\").length > 0) {\n msg.payload = flow.get(\"GelbDatum\").slice(0,8) + \" (\" + flow.get(\"GelbTage\") + \"d)\";\n node.status({text: msg.payload});\n return msg;\n}", "outputs": 1, "timeout": 0, "noerr": 0, "initialize": "// Der Code hier wird ausgeführt,\n// wenn der Node gestartet wird\nflow.set(\"GelbDatum\",\"\");\nflow.set(\"GelbTage\", \"\");\n", "finalize": "", "libs": [], "x": 620, "y": 200, "wires": [ [ "cccfb4eb94a27733" ] ] } ]Ich habe die Strings jetzt nach der erwarteten Länge abgeschnitten.
Im Prinzip nur die Function Node:
if(msg.topic=="Datum"){ flow.set("GelbDatum", msg.payload.slice(0,8)); } if(msg.topic=="Tage"){ var s = msg.payload; for(var i=1;i<s.length;i++){ var x = s.slice(i,i+1); if(isNaN(x)){ flow.set("GelbTage", s.slice(0,i-1)); break; } } } node.status({ text: flow.get("GelbDatum") + flow.get("GelbTage") + " " + x }); if(flow.get("GelbDatum").length > 0 && flow.get("GelbTage").length > 0) { msg.payload = flow.get("GelbDatum").slice(0,8) + " (" + flow.get("GelbTage") + "d)"; node.status({text: msg.payload}); return msg; }Ich habe es nochmal editiert.
Im Start-Bereich der Function die Variablen zurücksetzen. Sonst bleiben die alten Werte.
flow.set("GelbDatum",""); flow.set("GelbTage", ""); -
@ju_ probiere mal:
[ { "id": "5b74298a9d871858", "type": "function", "z": "e85adb77025ff03d", "name": "function 3", "func": "if(msg.topic==\"Datum\"){\n flow.set(\"GelbDatum\", msg.payload.slice(0,8));\n}\nif(msg.topic==\"Tage\"){\n var s = msg.payload;\n for(var i=1;i<s.length;i++){\n var x = s.slice(i,i+1);\n if(isNaN(x)){\n flow.set(\"GelbTage\", s.slice(0,i-1));\n break;\n }\n }\n}\nnode.status({ text: flow.get(\"GelbDatum\") + flow.get(\"GelbTage\") + \" \" + x });\n\nif(flow.get(\"GelbDatum\").length > 0 && flow.get(\"GelbTage\").length > 0) {\n msg.payload = flow.get(\"GelbDatum\").slice(0,8) + \" (\" + flow.get(\"GelbTage\") + \"d)\";\n node.status({text: msg.payload});\n return msg;\n}", "outputs": 1, "timeout": 0, "noerr": 0, "initialize": "// Der Code hier wird ausgeführt,\n// wenn der Node gestartet wird\nflow.set(\"GelbDatum\",\"\");\nflow.set(\"GelbTage\", \"\");\n", "finalize": "", "libs": [], "x": 620, "y": 200, "wires": [ [ "cccfb4eb94a27733" ] ] } ]Ich habe die Strings jetzt nach der erwarteten Länge abgeschnitten.
Im Prinzip nur die Function Node:
if(msg.topic=="Datum"){ flow.set("GelbDatum", msg.payload.slice(0,8)); } if(msg.topic=="Tage"){ var s = msg.payload; for(var i=1;i<s.length;i++){ var x = s.slice(i,i+1); if(isNaN(x)){ flow.set("GelbTage", s.slice(0,i-1)); break; } } } node.status({ text: flow.get("GelbDatum") + flow.get("GelbTage") + " " + x }); if(flow.get("GelbDatum").length > 0 && flow.get("GelbTage").length > 0) { msg.payload = flow.get("GelbDatum").slice(0,8) + " (" + flow.get("GelbTage") + "d)"; node.status({text: msg.payload}); return msg; }Ich habe es nochmal editiert.
Im Start-Bereich der Function die Variablen zurücksetzen. Sonst bleiben die alten Werte.
flow.set("GelbDatum",""); flow.set("GelbTage", "");@peterfido vielen Dank, probiere es gleich morgen früh aus! Melde mich. :)
-
@ju_ probiere mal:
[ { "id": "5b74298a9d871858", "type": "function", "z": "e85adb77025ff03d", "name": "function 3", "func": "if(msg.topic==\"Datum\"){\n flow.set(\"GelbDatum\", msg.payload.slice(0,8));\n}\nif(msg.topic==\"Tage\"){\n var s = msg.payload;\n for(var i=1;i<s.length;i++){\n var x = s.slice(i,i+1);\n if(isNaN(x)){\n flow.set(\"GelbTage\", s.slice(0,i-1));\n break;\n }\n }\n}\nnode.status({ text: flow.get(\"GelbDatum\") + flow.get(\"GelbTage\") + \" \" + x });\n\nif(flow.get(\"GelbDatum\").length > 0 && flow.get(\"GelbTage\").length > 0) {\n msg.payload = flow.get(\"GelbDatum\").slice(0,8) + \" (\" + flow.get(\"GelbTage\") + \"d)\";\n node.status({text: msg.payload});\n return msg;\n}", "outputs": 1, "timeout": 0, "noerr": 0, "initialize": "// Der Code hier wird ausgeführt,\n// wenn der Node gestartet wird\nflow.set(\"GelbDatum\",\"\");\nflow.set(\"GelbTage\", \"\");\n", "finalize": "", "libs": [], "x": 620, "y": 200, "wires": [ [ "cccfb4eb94a27733" ] ] } ]Ich habe die Strings jetzt nach der erwarteten Länge abgeschnitten.
Im Prinzip nur die Function Node:
if(msg.topic=="Datum"){ flow.set("GelbDatum", msg.payload.slice(0,8)); } if(msg.topic=="Tage"){ var s = msg.payload; for(var i=1;i<s.length;i++){ var x = s.slice(i,i+1); if(isNaN(x)){ flow.set("GelbTage", s.slice(0,i-1)); break; } } } node.status({ text: flow.get("GelbDatum") + flow.get("GelbTage") + " " + x }); if(flow.get("GelbDatum").length > 0 && flow.get("GelbTage").length > 0) { msg.payload = flow.get("GelbDatum").slice(0,8) + " (" + flow.get("GelbTage") + "d)"; node.status({text: msg.payload}); return msg; }Ich habe es nochmal editiert.
Im Start-Bereich der Function die Variablen zurücksetzen. Sonst bleiben die alten Werte.
flow.set("GelbDatum",""); flow.set("GelbTage", "");@peterfido Es funktioniert! Vielen lieben Dank für deine Hilfe und deine Gedult!! <3
-
@peterfido Es funktioniert! Vielen lieben Dank für deine Hilfe und deine Gedult!! <3
@ju_ Prima. Danke für die Rückmeldung.
Edit: In den beiden Change-Nodes kann die Regel, wo die Werte nach flow.Datum und flow.Tage geschrieben werden, raus. Da brauchts nur das Topic. Den Rest macht die Function.
Die nimmt vom Datum die ersten 8 Stellen und vom Tage sucht die sich nur die Ziffern am Anfang raus. Wenn beides gefunden wurde, wird es weitergeleitet.
