Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Radio nach Sayit Ausgabe auf Sonos wieder starten

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.3k

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    9.3k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    14
    1
    2.6k

Radio nach Sayit Ausgabe auf Sonos wieder starten

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
8 Beiträge 3 Kommentatoren 2.0k Aufrufe
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • coyoteC Offline
    coyoteC Offline
    coyote
    Most Active
    schrieb am zuletzt editiert von
    #1

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

    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 Antwort Letzte Antwort
    0
    • R Offline
      R Offline
      reezelazar
      schrieb am zuletzt editiert von
      #2

      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 Antwort Letzte Antwort
      0
      • P Offline
        P Offline
        pix
        schrieb am zuletzt editiert von
        #3

        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

        ioBroker auf Ubuntu in Proxmox (früher Mac mini (bis OS X 10.12.6 Sierra), VIS via iOS; angeschlossen: Homematic CCU2, Homepilot 1, ConBee II, einige Wemos, Sonos, Unifi CK+Protect, Homekit, Homebridge; KEIN blockly! Github-Profil

        1 Antwort Letzte Antwort
        0
        • R Offline
          R Offline
          reezelazar
          schrieb am zuletzt editiert von
          #4

          Vielen dank,

          ich werde es heut Abend mal versuchen.

          Viele Grüße

          reeze

          1 Antwort Letzte Antwort
          0
          • coyoteC Offline
            coyoteC Offline
            coyote
            Most Active
            schrieb am zuletzt editiert von
            #5

            Keine Ahnung wie das "if" noch da rein kam :D

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

            1 Antwort Letzte Antwort
            0
            • R Offline
              R Offline
              reezelazar
              schrieb am zuletzt editiert von
              #6

              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 Antwort Letzte Antwort
              0
              • coyoteC Offline
                coyoteC Offline
                coyote
                Most Active
                schrieb am zuletzt editiert von
                #7

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

                1 Antwort Letzte Antwort
                0
                • P Offline
                  P Offline
                  pix
                  schrieb am zuletzt editiert von
                  #8

                  @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

                  ioBroker auf Ubuntu in Proxmox (früher Mac mini (bis OS X 10.12.6 Sierra), VIS via iOS; angeschlossen: Homematic CCU2, Homepilot 1, ConBee II, einige Wemos, Sonos, Unifi CK+Protect, Homekit, Homebridge; KEIN blockly! Github-Profil

                  1 Antwort Letzte Antwort
                  0
                  Antworten
                  • In einem neuen Thema antworten
                  Anmelden zum Antworten
                  • Älteste zuerst
                  • Neuste zuerst
                  • Meiste Stimmen


                  Support us

                  ioBroker
                  Community Adapters
                  Donate

                  310

                  Online

                  32.5k

                  Benutzer

                  81.7k

                  Themen

                  1.3m

                  Beiträge
                  Community
                  Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                  ioBroker Community 2014-2025
                  logo
                  • Anmelden

                  • Du hast noch kein Konto? Registrieren

                  • Anmelden oder registrieren, um zu suchen
                  • Erster Beitrag
                    Letzter Beitrag
                  0
                  • Home
                  • Aktuell
                  • Tags
                  • Ungelesen 0
                  • Kategorien
                  • Unreplied
                  • Beliebt
                  • GitHub
                  • Docu
                  • Hilfe