NEWS
[Script] DWD/UWZ/NINA Warnungen als Push/Sprachnachrichten
-
//Version 0.97.19.2
- Kompatibilität zur Stableversion
Sind nur die Änderungen die oben schon als Code gepostet wurden.
-
Ich leider nochmal.
Nach meinem letzten Post habe ich auf das damals aktuelle Script gewechselt welches einige Zeit lief.
Jetzt sehe ich heute diese Meldungen im Log:
javascript.0 2021-07-29 16:00:23.237 error at processTimers (internal/timers.js:500:7) javascript.0 2021-07-29 16:00:23.237 error at listOnTimeout (internal/timers.js:557:17) javascript.0 2021-07-29 16:00:23.237 error at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:2117:34) javascript.0 2021-07-29 16:00:23.237 error at Object.checkWarningsMain (script.js.common.Ansagen.DWD_UWZ_NINA:1174:17) javascript.0 2021-07-29 16:00:23.237 error at sendMessage (script.js.common.Ansagen.DWD_UWZ_NINA:1273:72) javascript.0 2021-07-29 16:00:23.237 error Error in callback: ReferenceError: uTelegramUseStdUser is not defined javascript.0 2021-07-29 15:50:22.310 error at processTimers (internal/timers.js:500:7) javascript.0 2021-07-29 15:50:22.310 error at listOnTimeout (internal/timers.js:557:17) javascript.0 2021-07-29 15:50:22.310 error at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:2117:34) javascript.0 2021-07-29 15:50:22.310 error at Object.checkWarningsMain (script.js.common.Ansagen.DWD_UWZ_NINA:1174:17) javascript.0 2021-07-29 15:50:22.310 error at sendMessage (script.js.common.Ansagen.DWD_UWZ_NINA:1273:72) javascript.0 2021-07-29 15:50:22.309 error Error in callback: ReferenceError: uTelegramUseStdUser is not defined javascript.0 2021-07-29 15:40:22.532 error at processTimers (internal/timers.js:500:7) javascript.0 2021-07-29 15:40:22.532 error at listOnTimeout (internal/timers.js:557:17) javascript.0 2021-07-29 15:40:22.532 error at Timeout._onTimeout (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:2117:34) javascript.0 2021-07-29 15:40:22.532 error at Object.checkWarningsMain (script.js.common.Ansagen.DWD_UWZ_NINA:1174:17) javascript.0 2021-07-29 15:40:22.531 error at sendMessage (script.js.common.Ansagen.DWD_UWZ_NINA:1273:72) javascript.0 2021-07-29 15:40:22.531 error Error in callback: ReferenceError: uTelegramUseStdUser is not defined
Jemand ne Idee was da jetzt falsch läuft?
-
@wendy2702
Ja ichDa fehlt eine Konfigurationsvariable. In diesem Fall ist es(Zeile 199):
var uTelegramUseStdUser = false; // Verwende immer auch die im Adapter gespeicherten Benutzer.
Einfach hinzufügen und wenn weitere Meldung mit XYZ is not defined kommen, fehlen noch weitere.
-
Also hier:
Wo ist Sie hin? Habe ich beim Script Update mist gebaut oder was könnte passiert sein?
-
@wendy2702
Jein, wenn du nach langer Zeit mal ein Update machst, wird sich auch die Konfiguration verändert haben, und dann reicht es nicht aus nur ab 123456 zu kopieren.Im aktuellen Skript sieht die Konfiguration für Telegramm so aus:
/* Konfiguration Telegram */ var telegramUser = ['']; // Einzelnutzer ['Hans']; Multinutzer ['Hans, Gretel']; Nutzer vom Adapter übernehmen []; var telegramChatId = ['']; // Mehrfach Einträge möglich ['Gruppe1','Gruppe2'] var uTelegramReplyMarkup = null; // Falls ihr ein Telegrammmenü verwendet, könnt ihr hier einen Weg zurück definieren z.B.: {keyboard: [['Zurück']], resize_keyboard: true}; var uTelegramAllowNotification = true; // Erlaube Telegramnotification (Benachrichtigungston/Hinweise auf dem Empfangsgerät) var uTelegramUseStdUser = false; // Verwende immer auch die im Adapter gespeicherten Benutzer. /* Konfiguration Pushover */ var uPushoverDeviceName = ''; // ein bestimmtes Gerät z.B: ['droid4']; var uPushoverSound = ''; // Sounds siehe: https://pushover.net/api#sounds //Konfiguration von ioGo var ioGoUser = ['']; // // Einzelnutzer ['Hans']; Multinutzer ['Hans', 'Gretel']; Nutzer vom Adapter übernehmen [];
-
@ticaki OK.
Dann bei Zeiten mal das komplette Script neu "kopieren" und Einstellungen anpassen.
Danke!
-
Hi leute,
erstmal danke für die Bemühungen sowas bereitzustellen. Leider bekomme ich das aber trotzdem nicht zum Laufen.
Ich habe die Konfiguration mal nur minimalistisch editiert, da ich einfach mal schauen wollte, wie zuverlässig die Warnungen kommen, bevor ich meine bessere Hälfte damit verrückt mache .
UWZ und Pushover sind aktiviert. Mein UWZ Code ist UWZAT01197 und es spuckt irgendwie nichts aus. Die letzten 2 Tage hatten wir lt. uwz.at immer mal eine rote Warnstufe (Gewitter und Regen), aber irgendwie kommt da nichts.Der Datenpunkt "config.uwz" ist TRUE und unter "config.auto/manuell" ist jeweils Pushover auf TRUE und das manuelle Anstoßen der Meldung über "commands.pushover" funktioniert auch.
Im Log ist leider nichts zu sehen.Da ich vermute, dass es sich um einen Layer8 Fehler handelt, wäre ich für eure Hilfe dankbar
mfg
-
@patti_9000
Ist das UWZ Skript installiert?
Was passiert wenn du unter manuell/Pushover auf den Knopf drückst?
steht was in ./message? -
@ticaki ach bin ich bescheutert... ich dachte, dass das im neuen skript enthalten sei, aber das hätte ich am ende des posts lesen können... sorry! läuft.
Kann ich irgendwie eine zweite Pushover Instanz ansteuern? (Theoretisch könnte ich die Emails aktivieren, aber anders wärs eleganter) -
@patti_9000
Nein das geht nicht, kannst aber natürlich das Skript 2 mal laufen lassen. Das ordentlich einzubauen ist aufwenig und es rein zu fummeln, wäre nur für deine lokale Instanz akzeptabel. -
@ticaki hab gerade admin 5 eingerichtet, entsprechend javascript auf 5.2.8 angehoben, beim starten der instanz erscheint nun folgendes
javascript.0 2021-08-01 11:07:01.405 error script.js.Ansagen.Wetterwarnung-Push: setForeignState: Error: DB closed javascript.0 2021-08-01 11:07:01.404 error script.js.Visualisierung.Wetterwarnung_UWZ: setForeignState: Error: DB closed
hast du da eine Idee?
-
@crunchip
Ich nutze Admin v5.1.19 und Javascript v5.2.8, bekomme jedoch keine solche Fehlermeldung. Da hab ich keine Idee, was es sein könnte. -
@ticaki
vllt war das auch nur so ein "einmaliges Ding"
habe soeben die Instanz testweise neu gestartet, diesmal kam keine error Meldung mehr.
Möglicherweise kommt die Meldung erst beim nächsten javascript Update wieder bzw war es dem Update auf die v5.2.8 geschuldet.
hab mich auch verguckt, die Meldungen waren nicht beim starten der Instanz sondern beim beenden des angestoßenen Update`s -
Ich hab das Skript Version 0.97.19.2 installiert, ab "Konfiguration ab hier" eingerichtet und möchte nur UWZ nutzen.
Ich klopf mal die Konfiguration rein/* Konfiguration ab hier */ /* ************************************************************************* */ /* ************************************************************************* */ /* ************************************************************************* */ /* Konfiguration der zu nutzenden Ausgabe um //uPushdienst+= PUSHOVER; zu aktivieren, bitte die // enfernen, also uPushdienst+= PUSHOVER; */ uPushdienst+= TELEGRAM; // Auskommentieren zum aktivieren //uPushdienst+= PUSHOVER; // Auskommentieren zum aktivieren //uPushdienst+= EMAIL; // Auskommentieren zum aktivieren. Einstellungen nicht vergessen //uPushdienst+= SAYIT; // Auskommentieren zum aktivieren. Einstellungen nicht vergessen //uPushdienst+= HOMETWO; // Auskommentieren zum aktivieren. Einstellungen nicht vergessen uPushdienst+= ALEXA; // Auskommentieren zum aktivieren. Einstellungen nicht vergessen //uPushdienst+= STATE; // Auskommentieren zum aktivieren. State befindet sich unter mainStatePath.message //uPushdienst+= IOGO; // Auskommentieren zum aktivieren. Einstellungen nicht vergessen //uPushdienst+= STATE_HTML; // Auskommentieren zum aktivieren. State_html befindet sich unter mainStatePath.messageHtml als Tabelle /* ************************************************************************* */ /* Beispiele zur weiteren Konfiguration */ /* ************************************************************************* */ /* /* kein oder einen Eintrag möglich: /* var senderEmailID = ["max@mustermann.de"]; /* /* kein oder mehrfach nach gleichem Muster [1, 2, 3] bzw. ['1', '2', '3'] Einträge /* '' ist das selbe wie "", jedoch nicht mischen. /* /* var empfaengerEmailID = ["max@musterman.de","max2@musterman.de"]; /* var telegramUser = []; // leer /* var telegramUser = ['']; // leer /* var telegramUser = ['Hans']; // User mit Namen Hans /* var telegramUser = ['Hans', 'Gretel']; // User mit Namen Hans und User mit Namen Gretel /* var idSayIt = ["sayit.0.tts.text"]; /* var sayItVolumen = [60]; // Zahl ohne '' /* var idSayIt = ["sayit.0.tts.text","sayit.1.tts.text"]; /* var sayItVolumen = [60, 30]; // mehrfach Zahl ohne '' /* var ioGoUser = ['max@musterman.de']; /* var idAlexaSerial =['G090RV32984110Y', 'G090RZ3345643XR']; /* var alexaVolumen = [40, 30]; // Lautstärke die gleiche Anzahl an Einträgen wie bei idAlexaSerial /* /* ************************************************************************* */ /* weitere Konfiguration */ /* ************************************************************************* */ /* für UWZ Regionnamen eingeben "Warnung der Unwetterzentrale für XXXX" */ /* Textbeispiel anstatt Entenhausen: 'Stadt / Dorfname' 'Berlin' 'den Regionsbezeichnung' 'den Schwarzwald' ''*/ /* var regionName = ['UWZDE13245', 'Entenhausen'] */ var regionName = [['UWZAT01629','Graz']]; // für Nina wird die Gemeinde und der Landkreis benötigt. Am besten von hier kopieren: https://warnung.bund.de/assets/json/suche_channel.json // ohne die kryptischen Zeichen. Das ersetzt nicht den NINA-Adapter var uGemeinde = ''; // hier steht zum Beispiel, Hamburg, Unterdorf var uLandkreis = ''; // hier Kreis Bitburg, Landkreis Fürth /* Einstellungen zur Emailbenachrichtigung*/ var senderEmailID = [""]; // mit Sender Emailadresse füllen. email Adapter muß installiert sein. 1 Eintrag erlaubt [] oder ["email1"] var empfaengerEmailID = [""]; // mit Empfänger Emailadresse füllen. Mehrere Empfänger möglich. [] oder ["email1"] oder ["email1","email2"] /* Konfiguration Sprachausgabe über Home24 - Mediaplayer */ //var idMediaplayer = ["192.168.178.x:Port"]; var idMediaplayer = [""]; // Eingabe IP-Adresse incl. Port für Home24-Mediaplayer mehrere Möglich - ungetestet /* Konfiguration Telegram */ var telegramUser = []; // Einzelnutzer ['Hans']; Multinutzer ['Hans, Gretel']; Nutzer vom Adapter übernehmen []; var telegramChatId = ['']; // Mehrfach Einträge möglich ['Gruppe1','Gruppe2'] var uTelegramReplyMarkup = null; // Falls ihr ein Telegrammmenü verwendet, könnt ihr hier einen Weg zurück definieren z.B.: {keyboard: [['Zurück']], resize_keyboard: true}; var uTelegramAllowNotification = true; // Erlaube Telegramnotification (Benachrichtigungston/Hinweise auf dem Empfangsgerät) var uTelegramUseStdUser = true; // Verwende immer auch die im Adapter gespeicherten Benutzer. /* Konfiguration Pushover */ var uPushoverDeviceName = ''; // ein bestimmtes Gerät z.B: ['droid4']; var uPushoverSound = ''; // Sounds siehe: https://pushover.net/api#sounds //Konfiguration von ioGo var ioGoUser = ['']; // // Einzelnutzer ['Hans']; Multinutzer ['Hans', 'Gretel']; Nutzer vom Adapter übernehmen []; /* Konfiguration Sprachausgabe über SayIt */ var idSayIt = ["sayit.0.tts.text"]; // mehrfach Einträge möglich var sayItVolumen = [30]; // gleiche Anzahl wie idSayIt /* Konfiguration Sprachausgabe über Alexa /* mehrere Einträge möglich, bei mir ging nur der Echo, 2 dots 2.Gen reagieren nicht auf announcement. */ var idAlexaSerial = ['c74f5a9caace491284973d37be8644e6']; // die reine Seriennummer des Echos z.B.: var idAlexaSerial =['G090RV32984110Y', 'G090RV32984110Y'] var alexaVolumen = [30]; // Lautstärke die gleiche Anzahl an Einträgen wie bei idAlexaSerial // Filtereinstellungen const minlevel = 1 // Warnungen unterhalb dieses Levels nicht senden; const attentionWarningLevel = 4 // Warnung gleich oder oberhalb dieses Levels mit zusätzlichen Hinweisen versehen const minhoehe = 0 // Warnung für eine Höhe unterhalb dieses Wertes nicht senden const maxhoehe = 5000 // Warnung für eine Höhe oberhalb dieses Wertes nicht senden //Formatierungsstring für Datum / Zeit Alternative "TT.MM.YYYY SS:mm" KEINE Anpassung nötig const formatierungString = "TT.MM.YY SS:mm"; // Sprachausgabe Zeiten // Für durchgehende Sprachausgabe die Einstellung der Zeiten auf '' setzen. z.B. var startTimeSpeak = ''; var startTimeSpeak = '6:45';// Zeiten mo - fr ab der Sprachausgaben ok sind. Nicht unter 6 Uhr gehen oder den Schedule ändern var startTimeSpeakWeekend = '9:00';// sa + so Bemerkung siehe oben var endTimeSpeak = '22:30'; // ab diesem Zeitpunkt gibt es keine Sprachausgabe // Ein manuellen Auslösen von Sprachnachrichten, löscht alle noch nicht ausgegebenen Sprachnachrichten aus der Liste. var uManuellClickClearSpeakMessageList = true; //Auslösen der Pushnachricht über States ignoriert Sprachausgabezeiten var forcedSpeak = true; // keine Ansage über m/s Knoten und Windstärke. Die Angabe mit Kilometer pro Stunde wird angesagt var windForceDetailsSpeak = false; /* ************************************************************************* */ /* Nur Anpassen wenn nötig */ /* ************************************************************************* */ // Die Geschwindigkeit gibt an wie lange das Skript wartet bevor es eine neue Nachricht an die Sprachausgabe sendet. konstanten[3].delay /*SayIt*/ = 86; // Vorlese Geschwindigkeit pro Zeichen in ms konstanten[4].delay /*Home24*/ = 90; // Vorlese Geschwindigkeit pro Zeichen in ms konstanten[5].delay /*Alexa*/ = 86; // Vorlese Geschwindigkeit pro Zeichen in ms // Mit diesen Optionen verringert man die Nachrichtenlänge in dem Beschreibung oder Handlungsanweisungen // nicht der Nachricht hinzugefügt werden. 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 var uSpracheMitBeschreibung = true; // gilt für alle Sprachnachrichten var uSpracheMitAnweisungen = true; // uSpracheMitBeschreibung muß evenfalls true sein um Anweisungen zu erhalten // Obergrenze an Zeichen die über Sprachausgabe ausgegeben werden, bei überschreitung wird nur die Schlagzeile ausgegebenen var uMaxCharToSpeak = 0; // 0 = aus - Zahl größer als 0 = maximal Zeichenanzahl (1000 sind rund 86 Sekunden bla bla) // Automodus Filter um Warnungen unterhalb attentionWarningLevel von DWD, UWZ oder NINA zu unterdrücken // Sprachausgabe bei auto und manuell unterdrückt. // Diese Warnungen sind vorhanden, sie werden nur in den benannten Fällen ausgeblendet. // Ist eine feste Vorgabe überschreibt alles andere var uFilterList = 0; // generelles Filter für den AutoModus ( = DWD + UWZ; oder = NINA; oder = 0;), außer Warnungslevel ist gleich/über attentionWarningLevel var uAutoNinaFilterList = ['CAP@hochwasserzentralen.de']; //Nina only. Filter diesen Sender raus s.o. - mehrere ['abc','cde']; var uwzPath= 'javascript.0.UWZ'; var dwdPath= 'dwd.0'; var ninaPath= 'nina.0' var telegramInstanz= 'telegram.0'; var pushoverInstanz= 'pushover.0'; var ioGoInstanz= 'iogo.0'; var alexaInstanz= 'alexa2.0'; var emailInstanz= 'email.0'; var uLogAusgabe= true; // auf false gibt es überhaupt keine Ausgabe beim normalen Betrieb. /* ************************************************************************* */ /* ************************************************************************* */ /* ************************************************************************* */ /* Konfiguration Ende */
in Telegram kommt nur "Alle Warnmeldungen der UWZ wurden aufgehoben." aber ich seh nie welche Warnmeldungen.
var regionName = [['UWZAT01629','Graz']];
sollte richtig sein, ich ging nach Anleitung vor und Graz habe ich ergänzt bin aber nicht sicher ob dies überhaupt nötig wäre oder nicht die Konfiguration verwirrt.
Hat jemand eine Idee was falsch sein könnte an der Konfiguration?
Raspberry und iobroker mit aktuellsten Updates und neuestem Admin GUI ist installiert. -
@grazer75 ich sehe hier keinen Fehler, sollte so passen
-
@crunchip
Fehler gefunden
Unter Objekte/Wetterwarnung/Config bei UWZ war noch false gesetzt.
Nachdem ich true eingestellt habe, läuft es -
@grazer75 prima, wenn es nun klappt, daran hatte ich ehrlich gesagt gar nicht gedacht, da ich davon ausging, das dann gar keine Meldung kommt, also auch keine "Warnung wurde aufgehoben"
-
@crunchip
Wenn es keine Möglichkeit für das Skript gibt eine Entwarnung mitzuteilen, wird an alles konfigurierte eine Entwarnung gesendetund es gibt einen log eintrag den man nicht abschalten kann mit dem Text:Keine erlaubten Versandmöglichkeiten im manuellen Modus/Automatikmodus gefunden!
Wobei wenn ich recht überlege gibts im manuellen Modus ja keine Entwarnungen... Ach egal.
EDIT:
habs geändert so das diese Lognachricht als Fehler dargestellt wird.
-
Muß was korrigieren. Hab den Code falsch verstanden. Es wird nicht immer eine Nachricht versendet, sondern es werden alle konfigurierten Modi (UWZ DWD NINA) verwenden um die Nachricht zu versenden, wenn nichts gefunden wird das es erlaubt, erscheint die Fehlermeldung.
Das Problem oben ... hab keine Ahnung wie man das Skript konfigurieren muß um das hinzubekommen
-
javascript.0 (127) script.js.common.JS.lol: Alle Benachrichtigungen ausgeschaltet, bitte unter ioBroker - Objektansicht .config einstellen.
hi kann mir einer sagen was ich da genau machen muss ^^ sry