NEWS
[Script] DWD/UWZ/NINA Warnungen als Push/Sprachnachrichten
-
@ticaki für mich passt das soweit ist für mich erledigt sollte ja gehen
-
@drapo sagte in [Script] DWD/UWZ/NINA Warnungen als Push/Sprachnachrichten:
@ticaki alles klar. Vielen Dank für die rasche Hilfe. Ich warte dann auf die nächste Warnmeldung. Es sollte nun ja funktionieren. Übrigens ist der Punkt dass man den Datenpunkt auf true setzen soll irgendwo beschrieben? Der wäre hilfreich im 1. Post. oder habe ich den übersehen?
Korrektur: Hat nicht drin gestanden, habs hinzugefügt.
-
@ticaki jetzt ist es klar. Danke Dir für die gute Arbeit. Da frag ich mich nur wie die Leute vor mir das zum Laufen gebracht haben.
-
@drapo
Das Script ist seit 5 Tagen mit dieser Anleitung verfügbar, die Vorversion hatte eine Moduseinstellung im Script. Und die Tester haben ja den Umbau mitbekommen. -
Fehler im Script:
V0.96.3- 0.96.3 Aufgehoben Meldung für einzelne Mitteilung wurde verschickt, wenn keine weitere nicht ignorierte Warnung vorhanden war. (Behoben) Allgemein gehaltene Entwarnung wird gesendet.
- 0.96.3 Scriptfehler bei ausfiltert von Datensätzen (DWD UWZ) Betrifft minlevel und Höhenangaben.
Jetzt kommen wieder Warnungen rein, da werde ich wohl auch die letzten Fehler finden.
-
V0.97.0
- Update: Wichtig - den Datenzweig .alert löschen vor dem Update. ansonsten KK
- Verbesserung: UWZ/DWD Nachrichten enthalten jetzt Symbole an dem man den Typ mit einem Blick erkennt
- .alert wurde angepasst. Die Datenpunkte begin und end sind jetzt value.time, da value.datetime nicht mehr erwünscht ist. (vorher Zeichenkette, jetzt Nummer)
- .alert verbessert.
warningTypesString[DWD] = [ ['Gewitter','⚡'], ['Sturm', '🌪'], ['Regen', '🌧'], ['Schnee', '🌨'], ['Nebel', '🌁'], ['Frost', '🌡'], ['Glatteis', '❄'], ['Tauwetter', '⛄'], ['Hitzewarnungen', '🔥'], ['UV_Warnungen', '🔆']/*, ['Kuestenwarnungen', ''], ['Binnenseewarnungen', '']*/ ]; warningTypesString[UWZ] = [ ['n_a', ''], ['unbekannt', ''], ['Sturm-Orkan', '🌪'], ['Schneefall', '🌨'], ['Starkregen', '🌧'], ['Extremfrost', '🌡'], ['Waldbrandgefahr', '🔥'], ['Gewitter', '⚡'], ['Glätte', '❄'], ['Hitze', '🔆'], ['Glatteisregen', '❄'], ['Bodenfrost', '🌡'] ];
todo:
- das Ausfiltern von aufgehoben Meldungen beim "Verlängern" einer Warnung, will noch nicht so.
- Anscheinend hat DWD auch Verbindungsprobleme. Umbau auf das selbe System wie Nina - also löschen erst nach 90 Minuten oder wenns abgelaufen ist.
EDIT 2. Punkt zur todo hinzugefügt
-
@ticaki was meinst du mit ansonsten KK?
Kann ich immer noch die config im script stehen lassen und danach den ganzen code austauschen? -
@drapo
KK = Keine KonfigurationsänderungHeißt kannst ab 123456 alles kopieren und einfügen, nur unter der Objektansicht, im Datenzweig dieses Scriptes mußt du .alert löschen, da sich das geändert hat. Sry dafür.
-
@ticaki alles klar. Habs aktualisiert. Warte dann mal auf ein paar Meldungen Danke Dir
-
@ticaki sagte in [Script] DWD/UWZ/NINA Warnungen als Push/Sprachnachrichten:
todo:
- das Ausfiltern von aufgehoben Meldungen beim "Verlängern" einer Warnung, will noch nicht so.
gefunden. Habs in 1 Zeile zusammengefasst.
V0.97.1
- 0.97.1 Fehler in Warnungsverlängerung behoben.
//vorher 966 if (i != -1) warnDatabase.new.splice(a--, 1); //nachher 966 if (i != -1) { warnDatabase.new.splice(i, 1); if (i < a) t = --a; }
Vielleicht ist damit auch der andere ToDo Punkt erledigt. Mal sehen.
-
@ticaki nur so als Hinweis...wenn man das script kopiert hat und in iobroker einfügt, stimmen die Zeilennummern nicht überein. Da sind im oberen Teil zwischen den Beschreibungen hin und wieder, bzw mehr oder weniger die Leerzeilen unterschiedlich, somit gibt es einen Versatz.
Die besagte Zeile finde ich z.b. bei mir bei 960. -
@crunchip
Jo, ich weiß aber nicht wie ich sonst die Kurzfassung machen soll Leider ist die Korrektur noch nicht ausreichend.vielleicht so:
suche zusätzlich noch nach:
ca. 970
if (a == t && isWarnIgnored(w)) {
und ersetzte die Zeile mit folgenden Zeilen:
} for (let a = 0; a < warnDatabase.new.length; a++) { let w = warnDatabase.new[a]; if ( isWarnIgnored(w)) {
Die Korrektur oben hat zwar den Fehler behoben, aber dann konnte es sich bei den ignorierten Warnungen verzählen. Ob das aber jemand ausser mir nutzt ist fraglich
-
@ticaki momentan ist es eh recht mau mit Wetterwarnungen, fällt also gar nicht auf
-
@crunchip Bei mir stürmt es ganz schön, deshalb kommen jetzt auch Korrekturen
Zum Script:
const uFilterDuplicate = false;
stellt das bitte auf false. funktioniert nach den ganzen umarbeiten nicht mehr. Zumindest nicht für Nina, hat bei mir Nina Warnungen ohne Datum verworfen und nur 1 von denen drin gelassen. Sind aktuell 3 Warnungen wegen Corona vorhanden.
Ich denke ich werfe das raus. Das wofür es gedacht war, hab ich woanders schon funktionierend
-
@ticaki erledigt
Nina hab ich, wie gesagt , nicht in Verwendung, ist mir zuviel Action im Objektbaum -
@crunchip sagte in [Script] DWD/UWZ/NINA Warnungen als Push/Sprachnachrichten:
@ticaki erledigt
Nina hab ich, wie gesagt , nicht in Verwendung, ist mir zuviel Action im ObjektbaumMir auch, aber ich schau/höre/lese so gut wie keine "Sack Reis ist in China umgefallen" Nachrichten und will wenigstens Bescheid wissen, wenn wir Krieg haben oder so g
EDIT: Version 97.2
- Funktion hinter uFilterDuplicate raus geworfen
- Sprachausgabe hat bei einzelnen Entwarnungen die Zeitschaltuhr missachtet.
V97.2.1
-Doppelte Symbole bei Entwarnungen (Telegram, pushover) entfernt
Das ist mir kein Posting und das letzte nicht mal ne 97.3 wert
- Variable umbenannt.
-
Update für UWZ-Script von dwm
behoben:
- Hatte keine Internetverbindung und das Script ist mit Fehlern ausgestiegen (behoben)
- schedule gegen setInterval() getauscht. Zugriff von allen Nutzern des Script zu einer bestimmten Uhrzeit auf den Server kann einem DDoS Angriff gleich kommen. Mit setIntervall wird dieser Zugriff zeitlich variieren. Wird wohl kein wirkliches Problem sein, aber gehört sich so. Jetzt läuft das Script das erste mal nach Startzeit + intervalMinutes Minuten.
Und ich hatte schon vorher alle logausgaben abgeschaltet, wenn man welche will muß man debuglevel auf 4 oder 5 stellen.
Und grundsätzlich, man fragt einen Server der einem kostenlos Daten gibt nicht alle paar Sekunden ab.
-
javascript.0 2020-03-25 22:12:01.982 warn (1664) You are assigning a number to the state "javascript.0.wetterwarnung.alert.uwz.unbekannt.end" which expects a string. Please fix your code to use a string or change the state type to number. Th javascript.0 2020-03-25 22:12:01.982 warn (1664) at processImmediate (timers.js:658:5) javascript.0 2020-03-25 22:12:01.982 warn (1664) at tryOnImmediate (timers.js:676:5) javascript.0 2020-03-25 22:12:01.982 warn (1664) at runCallback (timers.js:705:18) javascript.0 2020-03-25 22:12:01.982 warn (1664) at Immediate.setImmediate (C:\Program Files\iobroker\Test\node_modules\iobroker.js-controller\lib\adapter.js:4851:37) javascript.0 2020-03-25 22:12:01.982 warn (1664) at Object.stateChange (C:\Program Files\iobroker\Test\node_modules\iobroker.javascript\main.js:450:25) javascript.0 2020-03-25 22:12:01.982 warn (1664) at Object.callback (C:\Program Files\iobroker\Test\node_modules\iobroker.javascript\lib\sandbox.js:1123:38) javascript.0 2020-03-25 22:12:01.982 warn (1664) at Object.onChangeDWD (script.js.Alexa.Ansage_UWZ10:1345:5) javascript.0 2020-03-25 22:12:01.982 warn (1664) at onChange (script.js.Alexa.Ansage_UWZ10:1360:9) javascript.0 2020-03-25 22:12:01.982 warn (1664) at addDatabaseData (script.js.Alexa.Ansage_UWZ10:1510:17) javascript.0 2020-03-25 22:12:01.982 warn (1664) at setAlertState (script.js.Alexa.Ansage_UWZ10:761:21) javascript.0 2020-03-25 22:12:01.982 warn (1664) at setState (C:\Program Files\iobroker\Test\node_modules\iobroker.javascript\lib\sandbox.js:1426:20) javascript.0 2020-03-25 22:12:01.981 warn (1664) You are assigning a number to the state "javascript.0.wetterwarnung.alert.uwz.unbekannt.begin" which expects a string. Please fix your code to use a string or change the state type to number. javascript.0 2020-03-25 22:12:01.974 warn (1664) at processImmediate (timers.js:658:5) javascript.0 2020-03-25 22:12:01.974 warn (1664) at tryOnImmediate (timers.js:676:5) javascript.0 2020-03-25 22:12:01.974 warn (1664) at runCallback (timers.js:705:18) javascript.0 2020-03-25 22:12:01.974 warn (1664) at Immediate.setImmediate (C:\Program Files\iobroker\Test\node_modules\iobroker.js-controller\lib\adapter.js:4851:37) javascript.0 2020-03-25 22:12:01.974 warn (1664) at Object.stateChange (C:\Program Files\iobroker\Test\node_modules\iobroker.javascript\main.js:450:25) javascript.0 2020-03-25 22:12:01.974 warn (1664) at Object.callback (C:\Program Files\iobroker\Test\node_modules\iobroker.javascript\lib\sandbox.js:1123:38) javascript.0 2020-03-25 22:12:01.974 warn (1664) at Object.onChangeDWD (script.js.Alexa.Ansage_UWZ10:1345:5) javascript.0 2020-03-25 22:12:01.974 warn (1664) at onChange (script.js.Alexa.Ansage_UWZ10:1360:9) javascript.0 2020-03-25 22:12:01.974 warn (1664) at addDatabaseData (script.js.Alexa.Ansage_UWZ10:1510:17) javascript.0 2020-03-25 22:12:01.974 warn (1664) at setAlertState (script.js.Alexa.Ansage_UWZ10:762:21) javascript.0 2020-03-25 22:12:01.974 warn (1664) at setState (C:\Program Files\iobroker\Test\node_modules\iobroker.javascript\lib\sandbox.js:1426:20) javascript.0 2020-03-25 22:12:01.974 warn (1664) You are assigning a number to the state "javascript.0.wetterwarnung.alert.dwd.Sturm.end" which expects a string. Please fix your code to use a string or change the state type to number. This w javascript.0 2020-03-25 22:12:01.973 warn (1664) at processImmediate (timers.js:658:5) javascript.0 2020-03-25 22:12:01.973 warn (1664) at tryOnImmediate (timers.js:676:5) javascript.0 2020-03-25 22:12:01.973 warn (1664) at runCallback (timers.js:705:18) javascript.0 2020-03-25 22:12:01.973 warn (1664) at Immediate.setImmediate (C:\Program Files\iobroker\Test\node_modules\iobroker.js-controller\lib\adapter.js:4851:37) javascript.0 2020-03-25 22:12:01.973 warn (1664) at Object.stateChange (C:\Program Files\iobroker\Test\node_modules\iobroker.javascript\main.js:450:25) javascript.0 2020-03-25 22:12:01.973 warn (1664) at Object.callback (C:\Program Files\iobroker\Test\node_modules\iobroker.javascript\lib\sandbox.js:1123:38) javascript.0 2020-03-25 22:12:01.973 warn (1664) at Object.onChangeDWD (script.js.Alexa.Ansage_UWZ10:1345:5) javascript.0 2020-03-25 22:12:01.973 warn (1664) at onChange (script.js.Alexa.Ansage_UWZ10:1360:9) javascript.0 2020-03-25 22:12:01.973 warn (1664) at addDatabaseData (script.js.Alexa.Ansage_UWZ10:1510:17) javascript.0 2020-03-25 22:12:01.973 warn (1664) at setAlertState (script.js.Alexa.Ansage_UWZ10:761:21) javascript.0 2020-03-25 22:12:01.973 warn (1664) at setState (C:\Program Files\iobroker\Test\node_modules\iobroker.javascript\lib\sandbox.js:1426:20) javascript.0 2020-03-25 22:12:01.973 warn (1664) You are assigning a number to the state "javascript.0.wetterwarnung.alert.dwd.Sturm.begin" which expects a string. Please fix your code to use a string or change the state type to number. This javascript.0 2020-03-25 22:12:01.971 info (1664) script.js.Alexa.Ansage_UWZ10: Add DWD warning to database. headline: Amtliche WARNUNG vor WINDBÖEN
Version 0.97.2.1
-
@ticaki sagte in [Script] DWD/UWZ/NINA Warnungen als Push/Sprachnachrichten:
V0.97.0
- Update: Wichtig - den Datenzweig .alert löschen vor dem Update. ansonsten KK
@sigi234
lösche den Datenzweig und starte das Script neu. EDIT: Nur die Punkte unter .alert. müssen gelöscht werden -
@ticaki sagte in [Script] DWD/UWZ/NINA Warnungen als Push/Sprachnachrichten:
@sigi234
lösche den Datenzweig und starte das Script neu. EDIT: Nur die Punkte unter .alert. müssen gelöscht werdenOk, hatte die neue Version kopiert und darauf anscheinend vergessen. Sollte das in der Neuen Version nicht weg sein?