DWD Unwetterwarnung Windstärke > 3 in NM
Alarm wenn Windstärke in NM > Stufe 3 (von 5)
Zusätzlich alle Windstärken in Text file
Alarm auf Pushover und MQTT Push Client App senden
[{"id":"6123505b.6c0b18","type":"tab","label":"DWD Unwetterwarnung NM","disabled":false,"info":"Weather Infos from DWD service (GER)\nWeather station +\nWind classification (0...5)\nNote: This flow is for non-commercial projects only- experimental."},{"id":"86040977.82c1e8","type":"inject","z":"6123505b.6c0b18","name":"Taster 2","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"900","crontab":"","once":true,"onceDelay":0.1,"topic":"Message","payload":"true","payloadType":"bool","x":100,"y":40,"wires":[["29ae058d.704a42","82b22837.245e28"]]},{"id":"29ae058d.704a42","type":"dwdweather","z":"6123505b.6c0b18","name":"Wetter Station Neumarkt i.d.OPf.","mosmixStation":"P348","lookAheadHours":"0","additionalFields":"","repeat":"0","x":500,"y":40,"wires":[["5ee6aafe.af9274"]]},{"id":"5ee6aafe.af9274","type":"debug","z":"6123505b.6c0b18","name":"Station 1","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":820,"y":40,"wires":[]},{"id":"6d5cd567.52dafc","type":"debug","z":"6123505b.6c0b18","name":"Value changes output","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":740,"y":80,"wires":[]},{"id":"8c785fbd.0dcaa","type":"rbe","z":"6123505b.6c0b18","name":"Value changes only","func":"rbei","gap":"","start":"","inout":"out","property":"payload","x":510,"y":240,"wires":[["6d5cd567.52dafc","822ec4a0.4e80b8"]]},{"id":"44fa29f6.ec5418","type":"debug","z":"6123505b.6c0b18","name":"output extract node 0...5","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":890,"y":480,"wires":[]},{"id":"955c3765.027e1","type":"switch","z":"6123505b.6c0b18","d":true,"name":"Filterout 'false'","property":"payload","propertyType":"jsonata","rules":[{"t":"eq","v":"true","vt":"str"}],"checkall":"true","repair":false,"outputs":1,"x":160,"y":240,"wires":[[]]},{"id":"4713d603.9eed8","type":"function","z":"6123505b.6c0b18","name":"Extract Windstärke Level","func":"if (msg.payload === 0) {\n msg.payload = \"Windstill\"\n return [ msg, null, null, null, null, null ];\n} else if (msg.payload === 1) {\n msg.payload = \"leichter Wind\"\n return [ null, msg, null, null, null, null ];\n} else if (msg.payload === 2) {\n msg.payload = \"mäßiger Wind\"\n return [null, null, msg, null, null, null ];\n} else if (msg.payload === 3) {\n msg.payload = \"böiger Wind\"\n return [null, null, null, msg, null, null ];\n} else if (msg.payload === 4) {\n msg.payload = \"Stürmisch - Raffstore hochfahren\"\n return [null, null, null, null, msg, null ];\n} else if (msg.payload === 5) {\n msg.payload = \"Unwetterwarnung - Raffstore hochfahren\"\n return [null, null, null, null, null, msg];\n};","outputs":6,"noerr":0,"initialize":"","finalize":"","x":390,"y":520,"wires":[["44fa29f6.ec5418","25b62b1d.433aa4"],["44fa29f6.ec5418","25b62b1d.433aa4"],["44fa29f6.ec5418","25b62b1d.433aa4"],["44fa29f6.ec5418","25b62b1d.433aa4"],["44fa29f6.ec5418","25b62b1d.433aa4"],["44fa29f6.ec5418","25b62b1d.433aa4"]]},{"id":"63d79278.50e6ec","type":"comment","z":"6123505b.6c0b18","name":"Alle Wetternachrichten gehen als MQTT Messagel (nur bei Wechsel der Conditions)","info":"","x":750,"y":340,"wires":[]},{"id":"8b634682.b96838","type":"comment","z":"6123505b.6c0b18","name":"Stürmisch und Unwetterwarnung geht zusätzlich als Pushover Message raus","info":"","x":730,"y":400,"wires":[]},{"id":"82b22837.245e28","type":"dwd","z":"6123505b.6c0b18","region":"109373000 Kreis Neumarkt i.d.OPf. (NM)","name":"Wind Intensity Level ","gewitter":true,"sturm":true,"regen":true,"schnee":true,"nebel":true,"frost":true,"glatteis":true,"tauwetter":false,"hitze":true,"uv":true,"kueste":false,"binnensee":false,"x":300,"y":140,"wires":[["8c785fbd.0dcaa"]]},{"id":"25b62b1d.433aa4","type":"function","z":"6123505b.6c0b18","name":"Datum in ISO Format","func":"// (1) wandelt timestamp ins ISO Datumformat um\n//msg.timestamp= new Date().toISOString()\n\n// (2) beliebiges Datum festlegbar: hier: YYYY-MM-DD HH:MM.SS\n// (Ausgabeformat wird danz am Ende zusammengestellt)\nvar now = new Date(); \nvar year = now.getFullYear();\nvar month = now.getMonth()+1; \nvar day = now.getDate();\nvar hour = now.getHours();\nvar minute = now.getMinutes();\nif(month.toString().length == 1) {\nvar month = '0'+month;\n}\nif(day.toString().length == 1) {\nvar day = '0'+day;\n} \nif(hour.toString().length == 1) {\nvar hour = '0'+hour;\n}\nif(minute.toString().length == 1) {\nvar minute = '0'+minute;\n}\n\n// Variante1: wenn z.B. nicht ein vorhandener Payload\n// überschrieben werden soll, sondern um ein\n// Datum ergänzt werden soll. \n\n//msg.timestamp = year+'-'+month+'-'+day+' '+hour+':'+minute+':'+second;\n\n// Variante 2: Function gibt die aktuelle Zeit als payload aus\nnow = day+'-'+month+'-'+year+' '+hour+':'+minute;\n\n// JSON Antwort parsen\nvar weather=(msg.payload);\n \n// Neue Nachricht mit Payload erstellen\nvar newMsg = { payload: \"Aktuelles Wetter am\\n\"+now +\" Uhr : \" +weather};\n// Zurückgeben der Nachricht\nreturn [newMsg];","outputs":1,"noerr":0,"initialize":"","finalize":"","x":700,"y":600,"wires":[["c6bd52ad.747008","7f25ad4f.fba1bc","79d485f9.47ed74"]]},{"id":"daea02bc.1bb428","type":"function","z":"6123505b.6c0b18","d":true,"name":"Unwetter Meldung","func":"msg = {\n payload: msg.payload,\n topic: \"DWD Unwetterwarnung\"\n};\nreturn msg;","outputs":1,"noerr":0,"initialize":"","finalize":"","x":850,"y":720,"wires":[[]]},{"id":"79d485f9.47ed74","type":"debug","z":"6123505b.6c0b18","name":"Unwetter_Meldung","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":1230,"y":540,"wires":[]},{"id":"822ec4a0.4e80b8","type":"delay","z":"6123505b.6c0b18","name":"1Msg/ 5 min","pauseType":"rate","timeout":"5","timeoutUnits":"seconds","rate":"1","nbRateUnits":"5","rateUnits":"minute","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":true,"x":170,"y":340,"wires":[["4713d603.9eed8","a3c672be.8d5b58"]],"info":"msg = msg.payload,\nreturn msg;"},{"id":"a3c672be.8d5b58","type":"function","z":"6123505b.6c0b18","name":"True/ False Abfrage Windstärke > 3 --> true","func":"if (msg.payload === 0) {\n msg.payload = false\n return [ msg, null, null, null, null, null ];\n} else if (msg.payload === 1) {\n msg.payload = false\n return [ null, msg, null, null, null, null ];\n} else if (msg.payload === 2) {\n msg.payload = false\n return [null, null, msg, null, null, null ];\n} else if (msg.payload === 3) {\n msg.payload = false\n return [null, null, null, msg, null, null ];\n} else if (msg.payload === 4) {\n msg.payload = true\n return [null, null, null, null, msg, null ];\n} else if (msg.payload === 5) {\n msg.payload = true\n return [null, null, null, null, null, msg];\n};","outputs":6,"noerr":0,"initialize":"","finalize":"","x":270,"y":760,"wires":[[],[],[],[],["1dfa2e2f.7458aa","a20282ea.ebe27","24174df8.330862","a476f13b.7a09e8"],["1dfa2e2f.7458aa","a20282ea.ebe27","24174df8.330862","a476f13b.7a09e8"]],"inputLabels":["number"],"outputLabels":["boolean","boolean","boolean","boolean","boolean","boolean"]},{"id":"1dfa2e2f.7458aa","type":"debug","z":"6123505b.6c0b18","name":"Unwetter true/false","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":1230,"y":960,"wires":[]},{"id":"7f25ad4f.fba1bc","type":"mqtt out","z":"6123505b.6c0b18","name":"","topic":"/Home/Wetter/Meldung","qos":"0","retain":"true","broker":"9fa2607d.99f8d","x":1250,"y":480,"wires":[]},{"id":"a476f13b.7a09e8","type":"mqtt out","z":"6123505b.6c0b18","name":"","topic":"/Home/Wetter/Alarm/Unwetter","qos":"0","retain":"true","broker":"9fa2607d.99f8d","x":1270,"y":900,"wires":[]},{"id":"a20282ea.ebe27","type":"debug","z":"6123505b.6c0b18","name":"Wind > 3 --> Pushover Meldung","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"payload","targetType":"msg","statusVal":"","statusType":"auto","x":1270,"y":1000,"wires":[]},{"id":"24174df8.330862","type":"pushover api","z":"6123505b.6c0b18","keys":"d8545a6c.2f0b08","title":"Home_Precesence_Notification","name":"Pushover","x":1200,"y":1040,"wires":[]},{"id":"c6bd52ad.747008","type":"file","z":"6123505b.6c0b18","name":"Windstärke_Info","filename":"/home/pi/Windstärke_Info.txt","appendNewline":true,"createDir":false,"overwriteFile":"false","encoding":"none","x":1220,"y":580,"wires":[[]]},{"id":"9fa2607d.99f8d","type":"mqtt-broker","z":"","name":"Raspi","broker":"localhost","port":"1883","clientid":"","usetls":false,"compatmode":false,"keepalive":"60","cleansession":true,"birthTopic":"","birthQos":"0","birthPayload":"","closeTopic":"","closeQos":"0","closePayload":"","willTopic":"","willQos":"0","willPayload":""},{"id":"d8545a6c.2f0b08","type":"pushover-keys","z":"","name":"MyPushover"}]