NEWS
[Script] DWD/UWZ/NINA Warnungen als Push/Sprachnachrichten
-
Hab daran nichts geändert, zumindest nicht das ich wüsste. Werde ich mir mal ansehen.
-
@ticaki sagte in [Script] DWD/UWZ/NINA Warnungen als Push/Sprachnachrichten:
Hab daran nichts geändert, zumindest nicht das ich wüsste. Werde ich mir mal ansehen.
Die Meldung ist heute weg. Dürfte am Server gelegen haben.
-
Hallo Zusammen,
ich habe noch eine Frage zu den Ordner "alerts".
Heute Vormittag habe ich eine Warnung von UWZ vor Hitze erhalten.
Diese Warnung wurde auch sauber in den Ordner "0_userdata.0.Wetterwarnung.alert.uwz.Ort.Hitze" abgelegt.
Der Datenpunkt "0_userdata.0.Wetterwarnung.alert.uwz.Ort.Hitze.current" war noch auf false da die Warnung von 13 bis 19 Uhr gültig ist.Um 14:15 Uhr habe ich mir den Datenpunkt current nochmal angeschaut. Dieser war immer noch auf false.
Frage: Ist das so gewollt, oder sollte diese Datenpunkt umspringen sobald der Zeitpunkt der Warnung erreicht ist?
Vielen Dank!
-
@niiccooo1
Nein, da ist ein Fehler im script -
@ticaki Alles klar!
Schon eine Idee, wie sich das beheben lässt ? -
@niiccooo1
Ich hab mal meine Änderungen in das Skript auf github übernommen, ich glaube ich hatte das behoben. Hab getestet ob es startet, aber auch nicht mehr. Am WE finde ich vielleicht mehr Zeit. -
Ich glaube, das Thema hatten wir schon mal irgendwo angerissen, aber wäre es möglich die Ansagen für Alexas anders zusammenzubauen?
script.js.common.dwd_uwz_nina_warnungen: info: {"AREADESC":"K-Rodenk.","NAME":"Köln-Rodenkirchen","WARNCELLID":705315102,"IDENTIFIER":"2.49.0.0.276.0.DWD.PVW.1694537460000.e0acc5a8-e77d-41cc-8dcd-1969d1944ffb.DEU","SENDER":"opendata@dwd.de","SENT":"2023-09-12T16:51:00Z","STATUS":"Actual","MSGTYPE":"Alert","SOURCE":"PVW","SCOPE":"Public","CODE":"id:2.49.0.0.276.0.DWD.PVW.1694537460000.e0acc5a8-e77d-41cc-8dcd-1969d1944ffb","LANGUAGE":"de-DE","CATEGORY":"Met","EVENT":"SCHWERES GEWITTER mit HEFTIGEM STARKREGEN und HAGEL","RESPONSETYPE":"Prepare","URGENCY":"Immediate","SEVERITY":"Severe","CERTAINTY":"Likely","EC_PROFILE":"2.1.13","EC_LICENSE":"© GeoBasis-DE / BKG 2021 (Daten modifiziert)","EC_II":"46","EC_GROUP":"THUNDERSTORM;RAIN;HAIL;WIND","EC_AREA_COLOR":"229 57
Bei mir wird immer die Region 'KARO-DENK' angesagt. Bis ich mal drauf gekommen bin, das damit der Bezirk 'Köln-Rodenkirchen' gemeint sein könnte.
-
@thomas-braun
hab 1% vom Adapter fertig...
Wenn der dann irgendwann fertig ist kannst du die Texte in der Adapterkonfiguration selbst anpassen.
wird dann sowas wie:Neue MESSAGETYP von DIENST für Region SHORTNAMEAREA, HEADLINE von START bis ENDE
Aber zu deiner Frage
Wenn ich mich recht entsinne kann man da:
den Namen selbst ändern.
Telegram sagt dann:
Wetterwarnung vor Gewitter, für die Region hier wohn ich wirklich nicht, Stufe gelb, ab heute abend
Musst dann aber auf refresh klicken damit das Skript neustartet.
-
Thx. Hab ich drin. Mal schauen, ob es funktioniert.
Dabei sind mir aber jetzt noch ein paar Zeilen entgegen gesprungen:2023-09-12 19:32:41.275 - error: javascript.0 (1288) script.js.common.dwd_uwz_nina_warnungen: ReferenceError: WHATSAPP is not defined 2023-09-12 19:32:41.279 - error: javascript.0 (1288) at script.js.common.dwd_uwz_nina_warnungen:372:44 2023-09-12 19:32:41.279 - error: javascript.0 (1288) at script.js.common.dwd_uwz_nina_warnungen:4241:3 2023-09-12 19:32:41.279 - error: javascript.0 (1288) at Script.runInContext (node:vm:134:12)
-
@thomas-braun
dir fehlt der obere Teil der nicht editierbaren Konfiguration:ersetzte das in deinem Skript:
/* ************************************************************************ */ /* Datenpfad konfigurieren ENDE */ /* ************************************************************************ */ /* ************************************************************************ */ /* NICHT EDITIEREN */ /* ************************************************************************ */ /* ************************************************************************ */ var konstanten = [ {'name':'telegram','value':1,count:0, delay:200, maxChar: 4000 }, {"name":'pushover',"value":2, count:0, delay:1000, maxChar: 1000}, {"name":'email',"value":4}, {"name":'sayit',"value":8, count:0, delay:0, maxChar: 940}, {"name":'home24',"value":16, count:0, delay:0}, {"name":'alexa',"value":32, count:0, delay:0, maxChar: 940}, {"name":'state',"value":64}, {"name":'iogo',"value":128, maxChar: 940, count: 0, delay: 300}, {"name":'state_html',"value":256}, {"name":'state_plain',"value":512}, {"name":'whatsapp',"value":1024} ]; const TELEGRAM = konstanten[0].value; const PUSHOVER = konstanten[1].value; const EMAIL = konstanten[2].value; const SAYIT = konstanten[3].value; const HOMETWO = konstanten[4].value; const ALEXA = konstanten[5].value; const STATE = konstanten[6].value; const IOGO = konstanten[7].value; const STATE_HTML = konstanten[8].value; const STATE_PLAIN = konstanten[9].value; const WHATSAPP = konstanten[10].value; var uPushdienst = 0; const DWD = 1; const UWZ = 2; const NINA = 4; const DWD2 = 8; // only for request const ZAMG = 16; const MODES = [{mode:DWD, text:'DWD'},{mode:UWZ, text:'UWZ'},{mode:NINA, text:'NINA'}, {mode: ZAMG, text:'ZAMG'}]; if(mainStatePath[mainStatePath.length - 1] != '.') mainStatePath += '.'; const aliveState = mainStatePath+'alive'; if (extendedExists(aliveState)) { setState(aliveState, true, true); } /* ************************************************************************* */ /* ************************************************************************* */ /* ************************************************************************* */ /* Konfiguration ab hier */ /* ************************************************************************* */ /* ************************************************************************* */ /* ************************************************************************* */
bzw. dir fehlen davon 2 Zeilen. Alles kopieren ist wohl einfacher... wenn nicht dir fehlen die 2 Zeilen wo whatsapp drin steht.
-
Das ist aber vor der Kopiermarke '123456'... Hab ich deswegen auch nicht kopiert...
Jetzt läuft es aber. Inkl. der richtigen Region. Nicht mehr 'KARO-DENK'.
-
@thomas-braun
Hab vergessen bescheid zu sagen, sry Das kommt nur in Ausnahmefällen vor. -
@ticaki
Mal wieder was neues:javascript.0 2023-09-12 18:50:39.119 warn script.js.Ausgaben.Wetterwarnungen.DWD_UWZ_NINA_Warnungen: info: {"AREADESC":"Euskirchen","NAME":"Stadt Euskirchen","WARNCELLID":805366016,"IDENTIFIER":"2.49.0.0.276.0.DWD.PVW.1694537460000.4865c134-2004-492e-930f-0e06aeed0571.DEU","SENDER":"opendata@dwd.de","SENT":"2023-09-12T16:51:00Z","STATUS":"Actual","MSGTYPE":"Update","SOURCE":"PVW","SCOPE":"Public","CODE":"id:2.49.0.0.276.0.DWD.PVW.1694537460000.4865c134-2004-492e-930f-0e06aeed0571","LANGUAGE":"de-DE","CATEGORY":"Met","EVENT":"SCHWERES GEWITTER mit HEFTIGEM STARKREGEN und HAGEL","RESPONSETYPE":"Prepare","URGENCY":"Immediate","SEVERITY":"Severe","CERTAINTY":"Likely","EC_PROFILE":"2.1.13","EC_LICENSE":"© GeoBasis-DE / BKG 2021 (Daten modifiziert)","EC_II":"46","EC_GROUP":"THUNDERSTORM;RAIN;HAIL;WIND","EC_AREA_COLOR":"229 57 53","EFFECTIVE":"2023-09-12T16:51:00Z","ONSET":"2023-09-12T17:00:00Z","EXPIRES":"2023-09-12T20:00:00Z","SENDERNAME":"Deutscher Wetterdienst","HEADLINE":"Amtliche UNWETTERWARNUNG vor SCHWEREM GEWITTER mit HEFTIGEM STARKREGEN und HAGEL","DESCRIPTION":"Es treten Gewitter auf. Dabei gibt es heftigen Starkregen mit Niederschlagsmengen zwischen 30 l/m² und 50 l/m² in 6 Stunden sowie Sturmböen mit Geschwindigkeiten bis 80 km/h (22 m/s, 44 kn, Bft 9) und Hagel mit Korngrößen um 2 cm.","INSTRUCTION":"ACHTUNG! Hinweis auf mögliche Gefahren: Bei Blitzschlag besteht Lebensgefahr! Vereinzelt können zum Beispiel Bäume entwurzelt und Dächer beschädigt werden. Achten Sie auf herabstürzende Äste, Dachziegel oder Gegenstände. Überflutungen von Kellern und Straßen sowie örtliche Überschwemmungen an Bächen und kleinen Flüssen sind möglich (Details: www.hochwasserzentralen.de). Es können zum Beispiel Erdrutsche auftreten. Schließen Sie alle Fenster und Türen! Sichern Sie Gegenstände im Freien! Halten Sie insbesondere Abstand von Gebäuden, Bäumen, Gerüsten und Hochspannungsleitungen! Vermeiden Sie möglichst den Aufenthalt im Freien!","WEB":"https://www.wettergefahren.de","CONTACT":"Deutscher Wetterdienst","PARAMETERNAME":"gusts;precipitation;hail","PARAMETERVALUE":"<80 [km/h];30-50 [l/m² in 6h];~2 [cm]","ALTITUDE":0,"CEILING":9842.5197,"warncellObj":{"8":true,"id":"805366016","text":"Euskirchen","area":"Euskirchen","favorit":true}} javascript.0 2023-09-12 18:50:39.118 warn script.js.Ausgaben.Wetterwarnungen.DWD_UWZ_NINA_Warnungen: info: Bitte das Json im Forum posten: EC: undefined
-
Für alle die sich für den Adapter interessieren.
Vorab ist kein kopieren, sondern komplettes neu schreiben.
Aktueller Stand ist v0.0.2 DWD ID Auswahl für 1 Ziel ist im Admin, aussuchen tut man die ID per Ortsnamen (Kreis, Stadt, Dorf). Datenabruf und schreiben in States ist für DWD und ZAMG implementiert, ebenso wie das aufräumen. Wetter ist zu gut
Ziel ist es erstmal den Abruf, schreiben und das Konfigurieren im Admin fertig zu bekommen. Wenn das geht kann man was testen, auch wenns vom Umfang her noch weit weg vom Script ist.
Lockere Roadmap ist für UWZ, DWD und ZAMG folgendes in genannter Reihenfolge zu integrieren:
-
Rohdatenabruf und schreiben (0.1.0)
-
Daten in benutzerdefiniertem Format in States zu schreiben(0.3.0)
-
Den Inhalt dieser States als Nachrichten zu verschicken.(0.4.0)
-
für jede Warngruppe Trigger zu haben.
-
Filter nach Bedarf zu integrieren.
-
NINA und Metroalarm(oder so) zu integrieren
-
und das ganze wenn möglich in allen möglichen Sprachen.
Bei den Rohdaten States wird nix verändert, soweit es nicht zwingend nötig ist. UWZ hat z.B. kein Level, da wird das Level aus der Warnfarbe generiert.
-
-
@ticaki
ich bin mal so frei und schreibe hier ein paar meiner Wünsche:-
falls mehrere warnungen ausgegeben werden würde ich mir eine Sortierung mach Zeit wünschen. Also einstellbar ob nach Level oder Zeitpunkt.
-
alles was 2 oder mehr Tage in der Zukunft liegt ignorieren. oft ändert es sich 5x bis der besagte Tag überhaupt erreicht wurde. (ZAMG). Also viele unnötige Meldungen.
-
Datumsformat/Zeitformat anpassbar machen.
statt dieser aktuellen Meldung:
⚡ Warnung vor Gewitter gültig vom 18.09. 17:00 Uhr bis 18.09. 23:00 Uhr
hätte ich gern folgende
⚡ Warnung vor Gewitter gültig am Montag von 17:00 bis 23:00 Uhr.
-
-
- ist geplant EDIT oh das nicht, ist nortiert
- erinnere mich wenn die Nachrichten funktionieren nochmal
zu 3.
Daten in benutzerdefiniertem Format in States zu schreiben(0.3.0)
EDIT: Wünsche sind erwünscht
-
- cool danke!
- mach ich
- ah, das ist damit gemeint
-
@rtwl sagte in [Script] DWD/UWZ/NINA Warnungen als Push/Sprachnachrichten:
ah, das ist damit gemeint
Ich mache es diesmal anders:
z.B.
weather-warnings.0.dwd.raw.warnings1-5 in denen die Rohdaten stehen,
weather-warnings.0.dwd.formated.message1-x in denen die formatierten Nachrichten durch zappen
weather-warnings.0.zamg.raw.warnings1-5
usw.Dann noch States die alle aktive Nachrichten enthalten und wenn die Nachrichten da gut aussehen füge ich Pushdienste hinzu
-
Zum Adapter:
Vorweg: Der ist weder fertig, noch kann er Nachrichten verschicken. Man kann sich angucken wo die reise hingeht. Vor 0.4.0 wird der extrem weit hinter dem Skript zurück liegen.
v0.2.0 Alpha
Nur per benutzerdefiniertem Github-install
https://github.com/ticaki/ioBroker.weather-warnings
Verbesserungsvorschläge und Fehler bitte auch dort als Issue anlegen. Form ist mir wurscht, Sprachen: Deutsch Englisch.
Bekannter Fehler: Deutsch und English sind überall gemischt - wenn ich mir klar bin, wie ich das alles am besten übersetzte und einbaue wird sich das ändern.
Liste der aktuellen Funktionen:
- DWD/UWZ/ZAMG Datenabruf. Konfigurierbar über Admin.
- Update Intervall einstellbar.
- DWD/UWZ Stellt formatierte Daten zur Verfügung (ZAMG hab ich ganz vergessen einzubauen an der Stelle)
- Selbst formulierbare Meldungen werden in States geschrieben.
- Doppelte Nachrichten werden ausgefiltert, solange sie offensichtlich doppelt sind.
- Es gibt einen Testmodus - dabei ist der Adapter "offline" und wird so auch angezeigt.
formatedKeys: Die Datenpunkte darunter kann man in eigenen Meldungen verwenden.
Was braucht ihr noch an Daten?
messages: Darunter befinden sich die Mitteilungen die ihr im Admin unter Template/Vorlage (ka ob schon übersetzt) einrichten könnt.
warning: drunter sind alle Daten die vom Dienst geliefert werden.
Unter den Info Ordnern seht ihr ob der Adapter/der Dienst beim letzten Zugriff online war.
Im Admin/Template
In der Tablelle schreibt ihr ins erste Feld einen Bezeichung die sich als state später unter Message erzeugt wird, also keine Punkte oder Leerzeichen.
In das zweite Feld kommt eure Formatierung. Zur Zeit hab ich folgende Datenpunkte vorbereitet:starttime?: string; // Start Uhrzeit HH:MM startdate?: string; // Start Datum DD.MM endtime?: string; // Endzeitpunkt enddate?: string; // Enddatum startdayofweek?: string; // Start Tag der Woche enddayofweek?: string; // End Tag der Woche headline?: string; // Schlagzeile description?: string; // Beschreibung weathertext?: string; // nur Zamg wetterbeschreibender Text ceiling?: string; // max höhe altitude?: string; // min höhe warnlevelname?: string; // Farbe des Levels text warnlevelnumber?: string; // Levelhöhe warnlevelcolor?: string; // RGB im Hexformat warntypename?: string; // gelieferter Warntype location?: string; // gelieferte Location (meinst Unsinn)
Eine formatierte Nachricht könnte dann z.B. vorerst so aussehen:
Warnung: ${warntypename} am ${startdayofweek} um ${starttime} Stufe: ${warnlevelname}
warntypename wird demnächst weider die alten deutschen Namen ausgeben. Muß mir da um die Übersetzen noch Gedanken machen, das gilt übrigends für alle was aktuell english ist. Da die Dienste recht viele Sprachen ausgeben, werde ich da nicht mehr nur bei Deutsch bleiben.
EDIT ich baue noch ZAMG für die Benutzerdefinierten Nachrichten ein. dauert wohl ne stunde.
-
@ticaki
Cool, werde ich gleich testen.
Skipt und Adapter kann man parallel laufen lassen?
Wichtig für mich ist Alexa Ansagen und Mail Versand.
So ganz verstehe ich den Unterschied zwischen ZAMG und UWZ nicht.