NEWS
[Script] DWD/UWZ/NINA Warnungen als Push/Sprachnachrichten
-
//Version 0.99.20 Beta 3
Verbesserung:- sehr kurze Version für alles verfügbar
- Goodie für Telegrambenutzer: Wenn ihr nicht die Langversion beim Versand verwendet, habt ihr jetzt einen Knopf mit "mehr" unter der Warnung, wenn ihr auf ihn klickt wird die Warnung durch die Langversion ersetzt.
Fehlerbehebung:
- Favorit hat ab 3 Mitgliedern Unsinn gemacht.
- Farben angepasst.
Anschließend die neuen Konfigurationsvariablen, das einfügen dieser ist aber kein Muß mehr, die werden woanders deklariert und wenn nötig mit einem sinnvollen Defaultwert definiert.
uTelegramReplyMarkupInline = true // Bei Nachrichten die nicht mit volle Länge angefragt wurde, gibt es eine Schalfläche in der man die Langversion anfordern kann. uTextHtmlMitOhneAlles = false // gleiche wie bei spracheEDIT:
//Version 0.99.21 Beta 3
... hatte nicht alles an Code hochgeladen.Noch etwas: die Variable uTextHtmlMitOhneAlles überschreibt alle anderen Einstellungen für HTML und Text nachrichten. Gleiches gilt für die Variable für Sprache. Falls jemand das gerne mehr Einstellen möchte, bitte melden. Mir reichts so.
Später wenn das geklärt kommt das dann auch in die ObjekteEDIT2
//Version 0.99.22 Beta 3
Fehlerbehebung- hab die neue Variablen im Telegram Goodie vergessen zu berücksichten.
Edit 3
//Version 0.99.23 Beta 3- noch ein kleiner fix für telegram groodie
Wetterwarnung kann man schwer lesen, kann ich die Farbe wo ändern? Und bei für : fehlt der Ort

-
Wetterwarnung kann man schwer lesen, kann ich die Farbe wo ändern? Und bei für : fehlt der Ort

@sigi234
Ich schaue mal nach ob bei gelb die Farbe der Schrift auf schwarz ändern kann und wie das mit html gehtDer Fehlende Name beim Ort. Schaue mal bitte ob unter warnzellen überall was im Datenfeld steht
oder schlage einfach ein dunkles gelb vor. :)
-
@sigi234
Ich schaue mal nach ob bei gelb die Farbe der Schrift auf schwarz ändern kann und wie das mit html gehtDer Fehlende Name beim Ort. Schaue mal bitte ob unter warnzellen überall was im Datenfeld steht
oder schlage einfach ein dunkles gelb vor. :)
@ticaki sagte in [Script] DWD/UWZ/NINA Warnungen als Push/Sprachnachrichten:
Der Fehlende Name beim Ort. Schaue mal bitte ob unter warnzellen überall was im Datenfeld steht
Wo? Data? Alert?
Sollte da nicht wo der DWD auftauchen?

-
@ticaki sagte in [Script] DWD/UWZ/NINA Warnungen als Push/Sprachnachrichten:
Der Fehlende Name beim Ort. Schaue mal bitte ob unter warnzellen überall was im Datenfeld steht
Wo? Data? Alert?
Sollte da nicht wo der DWD auftauchen?

config.basiskonfiguration.warnzelle. da sollte ID (die nummer) Name (der Ortname) und das Datenfeld die Gruppe bzw. ebenfalls den Ortsnamen enthalten. Wenn da nix steht schreibe einfach den Namen rein.
-
config.basiskonfiguration.warnzelle. da sollte ID (die nummer) Name (der Ortname) und das Datenfeld die Gruppe bzw. ebenfalls den Ortsnamen enthalten. Wenn da nix steht schreibe einfach den Namen rein.
@ticaki sagte in [Script] DWD/UWZ/NINA Warnungen als Push/Sprachnachrichten:
config.basiskonfiguration.warnzelle. da sollte ID (die nummer) Name (der Ortname) und das Datenfeld die Gruppe bzw. ebenfalls den Ortsnamen enthalten. Wenn da nix steht schreibe einfach den Namen rein.

-
@ticaki sagte in [Script] DWD/UWZ/NINA Warnungen als Push/Sprachnachrichten:
config.basiskonfiguration.warnzelle. da sollte ID (die nummer) Name (der Ortname) und das Datenfeld die Gruppe bzw. ebenfalls den Ortsnamen enthalten. Wenn da nix steht schreibe einfach den Namen rein.

@sigi234
das unter warnzelle stimmt absolut nicht, bitte diesen unterzweig mal löschen.Ach und bei deiner Farbe ging es da um htmllong oder email text, der html_state ist nix anderes als der email text.
-
@sigi234
das unter warnzelle stimmt absolut nicht, bitte diesen unterzweig mal löschen.Ach und bei deiner Farbe ging es da um htmllong oder email text, der html_state ist nix anderes als der email text.
avascript.0 2021-12-26 01:17:18.724 info script.js.Sigi.UWZ_DWD_NINA18: info: Nutze Datenabruf für NINA über States in nina.0 javascript.0 2021-12-26 01:17:18.584 info script.js.Sigi.UWZ_DWD_NINA18: info: Init! id: 0_userdata.0.wetterwarnung.data.zamg.48#xxxxxx/14#xxxxxx.warning.object headline: Warnung vor Glatteis javascript.0 2021-12-26 01:17:18.254 info script.js.Sigi.UWZ_DWD_NINA18: advance: Rufe Daten vom Server ab - ZAMG Area: xxxxxxxxxx javascript.0 2021-12-26 01:17:17.921 info script.js.Sigi.UWZ_DWD_NINA18: advance: Rufe Daten vom Server ab - UWZ Area: UWZATxxxx javascript.0 2021-12-26 01:17:16.267 info script.js.Sigi.UWZ_DWD_NINA18: info: [object Object] javascript.0 2021-12-26 01:17:16.267 info script.js.Sigi.UWZ_DWD_NINA18: info: 400 javascript.0 2021-12-26 01:17:16.267 info script.js.Sigi.UWZ_DWD_NINA18: info: <?xml version="1.0" encoding="UTF-8"?><ows:ExceptionReport xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.0.0" xsi:schemaLocation="http://www.opengis.net/ows/1.1 https://maps.dwd.de/geoserver/schemas/ows/1.1.0/owsAll.xsd"><ows:Exception exceptionCode="NoApplicableCode"><ows:ExceptionText>java.lang.ClassCastException: Cannot cast java.lang.String to java.math.BigDecimalCannot cast java.lang.String to java.math.BigDecimal</ows:ExceptionText></ows:Exception></ows:ExceptionReport> javascript.0 2021-12-26 01:17:16.267 info script.js.Sigi.UWZ_DWD_NINA18: info: getDataFromServer() 5. javascript.0 2021-12-26 01:17:16.148 info script.js.Sigi.UWZ_DWD_NINA18: advance: Rufe Daten vom Server ab - DWD2 Area: Passau javascript.0 2021-12-26 01:17:15.623 info script.js.Sigi.UWZ_DWD_NINA18: advance: Rufe Daten vom Server ab - DWD Area: Passau javascript.0 2021-12-26 01:17:15.623 info script.js.Sigi.UWZ_DWD_NINA18: info: DWD aktivieren, Warncell vorhanden javascript.0 2021-12-26 01:17:15.623 info script.js.Sigi.UWZ_DWD_NINA18: info: Standalone ZAMG Datenabruf aktiviert javascript.0 2021-12-26 01:17:15.623 info script.js.Sigi.UWZ_DWD_NINA18: info: Standalone UWZ Datenabruf aktiviert javascript.0 2021-12-26 01:17:15.623 info script.js.Sigi.UWZ_DWD_NINA18: advance: MODE wurde geändert. MODE: 23 firstRun:true javascript.0 2021-12-26 01:17:11.744 info script.js.Sigi.UWZ_DWD_NINA18: registered 0 subscriptions and 0 schedules javascript.0 2021-12-26 01:17:11.741 info script.js.Sigi.UWZ_DWD_NINA18: info: Skripts gestartet: ID:1164.2114287450922 javascript.0 2021-12-26 01:17:11.713 info Start javascript script.js.Sigi.UWZ_DWD_NINA18 javascript.0 2021-12-26 01:17:11.246 info script.js.Sigi.UWZ_DWD_NINA18: info: Skripts gestoppt: ID:5306.327723286484 -
@sigi234
das unter warnzelle stimmt absolut nicht, bitte diesen unterzweig mal löschen.Ach und bei deiner Farbe ging es da um htmllong oder email text, der html_state ist nix anderes als der email text.
@ticaki sagte in [Script] DWD/UWZ/NINA Warnungen als Push/Sprachnachrichten:
Ach und bei deiner Farbe ging es da um htmllong oder email text, der html_state ist nix anderes als der email text.
0_userdata.0.wetterwarnung.messageHtml
-
@ticaki sagte in [Script] DWD/UWZ/NINA Warnungen als Push/Sprachnachrichten:
Ach und bei deiner Farbe ging es da um htmllong oder email text, der html_state ist nix anderes als der email text.
0_userdata.0.wetterwarnung.messageHtml
Jo genau der :)
//Version 0.99.24 Beta 3
- Textfarbe ist jetzt als schwarz definiert.
und Sigi du kannst die HTML Ausgabe für Email und messageHtml hier beeinflußen. Ist oben unterhalb von 123456
var html_prefix = '<table border="1" cellpadding="0" cellspacing="0" width="100%">'; var html_headline_color = '<tr><td style="padding: 5px 0 5px 0;" bgcolor=\"' + '###color###' + '\"><b><font color=#000000>' + '###headline###' + '</font></b></td></tr>'; var html_headline = '<tr><td style="padding: 5px 0 5px 0;"><b>' + '###headline###' + '</b></td></tr>'; var html_message = '<tr><td style="padding: 5px 0 20px 0;">' + '###message###' + '</td></tr>'; var html_end = '</table>';Ein Nachricht besteht aus prefix, mehrfach headline und message sowie end. Das hier z.B. ###message### sind Platzhalter, da wird der Warnungstext eingefügt
-
avascript.0 2021-12-26 01:17:18.724 info script.js.Sigi.UWZ_DWD_NINA18: info: Nutze Datenabruf für NINA über States in nina.0 javascript.0 2021-12-26 01:17:18.584 info script.js.Sigi.UWZ_DWD_NINA18: info: Init! id: 0_userdata.0.wetterwarnung.data.zamg.48#xxxxxx/14#xxxxxx.warning.object headline: Warnung vor Glatteis javascript.0 2021-12-26 01:17:18.254 info script.js.Sigi.UWZ_DWD_NINA18: advance: Rufe Daten vom Server ab - ZAMG Area: xxxxxxxxxx javascript.0 2021-12-26 01:17:17.921 info script.js.Sigi.UWZ_DWD_NINA18: advance: Rufe Daten vom Server ab - UWZ Area: UWZATxxxx javascript.0 2021-12-26 01:17:16.267 info script.js.Sigi.UWZ_DWD_NINA18: info: [object Object] javascript.0 2021-12-26 01:17:16.267 info script.js.Sigi.UWZ_DWD_NINA18: info: 400 javascript.0 2021-12-26 01:17:16.267 info script.js.Sigi.UWZ_DWD_NINA18: info: <?xml version="1.0" encoding="UTF-8"?><ows:ExceptionReport xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.0.0" xsi:schemaLocation="http://www.opengis.net/ows/1.1 https://maps.dwd.de/geoserver/schemas/ows/1.1.0/owsAll.xsd"><ows:Exception exceptionCode="NoApplicableCode"><ows:ExceptionText>java.lang.ClassCastException: Cannot cast java.lang.String to java.math.BigDecimalCannot cast java.lang.String to java.math.BigDecimal</ows:ExceptionText></ows:Exception></ows:ExceptionReport> javascript.0 2021-12-26 01:17:16.267 info script.js.Sigi.UWZ_DWD_NINA18: info: getDataFromServer() 5. javascript.0 2021-12-26 01:17:16.148 info script.js.Sigi.UWZ_DWD_NINA18: advance: Rufe Daten vom Server ab - DWD2 Area: Passau javascript.0 2021-12-26 01:17:15.623 info script.js.Sigi.UWZ_DWD_NINA18: advance: Rufe Daten vom Server ab - DWD Area: Passau javascript.0 2021-12-26 01:17:15.623 info script.js.Sigi.UWZ_DWD_NINA18: info: DWD aktivieren, Warncell vorhanden javascript.0 2021-12-26 01:17:15.623 info script.js.Sigi.UWZ_DWD_NINA18: info: Standalone ZAMG Datenabruf aktiviert javascript.0 2021-12-26 01:17:15.623 info script.js.Sigi.UWZ_DWD_NINA18: info: Standalone UWZ Datenabruf aktiviert javascript.0 2021-12-26 01:17:15.623 info script.js.Sigi.UWZ_DWD_NINA18: advance: MODE wurde geändert. MODE: 23 firstRun:true javascript.0 2021-12-26 01:17:11.744 info script.js.Sigi.UWZ_DWD_NINA18: registered 0 subscriptions and 0 schedules javascript.0 2021-12-26 01:17:11.741 info script.js.Sigi.UWZ_DWD_NINA18: info: Skripts gestartet: ID:1164.2114287450922 javascript.0 2021-12-26 01:17:11.713 info Start javascript script.js.Sigi.UWZ_DWD_NINA18 javascript.0 2021-12-26 01:17:11.246 info script.js.Sigi.UWZ_DWD_NINA18: info: Skripts gestoppt: ID:5306.327723286484@sigi234
Zu dem anderen Problem. Ich weiß gerade nicht wo da der Wurm drin ist. Bei mir erstellen sich die States alle so wie es soll. Vielleicht solltest duvar scriptOverrides = true;stellen, das skript 1 Minuten laufen lassen und es dann wieder auf false stellen. Und trage vorher deine warncelle für DWD ins Skript ein.
-
@sigi234
Zu dem anderen Problem. Ich weiß gerade nicht wo da der Wurm drin ist. Bei mir erstellen sich die States alle so wie es soll. Vielleicht solltest duvar scriptOverrides = true;stellen, das skript 1 Minuten laufen lassen und es dann wieder auf false stellen. Und trage vorher deine warncelle für DWD ins Skript ein.
@ticaki sagte in [Script] DWD/UWZ/NINA Warnungen als Push/Sprachnachrichten:
Und trage vorher deine warncelle für DWD ins Skript ein.
Ok, finde für Passau nix?
Hier eintragen?
// Standalone Datenquelle /* nur Gemeinde/Landkreis/Großstädte werden verwendet: https://www.dwd.de/DE/leistungen/opendata/help/warnungen/cap_warncellids_csv.csv?__blob=publicationFile&v=3 */ var dwdWarncellId = ''; // Deaktivieren mit '' var dwdBundesland = ''; // 3 BuchstabenUWZDE94032
Bundesland ??? -
@ticaki sagte in [Script] DWD/UWZ/NINA Warnungen als Push/Sprachnachrichten:
Und trage vorher deine warncelle für DWD ins Skript ein.
Ok, finde für Passau nix?
Hier eintragen?
// Standalone Datenquelle /* nur Gemeinde/Landkreis/Großstädte werden verwendet: https://www.dwd.de/DE/leistungen/opendata/help/warnungen/cap_warncellids_csv.csv?__blob=publicationFile&v=3 */ var dwdWarncellId = ''; // Deaktivieren mit '' var dwdBundesland = ''; // 3 BuchstabenUWZDE94032
Bundesland ???@sigi234 sagte in [Script] DWD/UWZ/NINA Warnungen als Push/Sprachnachrichten:
var dwdWarncellId = '109262000';Bundesland wird nicht verwenden
-
@sigi234
Zu dem anderen Problem. Ich weiß gerade nicht wo da der Wurm drin ist. Bei mir erstellen sich die States alle so wie es soll. Vielleicht solltest duvar scriptOverrides = true;stellen, das skript 1 Minuten laufen lassen und es dann wieder auf false stellen. Und trage vorher deine warncelle für DWD ins Skript ein.
@ticaki sagte in [Script] DWD/UWZ/NINA Warnungen als Push/Sprachnachrichten:
Zu dem anderen Problem. Ich weiß gerade nicht wo da der Wurm drin ist.
Fehler ist weg, habe mal unter Config alles alte gelöscht.
Edit:
Doch nicht.
avascript.0 2021-12-26 10:45:48.575 info script.js.Sigi.UWZ_DWD_NINA18: info: [object Object] javascript.0 2021-12-26 10:45:48.575 info script.js.Sigi.UWZ_DWD_NINA18: info: 400 javascript.0 2021-12-26 10:45:48.575 info script.js.Sigi.UWZ_DWD_NINA18: info: <?xml version="1.0" encoding="UTF-8"?><ows:ExceptionReport xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.0.0" xsi:schemaLocation="http://www.opengis.net/ows/1.1 https://maps.dwd.de/geoserver/schemas/ows/1.1.0/owsAll.xsd"><ows:Exception exceptionCode="NoApplicableCode"><ows:ExceptionText>java.lang.ClassCastException: Cannot cast java.lang.String to java.math.BigDecimalCannot cast java.lang.String to java.math.BigDecimal</ows:ExceptionText></ows:Exception></ows:ExceptionReport> javascript.0 2021-12-26 10:45:48.575 info script.js.Sigi.UWZ_DWD_NINA18: info: getDataFromServer() 5. -
Bekannte Fehler:
Ich hab gerade 6 Aufgehoben Meldung bekommen. Kann mich aber die nächsten Tage nicht darum kümmern.
-
Bekannte Fehler:
Ich hab gerade 6 Aufgehoben Meldung bekommen. Kann mich aber die nächsten Tage nicht darum kümmern.
Verwirrend:
//UWZ - Landeskennung - Postleitzahl UWZDE12345 var uwzWarncellId = 'UWZATXXXXX'; // Deaktivieren mit ''Warum DE?
Für Deutschland sieht die ID so aus: 'UWZDE12345' UWZDE + PLZUWZDE + PLZ - für was?
// Standalone Datenquelle /* nur Gemeinde/Landkreis/Großstädte werden verwendet: https://www.dwd.de/DE/leistungen/opendata/help/warnungen/cap_warncellids_csv.csv?__blob=publicationFile&v=3 */ var dwdWarncellId = '109262000'; // Deaktivieren mit '' var dwdBundesland = ''; // 3 BuchstabenAngeben entnehme ZAHL aus CSV
-
Bekannte Fehler:
Ich hab gerade 6 Aufgehoben Meldung bekommen. Kann mich aber die nächsten Tage nicht darum kümmern.
@ticaki sagte in [Script] DWD/UWZ/NINA Warnungen als Push/Sprachnachrichten:
Bekannte Fehler:
Ich hab gerade 6 Aufgehoben Meldung bekommen. Kann mich aber die nächsten Tage nicht darum kümmern.
Dito, bekomme 3
-
Verwirrend:
//UWZ - Landeskennung - Postleitzahl UWZDE12345 var uwzWarncellId = 'UWZATXXXXX'; // Deaktivieren mit ''Warum DE?
Für Deutschland sieht die ID so aus: 'UWZDE12345' UWZDE + PLZUWZDE + PLZ - für was?
// Standalone Datenquelle /* nur Gemeinde/Landkreis/Großstädte werden verwendet: https://www.dwd.de/DE/leistungen/opendata/help/warnungen/cap_warncellids_csv.csv?__blob=publicationFile&v=3 */ var dwdWarncellId = '109262000'; // Deaktivieren mit '' var dwdBundesland = ''; // 3 BuchstabenAngeben entnehme ZAHL aus CSV
@sigi234 sagte in [Script] DWD/UWZ/NINA Warnungen als Push/Sprachnachrichten:
uwzWarncellId
Hab das verbessert.
Jedoch uwzWarncellId wird nicht mehr verwendet. geht jetzt alles über regionname. Wenn das alles funktioniert, werde ich aufräumen und die Kommentare verbessern -
@sigi234 sagte in [Script] DWD/UWZ/NINA Warnungen als Push/Sprachnachrichten:
uwzWarncellId
Hab das verbessert.
Jedoch uwzWarncellId wird nicht mehr verwendet. geht jetzt alles über regionname. Wenn das alles funktioniert, werde ich aufräumen und die Kommentare verbessern@ticaki sagte in [Script] DWD/UWZ/NINA Warnungen als Push/Sprachnachrichten:
@sigi234 sagte in [Script] DWD/UWZ/NINA Warnungen als Push/Sprachnachrichten:
uwzWarncellId
Hab das verbessert.
Jedoch uwzWarncellId wird nicht mehr verwendet. geht jetzt alles über regionname. Wenn das alles funktioniert, werde ich aufräumen und die Kommentare verbessernJupp, wenn alles ok ist werde ich mal das komplette Skript verwenden ohne Update ab 123456 und vorher alle DP in den Objekte löschen.
-
Deprecated
Wird zum Adapter weiterentwickelt und es finden keine Verbesserungen oder Fehlerbehebungen mehr statt. Abgesehen von kritischen.
https://forum.iobroker.net/topic/68595/test-adapter-weather-warnings
Das Script:
DWD-UWZ-NINA-Pushwarnungen-iobroker
Vorbemerkung
Diese Anleitung ist schon seit längerem nicht überarbeitet worden, daher nicht ganz aktuell.
Das Skript mit dem anhang beta, wird zur dieser Zeit (08/2023) überarbeitet, da gibt es immer wieder unkommentierte Änderungen. Die Konfiguration wird in diesem ebenfalls immer mal wieder angepasst, so das ein einfaches Copy&Paste nicht ausreicht. Könnt ihr gerne testen, aber es ist expliziert eher ALPHA als beta.Support
Supportthread: Iobroker Forum
Scriptbeschreibung
Mit diesem Script kannst du Warnungen des Deutschen Wetterdienstes, der Unwetterzentrale, der Zentralanstalt für Meteorologie und Geodynamik(Österreich) oder von Nina (Notfallinformationssystem der BRD) als Text oder Sprachausgabe über verschiedene Wege ausgeben. Dieses geschieht entweder automatisch nach dem Eintreffen oder nach Betätigen eines Schalters.
Für DWD, Zamg und UWZ gibt es Datenpunkte um bei bestimmten Gefahren selbst gesteuerte Aktionen auszuführen. Letzteres nutze ich z.B. um bei Sturm/Regen und offenen Fenstern auf diese hinzuweisen.Unterstützt:
- Telegram, Pushover, Home24-Mediaplayer, SayIt, Alexa, Datenpunkt, eMail oder Whatsapp
- Standalone Datenabruf für DWD, NINA, UWZ und Zamg
- Wetterwarnung
- Wetterentwarnung
Funktionen:
- Filter die Warnungen nach doppelt, Gefahr(level) und Höhe
- Umschalten über iobroker zwischen DWD/UWZ/NINA
- Automatischer Versand und/oder manueller Nachrichtenversand (in Lang- oder Kurzform)
- Zeitschaltuhr für Sprachausgabe
- Datenpunkte mit der Startzeit, Endzeit, Type, Schlagzeile, Beschreibung, Farbe für Level(bgcolor) und höchstem Warnlevel dieses Typs
- Datenpunkthauptpfade sind konfigurierbar incl. 0_userdata
- Konfigurationsprüfung soweit möglich
- Automodus und einzelne Pushdienste über iobroker schaltbar, sowohl für Automodus als auch Manuell
- Optimierte Sprachausgabe
Kleinkram:
- Sprachausgabe: Sturmdetails werden ausgefiltert oder korrekt ausgesprochen (konfigurierbar)
- Sprachausgabe: Pause zwischen dem Absenden der einzelnen Warnungen an die Wiedergabeeinheit konfigurierbar.
- Manuelle Sprachnachrichten können die Zeitschaltuhr missachten. (konfigurierbar)
- Multi-User/Device bei fast allen Pushdiensten verfügbar (außer Datenpunkt & pushover & whatsapp)
- Autorestart bei Datenpunkterstellung
- Alexa und SayIt mit Lautstärkeeinstellung. Alexagruppen unterstützen keine Lautstärke trotzdem konfigurieren.
- Zusätzliche Hervorhebung konfigurierbar über attentionWarningLevel (im Betreff/Ansage)
- Filter für Nina-sender
- Namesbezeichner für Nina verfügbar, diese werden benötigt, falls in der Warnung Ort genannt wird, das auszugeben und damit die Bedeutung der Warnung hervorzuheben.
Dank an:
- Mic für die createUserStates() Funktionen
- CruziX der diese eingebaut hat.
- crunchip, sigi234, Latzi fürs Testen und Ideen
- die ursprünglichen Authoren s.o. (im Skript)
Bedeutung der Farben:
- 0 - Grün
- 1 - Dunkelgrün (wobei tails entfernt)
- 2 - Gelb Wetterwarnungen (Stufe 2)
- 3 - Orange Warnungen vor markantem Wetter (Stufe 3)
- 4 - Rot Unwetterwarnungen (Stufe 4).
- 5 - Violett Warnungen vor extremem Unwetter (DWD -> Weltuntergang nach aktueller Erfahrung und Nina -> höchste Stufe
Vorbemerkung zur Konfigurationen
Update: Das Skript wird in Zukunft keine externen Adapter mehr benötigen oder unterstützen.
Das Skript und die Dokumentation wurden zu erst nur für externe Adapter geschrieben, daher beziehen sich vieles auf die Zusammenarbeit mit diesen. Wenn ihr den integrierten Datenabruf verwenden wollt, findet ihr unter Objekten im Unterverzeichnis0_userdata.0.wetterwarnung1.config.basiskonfiguration.warnzelleDie Warnzellen die verwendet werden. Ihr könnt dort Warnzellen hinzufügen und entfernen. Im Unterschied zu allen anderen Datenpunkten die sich über die Objekte verändern lassen, überschreiben die Änderungen dort jedoch nicht die Einstellungen im Skript. Wenn das Skript gestartet wird, werden alle im Skript definierten Warnzellen dort eingetragen, anschließend werden alle dort eingetragenen Warnzellen vom Skript eingelesen und verwendet. Folglich könnt ihr keine Warnzellen löschen die im Skript definiert sind. Folgenden Variablen werden für die Definition von Warnzellen verwendet.
Update: Das wird alles über Datenpunkte erledigt
Konfiguration in ioBroker/Objekte unter mainStatePath.config
- DWD/UWZ/NINA auf true stellen um den jeweiligen Modus zu aktiveren.
- Mode ist aus Kompatibilitätsgründen drin und kann als Zeichenkette UWZ usw enthalten.
- Punkte unter .auto aktiveren oder deaktivieren den automatischen Versand von Warnmeldungen.
- .on schaltet den kompletten automatischen Versand an/aus.
- die Restlichen schalten für einen bestimmten Modus eine bestimmte Art an oder aus.
- Punkte unter manuell schalten für das manuelle Auslösen in einem bestimmten Modus die Möglichkeit an oder aus. (z.B. UWZ über alexa aber NINA nicht).
Vorbereitung bei der Verwendung von NINA bei Verwendung des externen Adapters
- mindestens v0.0.22
- in der Adapterkonfiguration diesen Punkt aktivieren: Json der Warnung in den State rawJson speichern (erhöhter Speicherbedarf)
Konfiguration bei Verwendung des Skript internen Datenabrufs für DWD, ZAMG, UWZ, NINA (keine anderen Adapter nötig)
- für UWZ konfiguriert regionName. [['UWZ + DE + PLZ','Mein Ort']]
var regionName = [['','']];// var regionName = ['UWZDE13245', 'Entenhausen']-die Warncelle ist die Zahl in der linken Spalte: https://www.dwd.de/DE/leistungen/opendata/help/warnungen/cap_warncellids_csv.csv?__blob=publicationFile&v=3
// Standalone Datenquelle // entnehme ZAHL aus CSV /* nur Gemeinde/Landkreis/Großstädte werden verwendet: https://www.dwd.de/DE/leistungen/opendata/help/warnungen/cap_warncellids_csv.csv?__blob=publicationFile&v=3 */ var dwdWarncellId = ''; // Deaktivieren mit '' einzel: '2334535354' mehrere: ['23423424','23423423']- Bei Zamg einfach die Koordinaten eingeben (müssen in Österreich liegen)
// Koordinaten [{laengen:13.05501,breiten:47.80949}];. var zamgCoordinates = []; // [] ist deaktiviert var uZAMGMitMeteoinformationen = true; // gibt die Wetterinformationen mit der Beschreibung aus: z.B Eine Kaltfront und ein Italientief sorgen im Warnzeitraum...- Für Nina ebenfalls die Koordinaten eingeben (müssen in Deutschland liegen)
// für Nina gebt die Koordinaten für euren Ort ein. ninaCoordinates = [] // ninaCoordinates = [{breiten:51.2277, laengen:6.7735, text:'dadrüben'}, {breiten:53.0511000, laengen:8.6309100, text:'Delmenhorst'}];Konfigurationsparameter NACH dem ersten Start
- DWD/UWZ/NINA muß gesetzt werden, ist alles deaktiviert.
- Anschließend die Einstellungen unter 0_userdata.0.wetterwarnung.config.auto und 0_userdata.0.wetterwarnung.config.manuell kontrollieren. Mit diesen könnt ihr einstellen das z.B DWD über Alexa und Email ausgegeben wird, Nina hingegen nur über Email
- Nach dem ersten Start werden Datenpunkte erstellt, die in Zukunft zur Konfiguration genutzt werden und die Werte im Skript überschreiben. Diese findet ihr unter config
Konfigurationsparameter Script
Konfigurationsparameter vor dem ersten Start
- Der Datenpfad zu allen von diesem Script erstellten Datenpunkten.
var mainStatePath = 'javascript.0.wetterwarnung_test.'; // oder var mainStatePath = '0_userdata.0.wetterwarnung.';- Aktiveren der Ausgabemöglichkeiten. Es muß mindestens 1 Punkt aktiviert sein.
Zu den jeweiligen Optionen muß der entsprechende Adapter installiert werden und eventuell im folgenden noch weitere Konfigurationen vorgenommen werden.
//uPushdienst+= TELEGRAM; //uPushdienst+= PUSHOVER; //uPushdienst+= EMAIL; //uPushdienst+= SAYIT; //uPushdienst+= HOMETWO; // kein Adapter nötig //uPushdienst+= ALEXA; //uPushdienst+= STATE; // kein Adapter nötig //uPushdienst+= IOGO;Um einen Punkt zu aktiveren entferne die //
z.B.uPushdienst+= TELEGRAM;Konfigurationsparameter Allgemein
- Stellt uLogAusgabe auf 0 wenn alles so läuft wie ihr euch das vorstellt.
var uLogAusgabe= 2; // auf 0 gibt es überhaupt keine Ausgabe beim normalen Betrieb.- Mit Hilfe dieser Variablen bestimmt ihr ob Email, Textnachrichten oder Sprachnachrichten voreingestellt ohne Beschreibung (false) und/oder Anweisungen (false) versand werden.
var uSpracheMitBeschreibung = true; // gilt für alle Sprachnachrichten var uSpracheMitAnweisungen = true; // uSpracheMitBeschreibung muß evenfalls true sein um Anweisungen zu erhalten var uHtmlMitBeschreibung = true; // gilt für Email var uHtmlMitAnweisungen = true; // uHtmlMitBeschreibung muß evenfalls true sein um Anweisungen zu erhalten var uTextMitBeschreibung = true; // gilt nicht für Email, aber für alle anderen Textnachrichten var uTextMitAnweisungen = true; // uTextMitBeschreibung muß evenfalls true sein um Anweisungen zu erhalten uTextHtmlMitOhneAlles = false // diese beiden Optionen überschreiben alle oben getroffenen Einstellungen var uSpracheMitOhneAlles = true;- MitOhneAlles folgendes Muster: Warnung vor Typ, für Region, Stufe: Farbe, Tag Tageszeit
- Beispiel: Warnung vor Sturm für Köln, Stufe: gelb, heute abend
Sprachausgabe weitere Einstellungen
- Wenn die Sprachausgabe manuell ausgelöst wird, kann die Sprachausgabewarteschlage gelöscht (true) oder die abgerufenen Nachrichten angehangen werden (false).
var uManuellClickClearSpeakMessageList = true;- Die Sprachausgabe kann die Details zur Windgeschwindigkeit ausblenden (false) oder aussprechen (true)
var windForceDetailsSpeak = false;Zeitschaltuhr für Sprachausgabe
- Ab wieviel Uhr darf die Sprachausgabe verwendet werden (Mo-Fr)
var startTimeSpeak = '6:45';- Ab wieviel Uhr darf die Sprachausgabe am Wochenende verwendet werden (Sa-So)
var startTimeSpeakWeekend = '9:00';- Wann endet die Sprachausgabeabends
var endTimeSpeak = '22:30';- Das manuelle Auslösen der Sprachausgabe berücksichtigt die Zeitschaltuhr (false) es ignoriert sie (true)
var forcedSpeak = true;Filtermöglichkeiten für Warnungen
- minlevel hiermit bestimmt man ab welchem Level Warnungen von diesem Skript berücksichtigt werden. Dieser Wert sollte nicht höher als 3 eingestellt sein.
const minlevel = 1- attentionWarningLevel Warnungen gleich/über diesem Wert werden extra hervorgehoben. Die Überschriften zeigen auf Gefahr hin. Pushover-Nachrichten werden mit höherer Prioritätversand. Alle internen nicht einstellbaren Filter/ Filter die im 2. Konfigurationsabschnitt stehen übergehen diese Warnung.
const attentionWarningLevel = 4- Warnungen von DWD und UWZ kommen gelegentlich mit einer von/bis Höhenangabe.
- Tragt bitte hier die Höhe des tiefesten Punktes in eurem Gebiet ein, den ihr in eurem täglichen Leben aufsucht. In meiner Region kommen Meldungen eher selten mit dem "bis" Eintrag.
const minhoehe = 0- Hier den höchsten Punkt. Dieser wird mit dem "von" Eintrag verglichen. Ich nehme die Höhe meines Ortes 350m +/- 100m
const maxhoehe = 5000Konfigurationsparameter für Pushmöglichkeiten
- optionale Punkte brauchen nicht angepasst zu werden, wenn die Möglichkeit oben aktiviert wurde.
- nicht optionale Punkte müssen angepasst/überprüft werden, wenn die Möglichkeit oben aktiviert wurde.
Einstellungen zu Telegram: (optional)
- Stelle hier Optional bestimmte Nutzer oder ChatID ein. Einzelnutzer ['Hans']; Multinutzer ['Hans', 'Gretel']; Nutzer vom Adapter übernehmen [];
- Die Instanz nur anpassen, wenn deine davon abweicht. Das gilt für jede Instanzeinstellung
var telegramUser = ['']; var telegramChatId = ['']; var telegramInstanz = 'telegram.0';eMail: (optional)
- Stelle hier Optional 1 Emailadresse ein, von der versendet wird, und mehrere Emailadressen die empfangen sollen.
var senderEmailID = [""];// 1 Eintrag erlaubt [] oder ["email1"] var empfaengerEmailID = [""];// Mehrere Empfänger möglich. [] oder ["email1"] oder ["email1","email2"] var emailInstanz = 'email.0';Pushover: (optional)
- DeviceName, hier könnt ihr eines der angemeldeten Gerät bestimmen, das die Nachrichten erhalten soll. Ist kein Gerät bestimmt bekommen alle die Nachricht.
- uPushoverSound bietet euch die Möglichkeit einen eigenen Sound für die Nachricht auszuwählen. Was ihr dort eintragen könnt findet ihr dort: https://pushover.net/api#sounds
var uPushoverDeviceName = ''; var uPushoverSound = ''; var pushoverInstanz = 'pushover.0';ioGo (optional)
- ioGoUser: Tragt keinen, einen, oder mehrere "ID des Gerätes" ein.
var ioGoUser = [''];Home24:
- Das ist ungetestet, benutzt besser SayIt. Eingabe IP-Adresse incl. Port für Home24-Mediaplayer mehrere möglich
var idMediaplayer = ["192.168.178.x:Port"]; // (muß einen sinnvollen Wert beinhalten, wenn aktiviert)SayIt
- idSayIt muß korrekt ausgefüllt sein, mit dem Datenpfad zum .text Datenpunkt, mehrere möglich.
- sayItVolumen muß die gleiche Anzahl an Einträgen haben wie idSayIt 0-100
var idSayIt = ["sayit.0.tts.text"]; // (muß einen sinnvollen Wert beinhalten, wenn aktiviert) var sayItVolumen = [30]; // gleiche Anzahl wie idSayItAlexa
- idAlexaSerial beinhaltet die Seriennummer deines Echos/deiner Echos. var idAlexaSerial =['G090RV32984110Y', 'G090RV32984110Y'];
- alexaVolumen 0-100 die gleiche Anzahl wie idAlexaSerial z.B. [30,30];
var idAlexaSerial = ['']; var alexaVolumen = [30]; var alexaInstanz = 'alexa2.0';Konfigurationsparameter zu den Modi DWD, UWZ, NINA
- Einstellungen zur Unwetterzentrale/UWZ:
Hier gibts du die UWZ RegionID an. Also z.B. UWZDE12345 und den Namen deines Ortes z.B. Entenhausen.
var regionName = [['UWZDE12345','Entenhausen']];- Einstellungen zu Nina
- Hier stellt bitte euren Ort und euren Landkreis ohne (Kreis, Landkreis, etc) ein. Warnungen von Nina kommen mit Aufgelisteten Orten, das Skript sucht dort drin nach euren Bezeichnern und gibt den gefundenen in der Warnung mit aus.
var uGemeinde = ''; ## Support - Findet ihr: https://forum.iobroker.net/topic/30616/script-dwd-uwz-nina-warnungen-als-push-sprachnachrichten/216 [s=DWD/UWZ/NINA Script überarbeitet von ticaki] [Script auf Github](https://github.com/ticaki/DWD-UWZ-NINA-Pushwarnungen-iobroker) [/s]Hallo, warum bekomme ich einen Log obwohl das Skript gestoppt ist?
-
@sigi234
Scriptadapter neustarten. Das Skript ist zu groß und wenn du das zügig stopps und wieder startest laufen mehrere Instanzen. Deshalb ist diese RandomID im Debug drin. z.B. Kann das erstellen und löschen alle States die für Alert benötigt werden gut 6 Minuten dauern... Löschen von States ist mit Admin 5 wirklich schrecklich langsam.
Ich baue in der nächsten Version in diese langen Prozesse einen Notausstieg ein.