Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. [Script] DWD/UWZ/NINA Warnungen als Push/Sprachnachrichten

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    [Script] DWD/UWZ/NINA Warnungen als Push/Sprachnachrichten

    This topic has been deleted. Only users with topic management privileges can see it.
    • M
      maddingamer last edited by

      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..)

      1. 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?)

      2. 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 😄

      T 1 Reply Last reply Reply Quote 0
      • T
        ticaki Developer @maddingamer last edited by

        @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..)

        1. 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.

        1. 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)

        1 Reply Last reply Reply Quote 0
        • T
          ticaki Developer last edited by ticaki

          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 😞

          M 1 Reply Last reply Reply Quote 0
          • M
            maddingamer @ticaki last edited by

            @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 nochmal 🙂

            Nebenbei 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 😄

            T 2 Replies Last reply Reply Quote 0
            • T
              ticaki Developer @maddingamer last edited by

              @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 🙂

              M 1 Reply Last reply Reply Quote 0
              • M
                maddingamer @ticaki last edited by

                @ticaki wer lesen kann ist klar im Vorteil... Danke dir 😄

                1 Reply Last reply Reply Quote 0
                • T
                  ticaki Developer @maddingamer last edited by ticaki

                  @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 nochmal 🙂

                  Du 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

                  1 Reply Last reply Reply Quote 0
                  • T
                    ticaki Developer last edited by ticaki

                    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
                    
                    
                    M 1 Reply Last reply Reply Quote 0
                    • M
                      maddingamer @ticaki last edited by

                      @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 🙂

                      T 1 Reply Last reply Reply Quote 0
                      • T
                        ticaki Developer @maddingamer last edited by ticaki

                        @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.

                        M 1 Reply Last reply Reply Quote 0
                        • M
                          maddingamer @ticaki last edited by

                          @ticaki Ich glaube ich belasse es dann erstmal bei den "kurzen" Meldungen.. mit dem ganzen Telegram-Krams steige ich noch nicht so wirklich durch 😄

                          T 1 Reply Last reply Reply Quote 0
                          • T
                            ticaki Developer @maddingamer last edited by ticaki

                            @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.

                            M 1 Reply Last reply Reply Quote 0
                            • M
                              maddingamer @ticaki last edited by

                              @ticaki

                              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?

                              T 1 Reply Last reply Reply Quote 0
                              • T
                                ticaki Developer @maddingamer last edited by

                                @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 🙂

                                1 Reply Last reply Reply Quote 1
                                • T
                                  ticaki Developer last edited by ticaki

                                  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

                                  M 1 Reply Last reply Reply Quote 1
                                  • M
                                    maddingamer @ticaki last edited by maddingamer

                                    @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 ich 😄

                                    EDIT: 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..

                                    1 Reply Last reply Reply Quote 0
                                    • T
                                      ticaki Developer last edited by ticaki

                                      Ähm... 😁
                                      ich benutze folgende Werte die von meinen Telegram Knöpfen gesendet werden:

                                      1. 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.

                                      M D 2 Replies Last reply Reply Quote 0
                                      • M
                                        maddingamer @ticaki last edited by

                                        @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..

                                        1 Reply Last reply Reply Quote 0
                                        • T
                                          ticaki Developer last edited by

                                          In der ursprünglichen Version hat Ww? auch nix anders gemacht als command.telegram auf true zu setzen.

                                          v0.97.6.2

                                          • telegram: Das Auslösen von Warnungen per Telegram ist im Codeteil konfigurierbar. Unterhalb von 123456 findet man die Variablen.
                                          • Ww? = kurze Warnungen = var uTelegramMessageShort = 'Ww?';
                                          • Wwww = lange Warnungen = var uTelegramMessageLong = 'Wwww';
                                          1 Reply Last reply Reply Quote 1
                                          • D
                                            drapo @ticaki last edited by

                                            @ticaki sagte in [Script] DWD/UWZ/NINA Warnungen als Push/Sprachnachrichten:

                                            DWDUZWNINA#!§$TT

                                            muss Dich hier auch noch belästigen. Wenn ich das genau so in meinem Telegram Menü eingebe sagt er mir, dass er das nicht versteht. muss ich da noch etwas bei Text2Command eingeben dass es klappt?

                                            Zudem fällt mir auf dass wenn ich Ww? oder Wwww eintippe immer zuerst die Meldung in Telegram kommt dass "ich verstehe Ww? nicht" und dann gibt er doch die Meldung aus wie z.b. Alle Wanmeldungen wurden aufgehoben.

                                            Muss ich da noch etwas einstellen?

                                            T 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            380
                                            Online

                                            31.8k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

                                            53
                                            1521
                                            489528
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo