Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Radio nach Sayit Ausgabe auf Sonos wieder starten

    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

    Radio nach Sayit Ausgabe auf Sonos wieder starten

    This topic has been deleted. Only users with topic management privileges can see it.
    • coyote
      coyote Most Active last edited by

      Da es bei mir und ich denke auch bei anderen nicht funktioniert, dass nach einer Sayit Ausgabe auf dem Sonos Speaker das Radio wieder weiter läuft, habe ich mich mal an einem Script probiert um das zu lösen. Funktioniert soweit.

      Vorab, ich stehe ganz am Anfang bei Javascript und an die Spezialisten hier, Verbesserungen sind natürlich erwünscht, möchte ja dazu lernen. 😄

      on({time: {hour: 15, minute: 11}}, function() {                //Zeitfunktion war nur um das Script für mich zu testen, hier muss der Auslöser rein
          var idSonosfav = getState("sonos.0.root.192_168_XX_XX.favorites_set").val;      //speichern des aktuellen Senders
          var idSonosplay = getState ("sonos.0.root.192_168_66_40.state_simple").val;	  //Status des Speakers
          if (idSonosplay === true) {                      							          //Wenn Radio läuft
              setState (idSayIt, "Achtung bla bla bla"); 							            //Ausgabe
         	  setTimeout(function () {
              setState ("sonos.0.root.192_168_XX_XX.favorites_set", idSonosfav);   		 //nach 7 Sekunden gespeicherten Favoriten Sender wieder starten
          }, 7000);
          }
          else if (idSonosplay === false) {															  //Wenn Radio nicht läuft
          setState (idSayIt, "Achtung bla bla bla");
          }
      });
      
      1 Reply Last reply Reply Quote 0
      • R
        reezelazar last edited by

        Hallo,

        bei mir klappt die Funktion leider nicht.

        Die Ansage wird abgespielt und nach den 7 Sekunden noch einmal.

        Testweise hatte ich die Funktion geteilt und mit einem delay versehen.

        Also erst Variablen schreiben, warten, dann abspielen, warten, Radio wieder starten.

        Hat leider auch nicht geklappt, die Durchsage wird zwei mal abgespielt und dann ist leider ruhe.

        Der Versuch favorites_set durch current_title zu ersetzen klappte auch nicht.

        Viele Grüße

        reeze

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

          Hallo,

          @reezelazar:

          Die Ansage wird abgespielt und nach den 7 Sekunden noch einmal. `

          Versuch mal:

          on({time: {hour: 15, minute: 11}}, function() {                //Zeitfunktion war nur um das Script für mich zu testen, hier muss der Auslöser rein
              var idSonosfav = getState("sonos.0.root.192_168_XX_XX.favorites_set").val;      //speichern des aktuellen Senders
              var idSonosplay = getState ("sonos.0.root.192_168_66_40.state_simple").val;     //Status des Speakers
              if (idSonosplay) {                                                     //Wenn Radio läuft
                  setState (idSayIt, "Radio ausgeschaltet: Achtung bla bla bla");                                  //Ausgabe
                  setState ("sonos.0.root.192_168_XX_XX.favorites_set", idSonosfav);          //nach 7 Sekunden gespeicherten Favoriten Sender wieder stellen
                  setStateDelayed ("sonos.0.root.192_168_XX_XX.state_simple", idSonosplay, 7000);          //nach 7 Sekunden wieder starten
              } else {                                               //Wenn Radio nicht läuft
                  setState (idSayIt, "Radio war nicht an: Achtung bla bla bla");
              }
          });
          

          Ich glaube, das "Play" fehlte. AUsserdem braucht man bei "else" kein weiteres "if".

          Gruß,

          Pix

          1 Reply Last reply Reply Quote 0
          • R
            reezelazar last edited by

            Vielen dank,

            ich werde es heut Abend mal versuchen.

            Viele Grüße

            reeze

            1 Reply Last reply Reply Quote 0
            • coyote
              coyote Most Active last edited by

              Keine Ahnung wie das "if" noch da rein kam 😄

              Hmm ok, bei mir klappt das so. Aaaaber, je nach Text musste ich auch die Zeit verlängern.
              3473_log.txt

              1 Reply Last reply Reply Quote 0
              • R
                reezelazar last edited by

                Hallo Zusammen,

                das script funktioniert bei mir leider immer noch nicht, die ansage wir 2x abgespielt.

                Anbei der code den ich im script habe, vielleicht ist auch ein denkfehler drin.

                var idSayIt = "sayit.0.tts.text";  /*Text to speech*/
                
                sonos_ansprache();
                
                function sonos_ansprache(){
                
                    var idSonosfav = getState("sonos.0.root.192_168_XXX_XXX.favorites_set").val;      //speichern des aktuellen Senders
                    var idSonosplay = getState ("sonos.0.root.192_168_XXX_XXX.state_simple").val;     //Status des Speakers
                    if (idSonosplay) {                                                     //Wenn Radio läuft
                        setState (idSayIt, "Die Waschmaschine ist fertig!");                                  //Ausgabe
                        setState ("sonos.0.root.192_168_XXX_XXX.favorites_set", idSonosfav);          //nach 7 Sekunden gespeicherten Favoriten Sender wieder stellen
                        setStateDelayed ("sonos.0.root.192_168_XXX_XXX.state_simple", idSonosplay, 7000);          //nach 7 Sekunden wieder starten
                    } else {                                               //Wenn Radio nicht läuft
                        setState (idSayIt, "Die Waschmaschine ist fertig!");
                    }
                };
                
                

                Danke und viele Grüße

                reeze

                1 Reply Last reply Reply Quote 0
                • coyote
                  coyote Most Active last edited by

                  Sporadisch kommt die Ansage bei mir auch doppelt, weiß nicht ob das evtl. am Adapter selbst liegt.

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

                    @coyote:

                    Sporadisch kommt die Ansage bei mir auch doppelt, weiß nicht ob das evtl. am Adapter selbst liegt. `
                    Bitte mal den Adapter Sonos neu starten.

                    Gruß,

                    Pix

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

                    Support us

                    ioBroker
                    Community Adapters
                    Donate

                    960
                    Online

                    31.9k
                    Users

                    80.1k
                    Topics

                    1.3m
                    Posts

                    3
                    8
                    1831
                    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