Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. SayIt - Ausgabe bei Wetterwarnung (DWD)

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    SayIt - Ausgabe bei Wetterwarnung (DWD)

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

      hmm ich bin etwas verwirrt. sofern ich folgenden Code nutze funktioniert alles wie gewollt:

      var idSayIt = "sayit.0.tts.text";
      var Severity = "dwd.0.warning.severity"/*Warning severity*/;
      var Begin = getState("dwd.0.warning.begin"/*Warning begin*/).val;
      var End = getState("dwd.0.warning.end"/*Warning end*/).val;
      var Headline = getState("dwd.0.warning.headline"/*Warning headline*/).val;
      
      subscribe(Severity, function (obj) {
          if (obj.newState.val !==0) {
              //var Begin = getState("dwd.0.warning.begin"/*Warning begin*/).val;
              //var End = getState("dwd.0.warning.end"/*Warning end*/).val;
              //var Headline = getState("dwd.0.warning.headline"/*Warning headline*/).val;
              setState (idSayIt, "Achtung " + Headline + " gültig vom " + Begin + " bis " + End) ;
          }
          if (obj.newState.val ===0) {
              setState (idSayIt, "Alle Wetterwarnungen wurden aufgehoben") ;
          }
      });
      

      Eventuell test ich aber auch falsch. Mein Funktionstest erfolgt so:

      1. Code angepasst

      2. DWD Adapter wird auf einen warnfreien bereich eingestellt sodass die Variable "Severity" den Wert "0" hat. Im direkten Anschluss wird auch direkt vom SayIt die Meldung "Alle Wetterwarnungen wurden aufgehoben" ausgegeben

      3. Im Anschluss setze ich den DWD Adapter auf einen Bereich für den eine Warnung besteht und es erfolgt sofort die korrekte Ausgabe "Achtung Amtliche WARNUNG vor STARKREGEN gültig vom 01.09.2015 11:50 bis 01.09.2015 17:10" da der Wert "Severity" den Wert "2" hat.

      Man könnte ja meinen soweit alles in Ordnung und wie gewollt nur macht mich die Aussage von pix an dieser Stelle stutzig:

      Bei jetzigem Stand werden die Variablen bei Scriptstart eingelesen und es wird Severity überwacht. Wenn Severity sich ändert (ungleich 0), dann werden die Inhalte der Variablen zum Zeitpunkt des Scriptstarts, nicht zum Zeitpunkt der Änderung ausgegeben.

      Aber nach meinem Funktionstest ist dem nicht so oder? Ich bin mir aktuell nicht ganz sicher ob ich etwas übersehen habe und habe aus diesem Grund nochmals anders getestet:

      1. Script deaktiviert

      2. Bereich auf einen Warnfeien Bereich gesetzt sodass alle Variablen den DWD Adpaters leer sind und Severity den Wert "0" hat

      3. Aktivieren des Adapters

      4. Ändern des DWD Adapters auf einen Bereich mit Warnung

      5. Ausgabe wie von pix geschrieben falsch da alle Variablen leer sind

      Nun stellt sich die Frage warum werden nur 2/3 Variablen bei folgendem Code korrekt ausgegeben (Begin und End)? By the way wie füge ich die LOG Funktion der Variablen ein?

      var idSayIt = "sayit.0.tts.text";
      var Severity = "dwd.0.warning.severity"/*Warning severity*/;
      //var Begin = getState("dwd.0.warning.begin"/*Warning begin*/).val;
      //var End = getState("dwd.0.warning.end"/*Warning end*/).val;
      //var Headline = getState("dwd.0.warning.headline"/*Warning headline*/).val;
      
      subscribe(Severity, function (obj) {
          if (obj.newState.val !==0) {
              var Begin = getState("dwd.0.warning.begin"/*Warning begin*/).val;
              var End = getState("dwd.0.warning.end"/*Warning end*/).val;
              var Headline = getState("dwd.0.warning.headline"/*Warning headline*/).val;
              setState (idSayIt, "Achtung " + Headline + " gültig vom " + Begin + " bis " + End) ;
          }
          if (obj.newState.val ===0) {
              setState (idSayIt, "Alle Wetterwarnungen wurden aufgehoben") ;
          }
      });
      

      Gruß

      Stefnas

      1 Reply Last reply Reply Quote 0
      • derAuge
        derAuge last edited by

        Super Sache

        heute wurde das Gewitter angesagt.

        Gruß

        Jürgen
        2678_ical.png

        1 Reply Last reply Reply Quote 0
        • S
          Stefnas last edited by

          @derAuge:

          Super Sache

          heute wurde das Gewitter angesagt.

          Gruß

          Jürgen `

          Guten Abend Jürgen,

          wie sieht den Dein Script aus? Meins funktioniert leider nicht da die Ausgabe der Headline nicht funktioniert, und das ist ja mit eines der wichtigen Informationen die ausgegeben werden sollen 😉 Freut mich aber das es bei Dir funktioniert.

          Gruß

          Stefnas

          1 Reply Last reply Reply Quote 0
          • derAuge
            derAuge last edited by

            da muss ich doch noch mal besser hin hören.

            Die erste Ausgabe: Gong kam, dann text….. ich war erschrocken :roll: wo kommt das her .... nicht genau zugehört.

            Also weiß ich nicht was gespochen wurde

            Die zweite Aussage: Alles ist gut 🙂

            Der Script:

            var idSayIt = "sayit.0.tts.text";
            var Severity = "dwd.0.warning.severity"/*Warning severity*/;
            var Begin = getState("dwd.0.warning.begin"/*Warning begin*/).val;
            var End = getState("dwd.0.warning.end"/*Warning end*/).val;
            var Headline = getState("dwd.0.warning.headline"/*Warning headline*/).val;
            
                subscribe(Severity, function (obj) {
                    if (obj.newState.val !==0) {
                        //var Begin = getState("dwd.0.warning.begin"/*Warning begin*/).val;
                        //var End = getState("dwd.0.warning.end"/*Warning end*/).val;
                        //var Headline = getState("dwd.0.warning.headline"/*Warning headline*/).val;
                        setState (idSayIt, "Achtung Wetterwarnungen Achtung " + Headline + " gültig vom " + Begin + " bis " + End) ;
                    }
                    if (obj.newState.val ===0) {
                        setState (idSayIt, "Alle Wetterwarnungen des Deutschen Wetterdienst wurden aufgehoben") ;
                    }
                });
            
            

            Gruß

            Jürgen

            1 Reply Last reply Reply Quote 0
            • B
              baluderbär last edited by

              Hallo zusammen,

              ich beschäftige mich erst seit kurzem mit iobroker und konnte schon einiges von hier umsetzen. Momentan bin ich dran, den Sayit-Adapter umzusetzen.

              Momentan nutze ich das Skript von oben (ein Post vor meinem).

              Leider werden die Werte der Variablen nicht vorgelesen. Momentan höre ich folgendes:

              "Achtung Wetterwarnungen Achtung gültig vom bis"

              D.h. Die Headline, Beginn und Ende wird nicht ausgegeben. Woran kann das liegen?

              Zur Info: Der Text "Alle Wetterwarnungen wurden aufgehoben" wird auch vorgelesen.

              Schon mal Danke für Eure Antworten

              Viele Grüße

              Balu

              1 Reply Last reply Reply Quote 0
              • P
                pix last edited by

                Hallo Balu,

                __die Daten des Adapters werden vom Skript nicht eingelesen. Kann es sein,d ass du den DWD-Adapter noch nicht aktiviert hast und daher die Datenpunkte leer bleiben?

                Im Reiter Instanzen hinter dwd.0 auf den roten Knopf drücken, damit er grün wird und der Adapter staret.__

                😮 Das war mein erster Gedanke, dann habe ich mir das Skript angesehen.

                Du musst natürlich in der ersten if-Abfrage im subscribe in drei Zeilen jeweils die Kommentarbefehle "//" löschen, sonst wird diese Zeile nicht ausgeführt.

                Ausserdem dann ganz oben die ….

                .. ich kürze mal ab:

                var idSayIt = "sayit.0.tts.text";
                var Severity = "dwd.0.warning.severity"/*Warning severity*/;
                
                    on(Severity, function (obj) {
                        if (obj.newState.val !==0) {
                            var Begin = getState("dwd.0.warning.begin"/*Warning begin*/).val;
                            var End = getState("dwd.0.warning.end"/*Warning end*/).val;
                            var Headline = getState("dwd.0.warning.headline"/*Warning headline*/).val;
                            setState (idSayIt, "Achtung Wetterwarnungen Achtung " + Headline + " gültig vom " + Begin + " bis " + End) ;
                        }
                        if (obj.newState.val === 0) {
                            setState(idSayIt, "Alle Wetterwarnungen des Deutschen Wetterdienst wurden aufgehoben") ;
                        }
                    });
                
                

                Gruß

                Pix

                1 Reply Last reply Reply Quote 0
                • B
                  baluderbär last edited by

                  Hallo Pix,

                  die Antwort kam ja schneller als ich zu Abend essen konnte. Danke.

                  Im Grunde genommen funktioniert es. Jetzt hätte ich noch zwei Fragen:

                  1. Wieso wird beim Datum 10. April 2016 und 10. Mai 2016 vorgelesen? Anstelle von 4. und 5. Oktober. Im Sayit-Adapter habe ich "Google Deutsch" ausgewählt.

                  2. Was muss ich ändern, damit auch die "description" vorgelesen wird? Einfach analog zu den anderen Werten eine Variable anlegen? Habe folgendes probiert:

                  var Description = getState("dwd.0.warning.description"/*Warning description*/).val;
                  setState (idSayIt, "Achtung Wetterwarnungen " + Headline + " gültig vom " + Begin + " bis " + End + Description);
                  

                  –> geht jedoch nicht. Was mache ich hier falsch?

                  Viele Grüße

                  Balu

                  1 Reply Last reply Reply Quote 0
                  • P
                    pix last edited by

                    Hallo Balu,

                    schön, dass es geht.
                    @baluderbär:

                    1. Wieso wird beim Datum 10. April 2016 und 10. Mai 2016 vorgelesen? Anstelle von 4. und 5. Oktober. Im Sayit-Adapter habe ich "Google Deutsch" ausgewählt. `
                    Vermutlich sind die Daten im Datenpunkt des Adapters vom April. Kann sein, dass der Adapter seitdem nicht mehr korrekt gestartet wurde. Prüfe mal dessen Einstellungen. Du kannst den Wert des Datenpunktes ja im Reiter Objekte in Admin sehen. Einfach mal "dwd.0.warning.begin" eingeben.

                    @baluderbär:

                    Was muss ich ändern, damit auch die "description" vorgelesen wird? Einfach analog zu den anderen Werten eine Variable anlegen? Habe folgendes probiert:

                    Code:

                    var Description = getState("dwd.0.warning.description"/Warning description/).val;

                    setState (idSayIt, "Achtung Wetterwarnungen " + Headline + " gültig vom " + Begin + " bis " + End + Description);

                    –> geht jedoch nicht. Was mache ich hier falsch? `
                    Der Code ist theoretisch korrekt. Man würde zwischen End und Description noch ein Leerzeichen oder zB einen Doppelpunkt setzen

                    setState (idSayIt, "Achtung Wetterwarnungen " + Headline + " gültig vom " + Begin + " bis " + End + ': ' + Description);
                    

                    Was meinst du mit geht nicht? Keine Ansage? Wird im Log die korrekte Sayit-Abarbeitung angezeigt?

                    Füge mal eine Logausgabe zur Kontrolle ein:````
                    Log ("Achtung Wetterwarnungen " + Headline + " gültig vom " + Begin + " bis " + End + ': ' + Description);

                    
                    Gruß
                    
                    Pix
                    1 Reply Last reply Reply Quote 0
                    • B
                      baluderbär last edited by

                      Hallo Pix,

                      das Problem mit dem Datum ist, dass er wohl ein "englisches" Format nimmt. Auch heute ließt er wieder den Monat als Tag und den Tag als Monat vor.

                      Anstatt von 5. Oktober (05.10.) liest er 10. Mai vor. Sayit-Adapter ist auch korrekt.

                      Hab deine letzte Teile für die LOG-Auswertung angefügt. So richtig oder an der falschen Stelle?

                      var idSayIt = "sayit.0.tts.text";
                      var Severity = "dwd.0.warning.severity"/*Warning severity*/;
                      
                          on(Severity, function (obj) {
                              if (obj.newState.val !==0) {
                                  var Begin = getState("dwd.0.warning.begin"/*Warning begin*/).val;
                                  var End = getState("dwd.0.warning.end"/*Warning end*/).val;
                                  var Headline = getState("dwd.0.warning.headline"/*Warning headline*/).val;
                                  var Description = getState("dwd.0.warning.description"/*Warning description*/).val;
                                  setState (idSayIt, "Achtung Wetterwarnungen " + Headline + " gültig vom " + Begin + " bis " + End + ': ' + Description);
                              }
                              if (obj.newState.val === 0) {
                                  setState(idSayIt, "Alle Wetterwarnungen des Deutschen Wetterdienstes wurden aufgehoben") ;
                              }
                          });
                          Log ("Achtung Wetterwarnungen " + Headline + " gültig vom " + Begin + " bis " + End + ': ' + Description);
                      

                      Mit "keine Ansage" meinte ich, dass er nur die Headline mit Anfang und Ende vorliest - aber keine Description.

                      Gruß Balu
                      1525_anzeige.jpg
                      1525_objekte.jpg

                      1 Reply Last reply Reply Quote 0
                      • B
                        baluderbär last edited by

                        Hallo Pix,

                        hab es nun abgeändert in:
                        ` > var idSayIt = "sayit.0.tts.text";

                        var Severity = "dwd.0.warning.severity"/Warning severity/;

                        on(Severity, function (obj) {

                        if (obj.newState.val !==0) {

                        var Begin = getState("dwd.0.warning.begin"/Warning begin/).val;

                        var End = getState("dwd.0.warning.end"/Warning end/).val;

                        var Headline = getState("dwd.0.warning.headline"/Warning headline/).val;

                        var Description = getState("dwd.0.warning.description"/Warning description/).val;

                        setState (idSayIt, "Achtung Wetterwarnungen " + Headline + " gültig vom " + Begin + " bis " + End + ': ' + Description);

                        }

                        if (obj.newState.val === 0) {

                        setState(idSayIt, "Alle Wetterwarnungen des Deutschen Wetterdienstes wurden aufgehoben") ;

                        }

                        Log ("Achtung Wetterwarnungen " + Headline + " gültig vom " + Begin + " bis " + End + ': ' + Description);

                        }); `
                        Jetzt erhalte ich im Log folgendes:

                        19:17:18.192 [info] javascript.0 Stop script script.js.common.DWD_sayit

                        19:17:18.213 [info] javascript.0 Start javascript script.js.common.DWD_sayit

                        19:17:18.214 [info] javascript.0 script.js.common.DWD_sayit: registered 1 subscription and 0 schedules

                        19:17:55.558 [error] host. ReferenceError: Log is not defined at Object. (script.js.common.DWD_sayit:15:5) at Object.subs.callback (/opt/iobroker/node_modules/iobroker.javascript/javascript.js:1251:48) at /opt/iobroker/node_modules/iobroker.javascript/javascript.js:571:48 at getObjectEnums (/opt/iobroker/node_modules/iobroker.javascript/javascript.js:3018:17) at getObjectEnums (/opt/iobroker/node_modules/iobroker.javascript/javascript.js:3037:28) at checkPatterns (/opt/iobroker/node_modules/iobroker.javascript/javascript.js:567:17) at Object.utils.adapter.stateChange (/opt/iobroker/node_modules/iobroker.javascript/javascript.js:245:17) at that.states.States.change (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:2120:37) at RedisClient. (/opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInRedis.js:88:25) at emitThree (events.js:97:13) at RedisClient.emit (events.js:175:7)

                        1 Reply Last reply Reply Quote 0
                        • Bluefox
                          Bluefox last edited by

                          @baluderbär:

                          Hallo Pix,

                          hab es nun abgeändert in:
                          ` > var idSayIt = "sayit.0.tts.text";

                          var Severity = "dwd.0.warning.severity"/Warning severity/;

                          on(Severity, function (obj) {

                          if (obj.newState.val !==0) {

                          var Begin = getState("dwd.0.warning.begin"/Warning begin/).val;

                          var End = getState("dwd.0.warning.end"/Warning end/).val;

                          var Headline = getState("dwd.0.warning.headline"/Warning headline/).val;

                          var Description = getState("dwd.0.warning.description"/Warning description/).val;

                          setState (idSayIt, "Achtung Wetterwarnungen " + Headline + " gültig vom " + Begin + " bis " + End + ': ' + Description);

                          }

                          if (obj.newState.val === 0) {

                          setState(idSayIt, "Alle Wetterwarnungen des Deutschen Wetterdienstes wurden aufgehoben") ;

                          }

                          Log ("Achtung Wetterwarnungen " + Headline + " gültig vom " + Begin + " bis " + End + ': ' + Description);

                          }); `
                          Jetzt erhalte ich im Log folgendes:

                          19:17:18.192 [info] javascript.0 Stop script script.js.common.DWD_sayit

                          19:17:18.213 [info] javascript.0 Start javascript script.js.common.DWD_sayit

                          19:17:18.214 [info] javascript.0 script.js.common.DWD_sayit: registered 1 subscription and 0 schedules

                          19:17:55.558 [error] host. ReferenceError: Log is not defined at Object. (script.js.common.DWD_sayit:15:5) at Object.subs.callback (/opt/iobroker/node_modules/iobroker.javascript/javascript.js:1251:48) at /opt/iobroker/node_modules/iobroker.javascript/javascript.js:571:48 at getObjectEnums (/opt/iobroker/node_modules/iobroker.javascript/javascript.js:3018:17) at getObjectEnums (/opt/iobroker/node_modules/iobroker.javascript/javascript.js:3037:28) at checkPatterns (/opt/iobroker/node_modules/iobroker.javascript/javascript.js:567:17) at Object.utils.adapter.stateChange (/opt/iobroker/node_modules/iobroker.javascript/javascript.js:245:17) at that.states.States.change (/opt/iobroker/node_modules/iobroker.js-controller/lib/adapter.js:2120:37) at RedisClient. (/opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInRedis.js:88:25) at emitThree (events.js:97:13) at RedisClient.emit (events.js:175:7) `
                          log muss man klein schreiben

                          1 Reply Last reply Reply Quote 0
                          • B
                            baluderbär last edited by

                            Hallo bluefox, danke.

                            Zwar funktioniert nun die LOG-Ausgabe, jedoch höre ich immer noch nicht alles.

                            sayit-0 2016-10-05 20:06:33.149 info saying: Achtung Wetterwarnungen gültig vom 05.10.2016 20:00 bis 06.10.2016 20:00:

                            Datum wird immer noch falsch vorgelesen. Headline und Description fehlen.

                            Sobald die Meldung verschwindet erscheint folgendes im LOG:

                            __sayit-0 2016-10-05 20:09:57.632 info saying: Alle Wetterwarnungen des Deutschen Wetterdienstes wurden aufgehoben

                            host-ioBroker-Pi 2016-10-05 20:09:55.132 info instance system.adapter.dwd.0 terminated with code 0 (OK)

                            sayit-0 2016-10-05 20:09:54.627 info saying: /opt/iobroker/node_modules/iobroker.sayit/gong.mp3

                            javascript-0 2016-10-05 20:09:54.621 info script.js.common.DWD_sayit: Achtung Wetterwarnungen undefined gültig vom undefined bis undefined: undefined

                            dwd-0 2016-10-05 20:09:54.352 info starting. Version 2.1.1 in /opt/iobroker/node_modules/iobroker.dwd__

                            Gruß Balu

                            1 Reply Last reply Reply Quote 0
                            • Bluefox
                              Bluefox last edited by

                              Ich glaube google hat Begrenzung auf 80 oder 100 Symbole.

                              1 Reply Last reply Reply Quote 0
                              • B
                                baluderbär last edited by

                                Hallo BlueFox,

                                evtl. liegt es daran. Habe mal versucht, anstatt Headline Description zu nehmen und es hat funktioniert.

                                Bleibt nur das Problem mit dem Datum, dass es falsch vorgelesen wird. Monat und Tag vertauscht.

                                05.10. wird als 10. Mai vorgelesen und 06.10. wird als 10. Juni vorgelesen.

                                Woran kann das liegen?

                                Gruß Balu

                                1 Reply Last reply Reply Quote 0
                                • C
                                  cybertron last edited by

                                  Abweichend vom Grundthema , mal die Frage, worauf läuft bei Euch Sayit und worüber lässt ihr die Ausgabe laufen ( z.b. Raspberry interner Sound, Raspi USB-Sound…)

                                  Gruß

                                  Silvio

                                  1 Reply Last reply Reply Quote 0
                                  • Bluefox
                                    Bluefox last edited by

                                    @baluderbär:

                                    Hallo BlueFox,

                                    evtl. liegt es daran. Habe mal versucht, anstatt Headline Description zu nehmen und es hat funktioniert.

                                    Bleibt nur das Problem mit dem Datum, dass es falsch vorgelesen wird. Monat und Tag vertauscht.

                                    05.10. wird als 10. Mai vorgelesen und 06.10. wird als 10. Juni vorgelesen.

                                    Woran kann das liegen?

                                    Gruß Balu `
                                    Da jedes Text2Speech System unterschiedlich das Datum vorliegt, darfst du nicht erwarten, dass dein Datum richtig vorgelesen wird. Du musst schon mit formatDate das Datum so vorbereiten, wie es System haben will.

                                    https://github.com/ioBroker/ioBroker.ja … formatdate

                                    1 Reply Last reply Reply Quote 0
                                    • S
                                      Semenchkare last edited by

                                      Hallo,

                                      ich habe ebenfalls das Problem, dass mir sayit zwar läuft, aber eben alles ohne description, headline oder Text ansagt:

                                      sayit-2	2016-10-28 23:43:17.221	info	saying: Wetterwarnungen : gültig vom 28.10.2016 20:15 bis 29.10.2016 10:00:
                                      sayit-1	2016-10-28 23:43:15.201	info	saying: Wetterwarnungen : gültig vom 28.10.2016 20:15 bis 29.10.2016 10:00:
                                      host-bananapim2	2016-10-28 23:43:14.678	info	instance system.adapter.dwd.0 terminated with code 0 (OK)
                                      sayit-2	2016-10-28 23:43:14.208	info	saying: /opt/iobroker/node_modules/iobroker.sayit/gong.mp3
                                      sayit-1	2016-10-28 23:43:14.196	info	saying: /opt/iobroker/node_modules/iobroker.sayit/scifi.mp3
                                      javascript-0	2016-10-28 23:43:14.113	info	script.js.Sayit.DWD: Wetterwarnungen gültig vom 28.10.2016 20:15 bis 29.10.2016 10:00:
                                      dwd-0	2016-10-28 23:43:13.742	info	starting. Version 2.1.1 in /opt/iobroker/node_modules/iobroker.dwd
                                      host-bananapim2	2016-10-28 23:43:10.541	info	instance system.adapter.dwd.0 started with pid 2598
                                      host-bananapim2	2016-10-28 23:43:10.496	info	instance scheduled system.adapter.dwd.0 3 * * * *
                                      

                                      hier mein script. Habe 2 Instanzen von sayit am laufen, eine via browser, andere via m24player mit ftpserver.

                                      Grundsätzlich läuft sayit. es sieht für mich so aus, dass die Variablen für description, headline oder von mir zugefügtem "text" übergeben werden.

                                      Gegen die Version mit den 70 Buchstaben spricht:

                                      1. müsste dann gar kein Text kommen.

                                      2. müsste die LOG die Inhalte aller Variablen anzeigen, Tatsächlich aber nur Beginn und Ende zusätzlich zum fixen Text.

                                      Natürlich habe ich auch mal Description und Headline weggelassen und es stattdessen mit "Text", der ultrakurzen Variante probiert.

                                      Immer wieder nur Ansage:

                                      "Wetterwarnungen : gültig vom 28.10.2016 20:15 bis 29.10.2016 10:00"

                                      hier das -leicht abgeänderte und hoffentlich keine Fehler enthaltende- Skript

                                      var idSayIt = "sayit.1.tts.text";
                                      var idSayIt2 = "sayit.2.tts.text";
                                      var Severity = "dwd.0.warning.severity"/*Warning severity*/;
                                      
                                      on(Severity, function (obj) {
                                      if (obj.newState.val !==0) {
                                      var Begin = getState("dwd.0.warning.begin"/*Warning begin*/).val;
                                      var End = getState("dwd.0.warning.end"/*Warning end*/).val;
                                      var text = getState("dwd.0.warning.text"/*Warning text*/).val;
                                      var Headline = getState("dwd.0.warning.headline"/*Warning headline*/).val;
                                      var Description = getState("dwd.0.warning.description"/*Warning description*/).val;
                                      
                                      setState (idSayIt, "Wetterwarnungen " + ': ' + " gültig vom " + Begin + " bis " + End + ': ' + Description);
                                      setState (idSayIt2, "Wetterwarnungen " + ': ' + text + " gültig vom " + Begin + " bis " + End + ': ' + Description);
                                      //setState (idSayIt2, "Achtung Wetterwarnungen " + Headline + " gültig vom " + Begin + " bis " + End + ': ' + Description);
                                      }
                                      if (obj.newState.val === 0) {
                                      setState(idSayIt, "de;80;Alle Wetterwarnungen des Deutschen Wetterdienstes wurden aufgehoben") ;
                                      setState(idSayIt2, "de;80;Alle Wetterwarnungen des Deutschen Wetterdienstes wurden aufgehoben") ;
                                      }
                                      //log ("Achtung Wetterwarnungen " + Headline + " gültig vom " + Begin + " bis " + End + ': ' + Description);
                                      log ("Wetterwarnungen " + text + " gültig vom " + Begin + " bis " + End + ': ' + Description)
                                      
                                      });
                                      

                                      Daten sind vorhanden, ich teste ständig im Wechsel von zwei Landkreisen. Die Entwarnung wird problemlos gesprochen.

                                      ![](</s><URL url=)http://www.joe-lion.de/old/dwd.JPG" />

                                      1 Reply Last reply Reply Quote 0
                                      • N
                                        Nordlicht last edited by

                                        @Semenchkare:

                                        Hallo,

                                        ich habe ebenfalls das Problem, dass mir sayit zwar läuft, aber eben alles ohne description, headline oder Text ansagt:

                                        ! ````
                                        sayit-2 2016-10-28 23:43:17.221 info saying: Wetterwarnungen : gültig vom 28.10.2016 20:15 bis 29.10.2016 10:00:
                                        sayit-1 2016-10-28 23:43:15.201 info saying: Wetterwarnungen : gültig vom 28.10.2016 20:15 bis 29.10.2016 10:00:
                                        host-bananapim2 2016-10-28 23:43:14.678 info instance system.adapter.dwd.0 terminated with code 0 (OK)
                                        sayit-2 2016-10-28 23:43:14.208 info saying: /opt/iobroker/node_modules/iobroker.sayit/gong.mp3
                                        sayit-1 2016-10-28 23:43:14.196 info saying: /opt/iobroker/node_modules/iobroker.sayit/scifi.mp3
                                        javascript-0 2016-10-28 23:43:14.113 info script.js.Sayit.DWD: Wetterwarnungen gültig vom 28.10.2016 20:15 bis 29.10.2016 10:00:
                                        dwd-0 2016-10-28 23:43:13.742 info starting. Version 2.1.1 in /opt/iobroker/node_modules/iobroker.dwd
                                        host-bananapim2 2016-10-28 23:43:10.541 info instance system.adapter.dwd.0 started with pid 2598
                                        host-bananapim2 2016-10-28 23:43:10.496 info instance scheduled system.adapter.dwd.0 3 * * * *

                                        >! hier mein script. Habe 2 Instanzen von sayit am laufen, eine via browser, andere via m24player mit ftpserver.
                                        >! Grundsätzlich läuft sayit. es sieht für mich so aus, dass die Variablen für description, headline oder von mir zugefügtem "text" übergeben werden.
                                        >! Gegen die Version mit den 70 Buchstaben spricht:
                                        >! 1\. müsste dann gar kein Text kommen.
                                        >! 2\. müsste die LOG die Inhalte aller Variablen anzeigen, Tatsächlich aber nur Beginn und Ende zusätzlich zum fixen Text.
                                        >! Natürlich habe ich auch mal Description und Headline weggelassen und es stattdessen mit "Text", der ultrakurzen Variante probiert.
                                        >! Immer wieder nur Ansage:
                                        >! "Wetterwarnungen : gültig vom 28.10.2016 20:15 bis 29.10.2016 10:00"
                                        >! hier das -leicht abgeänderte und hoffentlich keine Fehler enthaltende- Skript
                                        >! ````
                                        var idSayIt = "sayit.1.tts.text";
                                        var idSayIt2 = "sayit.2.tts.text";
                                        var Severity = "dwd.0.warning.severity"/*Warning severity*/;
                                        >! on(Severity, function (obj) {
                                        if (obj.newState.val !==0) {
                                        var Begin = getState("dwd.0.warning.begin"/*Warning begin*/).val;
                                        var End = getState("dwd.0.warning.end"/*Warning end*/).val;
                                        var text = getState("dwd.0.warning.text"/*Warning text*/).val;
                                        var Headline = getState("dwd.0.warning.headline"/*Warning headline*/).val;
                                        var Description = getState("dwd.0.warning.description"/*Warning description*/).val;
                                        >! setState (idSayIt, "Wetterwarnungen " + ': ' + " gültig vom " + Begin + " bis " + End + ': ' + Description);
                                        setState (idSayIt2, "Wetterwarnungen " + ': ' + text + " gültig vom " + Begin + " bis " + End + ': ' + Description);
                                        //setState (idSayIt2, "Achtung Wetterwarnungen " + Headline + " gültig vom " + Begin + " bis " + End + ': ' + Description);
                                        }
                                        if (obj.newState.val === 0) {
                                        setState(idSayIt, "de;80;Alle Wetterwarnungen des Deutschen Wetterdienstes wurden aufgehoben") ;
                                        setState(idSayIt2, "de;80;Alle Wetterwarnungen des Deutschen Wetterdienstes wurden aufgehoben") ;
                                        }
                                        //log ("Achtung Wetterwarnungen " + Headline + " gültig vom " + Begin + " bis " + End + ': ' + Description);
                                        log ("Wetterwarnungen " + text + " gültig vom " + Begin + " bis " + End + ': ' + Description)
                                            
                                        });
                                        

                                        Daten sind vorhanden, ich teste ständig im Wechsel von zwei Landkreisen. Die Entwarnung wird problemlos gesprochen.

                                        ![](</s><URL url=)http://www.joe-lion.de/old/dwd.JPG" /> ` ~~Hi Semenchkare,

                                        nach dem Du hier schon relativ weit gekommen bist eine Frage….

                                        werden bei Dir auch manchmal Teile eines Satzes am Ende einfach abgeschnitten /(verschluckt)?

                                        z.B. "Amtliche Warnung vor Stur" anstelle von "Amtliche Warnung vor Sturmböen"

                                        Hast Du hierzu eventuell Erkenntnisse woran es liegen kann?

                                        Gruß

                                        Thomas~~

                                        1 Reply Last reply Reply Quote 0
                                        • S
                                          Semenchkare last edited by

                                          leider nein. die Beschreibung spricht mir die Google-Tante nicht.

                                          und Ivona bekomme ich auch mit Zertifikat nicht zum laufen.

                                          LG Seme

                                          1 Reply Last reply Reply Quote 0
                                          • wendy2702
                                            wendy2702 last edited by

                                            Hi,

                                            ich hatte auch am Anfang ein kleines Problem mit Ivony.

                                            Bei mir lag es am kopieren des Access und Secret keys.

                                            Auf der Ivony Seite exact die keys markiert und im SayIt Adapter wurde trotzdem beim Einfügen noch ein leerzeichen davor gesetzt.

                                            Nachdem ich das gefunden hatte klappte die Ansage bei mir.

                                            An den Rot markierten Pfeilen war bei mir jeweils ein leerzeichen

                                            999_sayt.jpg

                                            Gruß

                                            Mirko

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            1.1k
                                            Online

                                            31.7k
                                            Users

                                            79.7k
                                            Topics

                                            1.3m
                                            Posts

                                            10
                                            40
                                            5386
                                            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