Dialogic Systems GmbH & Co. KG

Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Quellen: Packete > node-red-contrib-sonos-plus 2.1.7

Image Modified

Code Block
languagejs
titleSonos Türgong
[{"id":"2853f874.2afff8","type":"tab","label":"Sonos Türgong (sipphone)","disabled":false,"info":""},{"id":"d5fd717b.77dbe","type":"inject","z":"2853f874.2afff8","name":"Test stop","topic":"","payload":"<State>Connected</State>","payloadType":"str","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":100,"y":320,"wires":[["db55d813.08a9c8"]]},{"id":"390b75df.93a82a","type":"inject","z":"2853f874.2afff8","name":"Test start (play)","topic":"","payload":"<State>Incoming</State>","payloadType":"str","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":120,"y":280,"wires":[["db55d813.08a9c8"]]},{"id":"7a299d2e.45b654","type":"change","z":"2853f874.2afff8","name":"play_notification","rules":[{"t":"set","p":"payload","pt":"msg","to":"play_httpradio","tot":"str"},{"t":"set","p":"topic","pt":"msg","to":"http://192.168.1.168:1880/tuergong.wav","tot":"str"},{"t":"set","p":"volume","pt":"msg","to":"20","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":380,"y":360,"wires":[["8d5a0401.a439e8"]]},{"id":"a80dd3d6.b6278","type":"udp in","z":"2853f874.2afff8","name":"","iface":"","port":"55002","ipv":"udp4","multicast":"false","group":"","datatype":"utf8","x":100,"y":240,"wires":[["ae943bbb.e97f88","db55d813.08a9c8"]]},{"id":"db55d813.08a9c8","type":"function","z":"2853f874.2afff8","name":"Read SipphoneState","func":" const compareLastValue = (str) => {\n    let lastValue = context.get('lastValue');\n    if (lastValue == str) return true;\n\n    return false;\n};\n\n// prüfe ob string im payload vorhanden\nconst existStr = (str) => {\n    if (msg.payload.search(str) > -1) return true;\n    \n    return false;\n};\n\n// neue Messages erstellen\nconst setMessage = (str) => {\n    let newMsg = { payload: str };\n    return [newMsg,null]; // output 1\n};\n\n\nif (existStr(\"Incoming\") && !compareLastValue(\"Incoming\")) {\n    context.set('lastValue',\"Incoming\");\n    return [null,setMessage(\"play\")];\n}\n\nif (!existStr(\"Incoming\")){\n    // prüfe ob letzter Wert Incoming war\n    if (compareLastValue(\"Incoming\")) \n    {\n        context.set('lastValue',\"NotIncoming\");\n        return [setMessage(\"stop\"),null];\n    }\n} \nreturn;","outputs":2,"noerr":0,"x":400,"y":280,"wires":[["8d5a0401.a439e8"],["7a299d2e.45b654","2356b0ae.0b7ce"]]},{"id":"ae943bbb.e97f88","type":"udp out","z":"2853f874.2afff8","name":"","addr":"127.0.0.1","iface":"","port":"55001","ipv":"udp4","outport":"","base64":false,"multicast":"false","x":400,"y":240,"wires":[]},{"id":"2356b0ae.0b7ce","type":"trigger","z":"2853f874.2afff8","op1":"","op2":"stop","op1type":"nul","op2type":"str","duration":"10","extend":false,"units":"s","reset":"","bytopic":"all","name":"","x":370,"y":320,"wires":[["8d5a0401.a439e8"]]},{"id":"8d5a0401.a439e8","type":"function","z":"2853f874.2afff8","name":"compare_msg","func":"const compareLastValue = (str) => {\n    let lastValue = context.get('lastValue');\n    if (lastValue == str) return true;\n    context.set('lastValue',str);\n    return false;\n};\n\nif (compareLastValue(msg.payload)) return;\nif (msg.payload == \"stop\") return [null,msg]\n\nreturn msg;","outputs":2,"noerr":0,"x":680,"y":300,"wires":[["15172177.226ecf","b44957ff.cd3688"],["348a00d8.ef869"]]},{"id":"15172177.226ecf","type":"link out","z":"2853f874.2afff8","name":"","links":["3242ac1d.2bbb84","efe643f4.56ff1","f2bf8ae6.e8a868","71593740.d437f8"],"x":575,"y":240,"wires":[]},{"id":"3b26d347.9c4d4c","type":"http in","z":"2853f874.2afff8","name":"","url":"/tuergong.wav","method":"get","upload":false,"swaggerDoc":"","x":130,"y":80,"wires":[["24dc4e16.b67a12"]]},{"id":"24dc4e16.b67a12","type":"file in","z":"2853f874.2afff8","name":"","filename":"D:/Musik/tuergong2.wav","format":"","x":410,"y":80,"wires":[["d3c22398.9da05"]]},{"id":"d3c22398.9da05","type":"http response","z":"2853f874.2afff8","name":"http://192.168.1.168:1880/tuergong.wav","statusCode":"","headers":{"content-type":"audio/mpeg"},"x":760,"y":80,"wires":[]},{"id":"1984c5de.1c230a","type":"comment","z":"2853f874.2afff8","name":"Sonos lädt Musik nur von http (Node-Red umstellen)","info":"","x":210,"y":40,"wires":[]},{"id":"411ce117.73a8","type":"comment","z":"2853f874.2afff8","name":"sipphone Control","info":"","x":100,"y":180,"wires":[]},{"id":"348a00d8.ef869","type":"link out","z":"2853f874.2afff8","name":"wiederherstellen","links":["32cd99f1.965256","9e66d9d8.444668","cbf63868.cbb708","a7d3439d.3d066"],"x":615,"y":340,"wires":[]},{"id":"fb1a331d.1eb5f","type":"sonos-manage-radio","z":"2853f874.2afff8","confignode":"8f2bef6d.a6b2f","name":"","x":920,"y":240,"wires":[["b093fefe.56c19"]]},{"id":"b093fefe.56c19","type":"debug","z":"2853f874.2afff8","name":"httpPlay","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","x":1200,"y":300,"wires":[]},{"id":"b44957ff.cd3688","type":"delay","z":"2853f874.2afff8","name":"","pauseType":"delay","timeout":"1","timeoutUnits":"seconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"x":700,"y":240,"wires":[["fb1a331d.1eb5f","512caacf.6f2534","c3c2c146.a3be6"]]},{"id":"8b3eb95e.d30638","type":"sonos-manage-radio","z":"2853f874.2afff8","confignode":"5a9ae98b.4e1608","name":"","x":920,"y":340,"wires":[["b093fefe.56c19"]]},{"id":"8a9b467c.90c0f8","type":"sonos-manage-radio","z":"2853f874.2afff8","confignode":"79184be3.d683a4","name":"","x":920,"y":440,"wires":[["b093fefe.56c19"]]},{"id":"a1750354.c9755","type":"sonos-get-status","z":"2853f874.2afff8","confignode":"8f2bef6d.a6b2f","name":"","x":370,"y":600,"wires":[["f2b6197e.305058"]]},{"id":"8be3c77a.6608e8","type":"debug","z":"2853f874.2afff8","name":"Get Status","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","x":770,"y":600,"wires":[]},{"id":"c6447bd9.df10b8","type":"inject","z":"2853f874.2afff8","name":"speichern","topic":"","payload":"get_basics","payloadType":"str","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":100,"y":600,"wires":[["378a4134.a3b55e"]]},{"id":"f2b6197e.305058","type":"function","z":"2853f874.2afff8","name":"Set mediainfo","func":"let lastSonosValue = flow.get('lastSonosValue');\nlastSonosValue.queueActivated = msg.queueActivated;\n\nif (!msg.queueActivated){\n    lastSonosValue.radioId = msg.radioId;\n     //flow.set('lastSonosValue',sonosValue);\n    return [lastSonosValue,null];\n}\nmsg.payload = \"get_songinfo\"\nreturn [null,msg];","outputs":2,"noerr":0,"x":540,"y":600,"wires":[["8be3c77a.6608e8"],["ec311343.138e1"]]},{"id":"402deaea.7ef624","type":"function","z":"2853f874.2afff8","name":"GetData","func":"let lastSonosValue = flow.get('lastSonosValue');\nif (lastSonosValue == null) return;\nif (!lastSonosValue.queueActivated)\n{\n    msg.payload = lastSonosValue.radio\n    msg.topic = lastSonosValue.radioId\n    msg.volume = lastSonosValue.volume\n    return [msg,null]\n}\nmsg.payload = \"play_song\";//\"activate_queue\";\nmsg.topic = lastSonosValue.queuePosition//lastSonosValue.volume;\nreturn [null,msg]","outputs":2,"noerr":0,"x":160,"y":800,"wires":[["c91a6447.580578"],["1bfc759a.45c48a"]]},{"id":"aaa77430.cf1678","type":"inject","z":"2853f874.2afff8","name":"setzen","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":90,"y":840,"wires":[["402deaea.7ef624"]]},{"id":"c91a6447.580578","type":"sonos-manage-radio","z":"2853f874.2afff8","confignode":"8f2bef6d.a6b2f","name":"","x":380,"y":760,"wires":[["2228c46d.45a7bc"]]},{"id":"1e569afc.b92025","type":"debug","z":"2853f874.2afff8","name":"Playlist","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","x":1060,"y":900,"wires":[]},{"id":"1bfc759a.45c48a","type":"sonos-manage-queue","z":"2853f874.2afff8","confignode":"8f2bef6d.a6b2f","name":"","x":380,"y":840,"wires":[["f73aa8ab.11fd78"]]},{"id":"f73aa8ab.11fd78","type":"change","z":"2853f874.2afff8","name":"set seek","rules":[{"t":"set","p":"payload","pt":"msg","to":"seek","tot":"str"},{"t":"set","p":"topic","pt":"msg","to":"lastSonosValue.position","tot":"flow"}],"action":"","property":"","from":"","to":"","reg":false,"x":560,"y":840,"wires":[["5d5e06b3.e15c58"]]},{"id":"5d5e06b3.e15c58","type":"sonos-manage-queue","z":"2853f874.2afff8","confignode":"8f2bef6d.a6b2f","name":"","x":740,"y":840,"wires":[["a812e798.32a078"]]},{"id":"6e59b589.0c43ac","type":"comment","z":"2853f874.2afff8","name":"Setzen","info":"","x":70,"y":720,"wires":[]},{"id":"9bbb2751.dd60b8","type":"function","z":"2853f874.2afff8","name":"Set basics","func":"    let sonosValue = { \n        //get_basic\n        state: msg.state,\n        volume: msg.volume,\n        muted: msg.muted,\n        \n        //get_mediainfo\n        queueActivated: false,\n        radio: \"play_tunein\",\n        radioId: \"\",\n        \n        //get_songinfo\n        uri: \"\",\n        queuePosition: \"\",\n        position: \"\",\n    };\n   flow.set('lastSonosValue',sonosValue);\nmsg.payload = \"get_mediainfo\";\nreturn msg;","outputs":1,"noerr":0,"x":530,"y":560,"wires":[["a1750354.c9755"]]},{"id":"378a4134.a3b55e","type":"sonos-get-status","z":"2853f874.2afff8","confignode":"8f2bef6d.a6b2f","name":"","x":370,"y":560,"wires":[["9bbb2751.dd60b8"]]},{"id":"7ac4ab5c.63fe04","type":"function","z":"2853f874.2afff8","name":"Set songinfo","func":"let lastSonosValue = flow.get('lastSonosValue');\nlastSonosValue.queueActivated = msg.queueActivated;\nlastSonosValue.uri = msg.payload.uri;\nlastSonosValue.queuePosition = msg.payload.queuePosition;\nvar date = new Date(null);\ndate.setSeconds(msg.payload.position); // specify value for SECONDS here\nlastSonosValue.position =  date.toISOString().substr(11, 8);\nmsg.payload.position;\nreturn lastSonosValue;","outputs":1,"noerr":0,"x":530,"y":640,"wires":[["8be3c77a.6608e8"]]},{"id":"ec311343.138e1","type":"sonos-get-status","z":"2853f874.2afff8","confignode":"8f2bef6d.a6b2f","name":"","x":370,"y":640,"wires":[["7ac4ab5c.63fe04"]]},{"id":"71ddb9ce.deb768","type":"comment","z":"2853f874.2afff8","name":"Speichern","info":"","x":80,"y":480,"wires":[]},{"id":"65c69ff0.ef308","type":"sonos-control-player","z":"2853f874.2afff8","confignode":"8f2bef6d.a6b2f","name":"","x":740,"y":760,"wires":[["2635911.6f83e6e"]]},{"id":"2228c46d.45a7bc","type":"function","z":"2853f874.2afff8","name":"Set State","func":"let lastSonosValue = flow.get('lastSonosValue');\n//play/stop/pause/mute/ummute/\nif (lastSonosValue.state == \"stopped\") msg.payload = \"stop\";\nif (lastSonosValue.state == \"playing\") msg.payload = \"play\";\nif (lastSonosValue.state == \"paused\") msg.payload = \"pause\";\n\nmsg.topic = null;\nreturn msg;","outputs":1,"noerr":0,"x":560,"y":760,"wires":[["65c69ff0.ef308"]]},{"id":"a8732bdf.923448","type":"debug","z":"2853f874.2afff8","name":"Radio","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","x":950,"y":800,"wires":[]},{"id":"2635911.6f83e6e","type":"function","z":"2853f874.2afff8","name":"Set mute / unmute","func":"let lastSonosValue = flow.get('lastSonosValue');\n\n//play/stop/pause/mute/ummute/\nif (lastSonosValue.muted) msg.payload = \"mute\";\nif (!lastSonosValue.muted) msg.payload = \"unmute\";\n\nmsg.topic = null;\nreturn msg;","outputs":1,"noerr":0,"x":550,"y":800,"wires":[["2cd4dd0e.5d20b2"]]},{"id":"2cd4dd0e.5d20b2","type":"sonos-control-player","z":"2853f874.2afff8","confignode":"8f2bef6d.a6b2f","name":"","x":740,"y":800,"wires":[["a8732bdf.923448"]]},{"id":"4f2b52c3.ea57bc","type":"sonos-control-player","z":"2853f874.2afff8","confignode":"8f2bef6d.a6b2f","name":"","x":520,"y":900,"wires":[["b2783aaa.d18058"]]},{"id":"a812e798.32a078","type":"function","z":"2853f874.2afff8","name":"Set State","func":"let lastSonosValue = flow.get('lastSonosValue');\n//play/stop/pause/mute/ummute/\nif (lastSonosValue.state == \"stopped\") msg.payload = \"stop\";\nif (lastSonosValue.state == \"playing\") msg.payload = \"play\";\nif (lastSonosValue.state == \"paused\") msg.payload = \"pause\";\n\nmsg.topic = null;\nreturn msg;","outputs":1,"noerr":0,"x":360,"y":900,"wires":[["4f2b52c3.ea57bc"]]},{"id":"b2783aaa.d18058","type":"function","z":"2853f874.2afff8","name":"Set mute / unmute","func":"let lastSonosValue = flow.get('lastSonosValue');\n\n//play/stop/pause/mute/ummute/\nif (lastSonosValue.muted) msg.payload = \"mute\";\nif (!lastSonosValue.muted) msg.payload = \"unmute\";\n\nmsg.topic = null;\nreturn msg;","outputs":1,"noerr":0,"x":710,"y":900,"wires":[["c983bba8.095348"]]},{"id":"c983bba8.095348","type":"sonos-control-player","z":"2853f874.2afff8","confignode":"8f2bef6d.a6b2f","name":"","x":900,"y":900,"wires":[["1e569afc.b92025"]]},{"id":"18f82cc6.ee27d3","type":"change","z":"2853f874.2afff8","name":"get_basics","rules":[{"t":"set","p":"payload","pt":"msg","to":"get_basics","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":150,"y":560,"wires":[["378a4134.a3b55e"]]},{"id":"71593740.d437f8","type":"link in","z":"2853f874.2afff8","name":"","links":["a10cee98.84604","15172177.226ecf"],"x":35,"y":560,"wires":[["18f82cc6.ee27d3"]]},{"id":"a7d3439d.3d066","type":"link in","z":"2853f874.2afff8","name":"","links":["35d572a1.b61a8e","348a00d8.ef869"],"x":35,"y":800,"wires":[["402deaea.7ef624"]]},{"id":"1d3d7d3a.a6c903","type":"comment","z":"2853f874.2afff8","name":"Speichern uns Setzen weiterer Zonen in eigen Flow","info":"","x":210,"y":440,"wires":[]},{"id":"c3c2c146.a3be6","type":"delay","z":"2853f874.2afff8","name":"","pauseType":"delay","timeout":"100","timeoutUnits":"milliseconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"x":940,"y":400,"wires":[["8a9b467c.90c0f8"]]},{"id":"512caacf.6f2534","type":"delay","z":"2853f874.2afff8","name":"","pauseType":"delay","timeout":"100","timeoutUnits":"milliseconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"x":940,"y":300,"wires":[["8b3eb95e.d30638"]]},{"id":"8f2bef6d.a6b2f","type":"sonos-config","z":"","name":"Ausstellung","serialnum":"00-0E-58-7C-35-64:8","ipaddress":"192.168.1.155"},{"id":"5a9ae98b.4e1608","type":"sonos-config","z":"","name":"Bad OG","serialnum":"00-0E-58-7C-34-6C:F","ipaddress":"192.168.1.88"},{"id":"79184be3.d683a4","type":"sonos-config","z":"","name":"Sommerhaus","serialnum":"00-0E-58-A1-7E-14:4","ipaddress":"192.168.1.97"}]

...

Code Block
languagejs
titleCamviewer Control
[{"id":"969dec0f.172cf","type":"tab","label":"Camviewer Steuerung","disabled":false,"info":""},{"id":"5c8acf17.48369","type":"udp out","z":"969dec0f.172cf","name":"zu Camviewer Local","addr":"127.0.0.1","iface":"","port":"55001","ipv":"udp4","outport":"","base64":false,"multicast":"false","x":740,"y":240,"wires":[]},{"id":"f521db1c.c4f638","type":"ui_button","z":"969dec0f.172cf","name":"","group":"6301312.18ee6d","order":0,"width":0,"height":0,"passthru":false,"label":"Verstecken","tooltip":"","color":"","bgcolor":"","icon":"","payload":"hide","payloadType":"str","topic":"","x":170,"y":20,"wires":[["5c8acf17.48369"]]},{"id":"6960af82.2e7e1","type":"ui_button","z":"969dec0f.172cf","name":"","group":"6301312.18ee6d","order":0,"width":0,"height":0,"passthru":false,"label":"Anzeigen","tooltip":"","color":"","bgcolor":"","icon":"","payload":"show","payloadType":"str","topic":"","x":160,"y":60,"wires":[["5c8acf17.48369"]]},{"id":"7deaa5c3.d9541c","type":"ui_button","z":"969dec0f.172cf","name":"","group":"6301312.18ee6d","order":0,"width":0,"height":0,"passthru":false,"label":"Beenden","tooltip":"","color":"","bgcolor":"","icon":"","payload":"exit","payloadType":"str","topic":"","x":160,"y":100,"wires":[["5c8acf17.48369"]]},{"id":"5045a28a.4eff7c","type":"ui_numeric","z":"969dec0f.172cf","name":"","label":"Kamera Nummer","tooltip":"","group":"928d21.7de242e","order":1,"width":0,"height":0,"wrap":false,"passthru":true,"topic":"","format":"{{value}}","min":0,"max":10,"step":1,"x":190,"y":240,"wires":[["c0ade873.3a7b38"]]},{"id":"1169ba7a.7bee26","type":"ui_button","z":"969dec0f.172cf","name":"","group":"f02ee1ed.28ca3","order":0,"width":0,"height":0,"passthru":false,"label":"Monitor An","tooltip":"","color":"","bgcolor":"","icon":"","payload":"monitoron","payloadType":"str","topic":"","x":170,"y":300,"wires":[["5c8acf17.48369"]]},{"id":"2deb9eda.6161d2","type":"ui_button","z":"969dec0f.172cf","name":"","group":"f02ee1ed.28ca3","order":0,"width":0,"height":0,"passthru":false,"label":"Monitor Aus","tooltip":"","color":"","bgcolor":"","icon":"","payload":"monitoroff","payloadType":"str","topic":"","x":170,"y":340,"wires":[["5c8acf17.48369"]]},{"id":"4d1afee3.e46d1","type":"ui_button","z":"969dec0f.172cf","name":"","group":"928d21.7de242e","order":0,"width":0,"height":0,"passthru":false,"label":"Alle Anzeigen","tooltip":"","color":"","bgcolor":"","icon":"","payload":"showall","payloadType":"str","topic":"","x":180,"y":200,"wires":[["5c8acf17.48369"]]},{"id":"d527b96b.d8aab8","type":"ui_button","z":"969dec0f.172cf","name":"","group":"f02ee1ed.28ca3","order":0,"width":0,"height":0,"passthru":false,"label":"PC Ausschalten","tooltip":"","color":"","bgcolor":"","icon":"","payload":"shutdownpc","payloadType":"str","topic":"","x":180,"y":380,"wires":[["5c8acf17.48369"]]},{"id":"2cf7b96a.686dd6","type":"ui_button","z":"969dec0f.172cf","name":"","group":"f02ee1ed.28ca3","order":0,"width":0,"height":0,"passthru":false,"label":"PC Neustarten","tooltip":"","color":"","bgcolor":"","icon":"","payload":"restartpc","payloadType":"str","topic":"","x":180,"y":420,"wires":[["5c8acf17.48369"]]},{"id":"c0ade873.3a7b38","type":"function","z":"969dec0f.172cf","name":"switchcam:","func":"msg.payload = \"switchcam:\" + msg.payload;\nreturn msg;","outputs":1,"noerr":0,"x":390,"y":240,"wires":[["5c8acf17.48369"]]},{"id":"6301312.18ee6d","type":"ui_group","z":"","name":"Fenster","tab":"27f625af.6c6bda","order":1,"disp":true,"width":"6","collapse":false},{"id":"928d21.7de242e","type":"ui_group","z":"","name":"Kamera","tab":"27f625af.6c6bda","order":2,"disp":true,"width":"6","collapse":false},{"id":"f02ee1ed.28ca3","type":"ui_group","z":"","name":"PC Steuerung","tab":"27f625af.6c6bda","order":3,"disp":true,"width":"6","collapse":false},{"id":"27f625af.6c6bda","type":"ui_tab","z":"","name":"Camviewer","icon":"dashboard","order":1,"disabled":false,"hidden":false}]

Ping 


Image Added

Code Block
languagejs
titlePing
[{"id":"eafb89f9.ba8cc8","type":"tab","label":"Netzwerk Ping","disabled":false,"info":""},{"id":"77de3a65.c75074","type":"exec","z":"eafb89f9.ba8cc8","command":"c:\\windows\\system32\\ping.exe","addpay":true,"append":"","useSpawn":"false","timer":"","oldrc":false,"name":"","x":450,"y":100,"wires":[["e1a35355.0d56b","1a8f3e36.d8bdc2"],[],[]]},{"id":"9f59d398.4602e","type":"inject","z":"eafb89f9.ba8cc8","name":"","topic":"","payload":"192.168.1.56","payloadType":"str","repeat":"60","crontab":"","once":true,"onceDelay":"90","x":180,"y":120,"wires":[["77de3a65.c75074"]]},{"id":"42d4fb55.63f884","type":"debug","z":"eafb89f9.ba8cc8","name":"ok","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","x":890,"y":160,"wires":[]},{"id":"d76ce426.cee708","type":"debug","z":"eafb89f9.ba8cc8","name":"nicht gefunden","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","x":920,"y":120,"wires":[]},{"id":"ff8c4364.d5d9f","type":"file","z":"eafb89f9.ba8cc8","name":"","filename":"d:\\pingLog.txt","appendNewline":true,"createDir":true,"overwriteFile":"false","encoding":"none","x":920,"y":80,"wires":[["1a8f3e36.d8bdc2"]]},{"id":"e1a35355.0d56b","type":"function","z":"eafb89f9.ba8cc8","name":"Check Result","func":"let d = new Date();\nlet dateString = d.toLocaleDateString() + \", \" + d.toLocaleTimeString();\nlet split = msg.payload.split(\"with\",1);\nif (msg.payload.indexOf(\"unreachable\") > -1){\n    msg.payload = dateString + split + \" not found\";\n    return [msg,null];\n};\nmsg.payload = dateString + split + \" not found\";\nreturn [null,msg];","outputs":2,"noerr":0,"x":710,"y":100,"wires":[["d76ce426.cee708","ff8c4364.d5d9f"],["42d4fb55.63f884"]]},{"id":"1a8f3e36.d8bdc2","type":"debug","z":"eafb89f9.ba8cc8","name":"log","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","x":930,"y":40,"wires":[]},{"id":"dbe984bf.1c1668","type":"inject","z":"eafb89f9.ba8cc8","name":"","topic":"","payload":"192.168.1.55","payloadType":"str","repeat":"60","crontab":"","once":true,"onceDelay":"60","x":180,"y":80,"wires":[["77de3a65.c75074"]]}]


Abspielen von SoundFiles über Knx

Installation:

node-red-contrib-knx-ultimate

node-red-contrib-filesystem


Image Added


Code Block
languagejs
titleplay Soundfile
[{"id":"b1c625f2403bc611","type":"tab","label":"Flow 3","disabled":false,"info":"","env":[]},{"id":"0515ee65edcc16bc","type":"knxUltimate","z":"b1c625f2403bc611","server":"27611a104f249f78","topic":"5/0/1","outputtopic":"","dpt":"5.001","initialread":0,"notifyreadrequest":false,"notifyresponse":false,"notifywrite":true,"notifyreadrequestalsorespondtobus":false,"notifyreadrequestalsorespondtobusdefaultvalueifnotinitialized":"0","listenallga":false,"name":"Volume 5/0/1","outputtype":"write","outputRBE":true,"inputRBE":false,"formatmultiplyvalue":1,"formatnegativevalue":"leave","formatdecimalsvalue":999,"passthrough":"no","x":150,"y":80,"wires":[["2a13c1ddebbc3566"]]},{"id":"dd55ade03233be28","type":"knxUltimate","z":"b1c625f2403bc611","server":"27611a104f249f78","topic":"5/0/2","outputtopic":"","dpt":"5.010","initialread":0,"notifyreadrequest":false,"notifyresponse":false,"notifywrite":true,"notifyreadrequestalsorespondtobus":false,"notifyreadrequestalsorespondtobusdefaultvalueifnotinitialized":"0","listenallga":false,"name":"SoundFile 1 - X (0 = Stop) 5/0/2","outputtype":"write","outputRBE":true,"inputRBE":false,"formatmultiplyvalue":1,"formatnegativevalue":"leave","formatdecimalsvalue":999,"passthrough":"no","x":210,"y":140,"wires":[["9398b11d98a7dc0d"]]},{"id":"9398b11d98a7dc0d","type":"function","z":"b1c625f2403bc611","name":"Set pattern","func":"msg.payload = msg.payload + \"_*.*\";\nmsg.path = \"c:/audio2/\"\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":490,"y":140,"wires":[["e8ceb930a6e6f8e0","535c2b0a1fbaee2a"]]},{"id":"2a13c1ddebbc3566","type":"audio","z":"b1c625f2403bc611","topic":"","command":"setVolume","path":"","playTime":0,"volume":0,"blockEvent":true,"muteAnotherApps":false,"name":"Volume","x":1060,"y":80,"wires":[["3c92f6707b2b36a7"]]},{"id":"c559abbd6621be04","type":"function","z":"b1c625f2403bc611","d":true,"name":"File Auswahl ","func":"switch (msg.payload) {\n    case 0: msg.payload = \"stop\"; break;\n    case 1: msg.payload = \"play:c:/audio/alarm.mp3\"; break;\n    case 2: msg.payload = \"play:c:/audio/Dreiklang.wav\"; break;\n    case 3: msg.payload = \"play:c:/audio/gartentor.wav\"; break;\n    case 4: msg.payload = \"play:c:/audio/haustuere.wav\"; break;\n    case 5: msg.payload = \"play:c:/audio/InternAlarm.wav\"; break;  \n    case 6: msg.payload = \"play:c:/audio/InternAlarm.wav\"; break;  \n    case 7: msg.payload = \"play:c:/audio/InternAlarm.wav\"; break;  \n    case 8: msg.payload = \"play:c:/audio/InternAlarm.wav\"; break;  \n    case 9: msg.payload = \"play:c:/audio/InternAlarm.wav\"; break;  \n    case 10: msg.payload = \"play:c:/audio/InternAlarm.wav\"; break;   \n    default:     \n} \nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":870,"y":280,"wires":[[]]},{"id":"68afaf5e81f031ec","type":"function","z":"b1c625f2403bc611","name":"Set sound File","func":"if (msg.list.length === 0) {\n    msg.payload = \"stop\";\n    return msg;\n};\n\nmsg.payload = \"play:\" + msg.path + msg.list[0]; \nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[],"x":880,"y":140,"wires":[["f066ead112803729","f45295d16205816a"]]},{"id":"3c92f6707b2b36a7","type":"debug","z":"b1c625f2403bc611","name":"debug 7","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":1260,"y":100,"wires":[]},{"id":"f066ead112803729","type":"audio","z":"b1c625f2403bc611","topic":"","command":"cmdInput","path":"","playTime":0,"volume":0,"blockEvent":true,"muteAnotherApps":false,"name":"über Input","x":1060,"y":140,"wires":[["3c92f6707b2b36a7"]]},{"id":"f45295d16205816a","type":"debug","z":"b1c625f2403bc611","name":"debug 8","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":880,"y":180,"wires":[]},{"id":"e8ceb930a6e6f8e0","type":"debug","z":"b1c625f2403bc611","name":"debug 10","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":480,"y":180,"wires":[]},{"id":"535c2b0a1fbaee2a","type":"fs-list","z":"b1c625f2403bc611","name":"","path":"path","pathType":"msg","pattern":"payload","patternType":"msg","filter":"files","recursive":false,"follow":false,"property":"list","propertyType":"msg","x":680,"y":140,"wires":[["68afaf5e81f031ec"]]},{"id":"27611a104f249f78","type":"knxUltimate-config","host":"224.0.23.12","port":"3671","physAddr":"15.15.22","hostProtocol":"Multicast","suppressACKRequest":false,"csv":"","KNXEthInterface":"Auto","KNXEthInterfaceManuallyInput":"","stopETSImportIfNoDatapoint":"stop","loglevel":"error","name":"KNX Gateway","localEchoInTunneling":true,"delaybetweentelegrams":"50","delaybetweentelegramsfurtherdelayREAD":"1","ignoreTelegramsWithRepeatedFlag":false,"autoReconnect":true}]


Image Added


node-red-contrib-filesystem wird hier nicht benötigt

Code Block
languagejs
titleplay Soundfile (ab nodeRed 3.0)
[{"id":"0515ee65edcc16bc","type":"knxUltimate","z":"b1c625f2403bc611","server":"27611a104f249f78","topic":"5/0/1","outputtopic":"","dpt":"5.001","initialread":0,"notifyreadrequest":false,"notifyresponse":false,"notifywrite":true,"notifyreadrequestalsorespondtobus":false,"notifyreadrequestalsorespondtobusdefaultvalueifnotinitialized":"0","listenallga":false,"name":"Volume 5/0/1","outputtype":"write","outputRBE":true,"inputRBE":false,"formatmultiplyvalue":1,"formatnegativevalue":"leave","formatdecimalsvalue":999,"passthrough":"no","x":150,"y":80,"wires":[["2a13c1ddebbc3566"]]},{"id":"2a13c1ddebbc3566","type":"audio","z":"b1c625f2403bc611","topic":"","command":"setVolume","path":"","playTime":0,"volume":0,"blockEvent":true,"muteAnotherApps":false,"name":"Volume","x":640,"y":80,"wires":[["3c92f6707b2b36a7"]]},{"id":"3c92f6707b2b36a7","type":"debug","z":"b1c625f2403bc611","name":"debug 7","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":820,"y":140,"wires":[]},{"id":"b91a3693f9e64f3c","type":"function","z":"b1c625f2403bc611","name":"Set pattern","func":"const directoryPath = 'c:/audio2/'; // Ersetzen Sie dies durch den Pfad zu Ihrem Verzeichnis\nconst cmd = msg.payload\n\nfs.readdir(directoryPath, (err, files) => {\n if (err) {\n node.error('Fehler beim Lesen des Verzeichnisses:', err);\n return;\n }\n\n // Filtert Dateien, die mit einer ein- oder zweistelligen Zahl beginnen\n const filteredFiles = files.filter(filename => new RegExp(`^${cmd}_`).test(filename));\n\n if (filteredFiles.length > 0) {\n // Erstellt den vollständigen Pfad für die gefilterten Dateien\n const filePaths = filteredFiles.map(filename => path.join(directoryPath, filename));\n\n msg.payload = \"play:\" + filePaths[0];\n node.send(msg);\n return;\n }\n msg.payload = \"stop\";\n node.send(msg);\n});","outputs":1,"noerr":0,"initialize":"","finalize":"","libs":[{"var":"fs","module":"fs"},{"var":"path","module":"path"}],"x":470,"y":140,"wires":[["136409c862978c22"]]},{"id":"2fd91e9d0a3e4bb3","type":"knxUltimate","z":"b1c625f2403bc611","server":"27611a104f249f78","topic":"5/0/2","outputtopic":"","dpt":"5.010","initialread":0,"notifyreadrequest":false,"notifyresponse":false,"notifywrite":true,"notifyreadrequestalsorespondtobus":false,"notifyreadrequestalsorespondtobusdefaultvalueifnotinitialized":"0","listenallga":false,"name":"SoundFile 1 - X (0 = Stop) 5/0/2","outputtype":"write","outputRBE":true,"inputRBE":false,"formatmultiplyvalue":1,"formatnegativevalue":"leave","formatdecimalsvalue":999,"passthrough":"no","x":210,"y":140,"wires":[["b91a3693f9e64f3c"]]},{"id":"136409c862978c22","type":"audio","z":"b1c625f2403bc611","topic":"","command":"cmdInput","path":"","playTime":0,"volume":0,"blockEvent":true,"muteAnotherApps":false,"name":"über Input","x":640,"y":140,"wires":[["3c92f6707b2b36a7"]]},{"id":"27611a104f249f78","type":"knxUltimate-config","host":"224.0.23.12","port":"3671","physAddr":"15.15.22","hostProtocol":"Multicast","suppressACKRequest":false,"csv":"","KNXEthInterface":"Auto","KNXEthInterfaceManuallyInput":"","stopETSImportIfNoDatapoint":"stop","loglevel":"error","name":"KNX Gateway","localEchoInTunneling":true,"delaybetweentelegrams":"50","delaybetweentelegramsfurtherdelayREAD":"1","ignoreTelegramsWithRepeatedFlag":false,"autoReconnect":true}]

Image Added