NEWS
[Script] DWD/UWZ/NINA Warnungen als Push/Sprachnachrichten
-
@ticaki
AGS ist die 05978 -
update:
v0.97.4
- Änderung im oberen Teil: ca. 92-104 hab die Zeile darüber und darunter mit hineingenommen
/* ************************************************************************ */ // ab nächster Zeile kopieren 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} ]; const TELEGRAM = konstanten[0].value; // die nicht kopieren sondern bis hier hin.
- Nina: lange Urls werden verworfen
- Nina: Urls die nicht ins Muster passen werden verworfen
- lange Nachrichten werden in mehrere Teile aufgesplittet. (Telegram, Pushover, Alexa, SayIT) Bei Sayit weiß ich nicht die Zeichenzahl.
- KK
Für ioGo hab ich es nicht eingebaut, finde da auch nix zur maximalen Zeichenanzahl.
-
Moin,
Erstmal wirklich sehr gutes Script. Ich bin begeistert!
Zwei Fragen habe ich allerdings (und ich komme irgendwie mit dem Scrollen hier noch nicht so zurecht..)-
Brauche ich den NINA-Adapter noch, da die AGS im Script selbst ja auch eingetragen sind? (sind da eig. auch 2 Landkreise wie im Adapter möglich?)
-
Gibt es die Möglichkeit einer Verkürzen Ausgabe? Also z.B. nur die Überschrift einer Meldung? Bei den ganzen Corona-Meldungen ist es doch ehr nervig wenn Alexa erstmal ne halbe Stunde sappelt
-
-
@maddingamer sagte in [Script] DWD/UWZ/NINA Warnungen als Push/Sprachnachrichten:
Moin,
Erstmal wirklich sehr gutes Script. Ich bin begeistert!
Zwei Fragen habe ich allerdings (und ich komme irgendwie mit dem Scrollen hier noch nicht so zurecht..)- Brauche ich den NINA-Adapter noch, da die AGS im Script selbst ja auch eingetragen sind? (sind da eig. auch 2 Landkreise wie im Adapter möglich?)
Ja du brauchst den Nina Adapter.
Das muß ich mal eindeutiger beschreiben. Da kommt nicht die AGS rein.
Der Nina Adapter gibt die Meldungen für die AGS aus. Das können Meldungen für das Bundesland, oder für den Kreis oder genau für deine Stadt/Dorf sein. Das Script sucht nach dem von dir benannten Kreis oder Stadt/Dorf und gibt diese zusätzlich aus, so das man überregionale Warnungen von regionalen unterscheiden kann.Hab z.B. bei Nina schon Trinkwasserwarnungen für 3 Dörfer gesehen.
- Gibt es die Möglichkeit einer Verkürzen Ausgabe? Also z.B. nur die Überschrift einer Meldung? Bei den ganzen Corona-Meldungen ist es doch ehr nervig, wenn Alexa erstmal ne halbe Stunde sappelt
Ich hab Halsschmerzen und trockenen Husten... Gehe davon aus, das ich Zeit hab das einzubauen. Ich hab selbst schon darüber nachgedacht. Ich denke die beste Lösung ist eine Option in der man eine maximale Zeichenanzahl angeben kann. Wenn die Meldung diese übersteigt, wird nur die Headline ausgegeben. (für Sayit & Alexa)
-
v0.97.5
- Neue Konfigurationsoption: uMaxCharToSpeak hier könnt ihr die maximale Anzahl an Zeichen die über die Sprachausgabe ausgegeben werden eingeben. Wird es überschritten wird nur die Schlagzeile ausgegeben.
- ansonsten KK (keine Konfigurationsänderung)
- Telegram Fehler: im ChatId-Zweig war ein Fehler der das Skript beendet hat.
- Sprachausgabe Fehler: Der "x weitere Warnungen" Zähler war kaputt.
v.0.97.5.1
- Wenn uMaxCharToSpeak die Nachricht begrenzt wird "Weiterführende Informationen sind vorhanden." angehangen.
- KK
Einfügen ab ca 224
// 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 ist ein guter Wert)
1000 Zeichen sind rund 86 Sekunden bla bla... die größte aktuelle Meldung sind um die 9 Minuten
-
@ticaki
Mega gut! Ich danke dir!
Könntest du uMaxCharToSpeak auch für z.B. Telegramm einbinden? Auch da würde es mir reichen, wenn ich nur die Headline bekomme, statt so sehr viel Text.. Genauer nachschauen kann man das im Bedarfsfall ja immer nochmalNebenbei noch eine andere Frage: Zum updaten muss man doch auch noch den Block bei Zeile 1071 einfügen.. Das hattest du in deinem Post nicht dazugeschrieben Ich habe einfach direkt nochmal das Script neu von Github geholt.. Daher ist mir das aufgefallen
-
@maddingamer
Update Anleitung steht im Script. da steht im code 123456 von da ab muß man alles kopieren sowie die Änderungen in der Config die ich hier poste. Oder halt komplett -
@ticaki wer lesen kann ist klar im Vorteil... Danke dir
-
@maddingamer sagte in [Script] DWD/UWZ/NINA Warnungen als Push/Sprachnachrichten:
@ticaki
Mega gut! Ich danke dir!
Könntest du uMaxCharToSpeak auch für z.B. Telegramm einbinden? Auch da würde es mir reichen, wenn ich nur die Headline bekomme, statt so sehr viel Text.. Genauer nachschauen kann man das im Bedarfsfall ja immer nochmalDu könntest ja erstmal ab Zeile ca. 1042 diesen Code
das würde es dann für dich schon mal lösen.
Edit: nächstes Posting enthält die eingebaute Version
-
v0.97.6
- Funktion: Das Hinzufügen von Beschreibung und Handlungsanweisungen zu Text- und/oder Sprachnachrichten, kann abgeschaltet werden. Dieses betrifft keine Emailbenachrichtigungen.
- Konfigurationsänderungen bitte einfügen ansonsten KK
Ab ca. 238 einfügen
// Mit diesen Optionen verringert man die Nachrichtenlänge in dem Beschreibung oder Handlungsanweisungen // nicht der Nachricht hinzugefügt werden. var uTextMitBeschreibung = true; // gilt nicht für Email, aber für alle anderen Textnachrichten var uTextMitAnweisungen = true; // uTextMitAnweisungen 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
-
@ticaki Sehr genial! Danke!!
Nochmal eine Frage: Legt das Script irgendwie einen Datenpunkt mit dem Text an, den es "weglässt"?
Ich lasse mir die Warnungen z.B. per Telegramm schicken und da wäre es ggf. sinnvoll, an den Telegramm Bot ein Befehl wie "zeige Beschreibung" oder Ähnliches zu schicken, um dann genauere Infos zu bekommen. Damit man nur mehr Infos bekommt, wenn man sie haben möchte... Kannst du mir folgen was ich meine? Muss nicht unbedingt in dein Script eingebunden werden wenn du da nicht von überzeugt bist, aber eine kleine Hilfe wäre nett -
@maddingamer
Suche in deinem Script nach diesem hier:// Plain text
darunter findest du diesen Code
if ((getPushModeFlag(mode) & CANPLAIN & todoBitmask) != 0) { let pushMsg = headline + getArtikelMode(mode) + area + (bt ? NEWLINE + sTime : '') if (uTextMitBeschreibung) { pushMsg+= NEWLINE + description; if (uTextMitAnweisungen && !!instruction && typeof instruction === 'string' && instruction.length > 2) {
den ersetzt du durch diesen:
if ((getPushModeFlag(mode) & CANPLAIN & todoBitmask) != 0) { let pushMsg = headline + getArtikelMode(mode) + area + (bt ? NEWLINE + sTime : '') if (uTextMitBeschreibung || onClickCheckRun) { pushMsg+= NEWLINE + description; if ((uTextMitAnweisungen || onClickCheckRun) && !!instruction && typeof instruction === 'string' && instruction.length > 2) {
und dann tippst du in Telegram Ww? ein
Nachteil: alle Manuell ausgelösten Textnachrichten haben den vollen Text.
Ich baue mir gerade einen Telegram Handler zusammen mit dem ich meine Bude steuern, Wetterwarnungen anfordern und Treibstoffpreise an meiner Lieblingstankstelle abrufen kann. Keine Ahnung ob das Interessant ist, auf jeden Fall braucht man für den Handler etwas mehr Erfahrung. Mußte über deine Anfrage deshalb etwas lächeln, da ich da schon länger am rumbasteln bin.
-
@ticaki Ich glaube ich belasse es dann erstmal bei den "kurzen" Meldungen.. mit dem ganzen Telegram-Krams steige ich noch nicht so wirklich durch
-
@maddingamer
Jetzt hast du mich falsch verstanden.Nimm die Änderungen im Code vor und tippe Ww? in Telegram.
Das man mit Telegram die Nachrichten anfordern kann ist schon seit langem eingebaut. Nur dass du es mit beschreibungen bekommst erfodert änderungen im Code.
-
Das man mit Telegram die Nachrichten anfordern kann ist schon seit langem eingebaut.
Gibt es dazu irgenwie eine Doku?
Nimm die Änderungen im Code vor und tippe Ww? in Telegram.
Das funktioniert, aber jetzt bekomme ich auch wenn ich über javascript.0.wetterwarnung.commands.telegram die Warnung(en) manuell schicke die ganzen 2 Nachrichten, statt wie ohne die Änderung nur die Headline.. Oder habe ich dich wieder falsch verstanden?
-
@maddingamer
Nope keine Doku ist geheim g das war eigentlich zum Debuggen gedacht.Ich baue den Code gerade um das eine Anforderung über Telegram die Nachrichten in voller Länge schickt und manuell noch immer in Kurzform. Gib mir 20 Minuten.
ist btw. ne gute Idee
-
v0.97.6.1
- über Telegram erhält man mit Wwww Warnungen mit Beschreibung und Handlungsanweisungen unabhängig von den Einstellungen dazu.
- KK
An sinnvollen Kommandos gibt es aktuell nur
Ww? Wwww
Ww? aktiviert command.telegram
Wwww macht das selbe wie Ww? + Es überschreibt kurzzeitig alle Einstellungen zu Textbegrenzungen -
@ticaki Super!
Kann man für das wwww und das ww? irgendwie einen Alias anlegen? Ich bin aktuell dabei ein Button-Menü für Telegram zu bauen und da hätte ich lieber sowas wie aktuelle Warnungen und vollständige Warnungen o.Ä. stehen.. Aber soweit ich verstanden habe, stimmt der gesendete Text immer mit dem auf dem Button überein.. und ww? und wwww auf dem Button ist nicht so einleuchtend finde ichEDIT: Ich glaube am einfachsten und sinnvollsten wäre ein Datenpunkt analog zu javascript.0.wetterwarnung.commands.telegram bzw .alexa. Also z.B. commands.telegram_headline. Den kann ich dann ja triggern..
-
Ähm...
ich benutze folgende Werte die von meinen Telegram Knöpfen gesendet werden:- lange version 2. kurze Version
'DWDUZWNINA#!§$LONG' 'DWDUZWNINA#!§$TT'
Suche einfach in dem Script nach dieser Zeichenkombination und ersetzte sie durch was immer du magst.
Wwww ist aber einfach einzutippen
EDIT: Beispiel Code für die Verwendung von Telegram:
sendTo('telegram', { // user: user, text: 'Click the button', reply_markup: { inline_keyboard: [ [{ text: 'Wetterwarnung kurz', callback_data: 'DWDUZWNINA#!§$TT' }], [{ text: 'Wetterwarnung lang', callback_data: 'DWDUZWNINA#!§$LONG' }] ] } });
Beim nächsten Update wird Ww? so sein, dass es immer die kurze Version ausgibt egal was eingestellt ist.
-
@ticaki Habe jetzt wwww ersetzt und für die kurzen meldungen triggere ich einfach den datenpunkt commands.telegram.. Nicht unbedingt perfekt, aber funktioniert
Zu deinem Beispiel: Das ist natürlich sehr schick, aber ich nutze nicht inline_keyboard sondern nur keyboard.. und da gibt es meines Wissens nach die Aufteilung von text und callback_data leider nicht..