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. Brauche Starthilfe mit Sonos und SayIt

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    3.1k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    1.1k

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.4k

Brauche Starthilfe mit Sonos und SayIt

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
9 Beiträge 3 Kommentatoren 1.5k 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.
  • T Offline
    T Offline
    tristan
    schrieb am zuletzt editiert von
    #1

    Servus zusammen!

    Ich habe die Tage ioBroker entdeckt. Direkt auf der Synology installiert und den sonos und sayit Adapter eingerichtet. Toll wie das alles funktioniert!!!

    Im Tab Skripte habe ich dann folgendes geschrieben:

    var idSonos = "sonos.0.root.192_168_10_24";
    var idSayIt = "sayit.0.tts.text";
    var curVol = getState(idSonos + ".volume").val;
    var curTitle = getState(idSonos + ".current_title").val;
    setState(idSayIt, "Ding Dong" );
    

    Wenn ich das Skript starte höre ich den Ankündigungs-Ton und meine aktuelle Playlist startet. Drücke ich dann in der Sonos-App auf Pause kommt die Sprachausgabe mit "Ding Dong". Das passiert dreimal beim Pause/Start drücken und dann ist alles wieder normal.

    Was tut er da nur!?

    VG Tristan

    1 Antwort Letzte Antwort
    0
    • DutchmanD Offline
      DutchmanD Offline
      Dutchman
      Developer Most Active Administrators
      schrieb am zuletzt editiert von
      #2

      Hi und willkommen,

      Freut mich zu hören das dir das System soweit Freude bereitet :)

      Ist die dein komplettes Script ? Ich sehe keinen trigger eventuell wird da was doppelt aufgerufen ?

      Verzonden vanaf mijn iPad met Tapatalk

      1 Antwort Letzte Antwort
      0
      • T Offline
        T Offline
        tristan
        schrieb am zuletzt editiert von
        #3

        Hi Dutchmann,

        vielen Dank für Dein schnelles Feedback.

        Habe es in eine for-Schleife gesetzt:

        for (var i = 0; i < 1 ;i++){
            var idSonos = "sonos.0.root.192_168_10_25";
            var idSayIt = "sayit.0.tts.text";
            var curVol = getState(idSonos + ".volume").val;
            var curTitle = getState(idSonos + ".current_title").val;
            setState(idSonos + ".volume", 10);
            setState(idSayIt, "Ding Dong" );
        }
        

        Das ändert aber nichts am Verhalten. Was mich so wunder ist, dass der Pause-Button in der Sonos App so einen Quatsch macht. Als ob ein Script den Button überwachen würde und dann etwas tut. Aber es gibt keines außer s.o.

        Läuft mein Script eigentlich nonstop im Loop? Dann müsste die Sonos ja ununterbrochen sprechen…?

        VG!

        1 Antwort Letzte Antwort
        0
        • DutchmanD Offline
          DutchmanD Offline
          Dutchman
          Developer Most Active Administrators
          schrieb am zuletzt editiert von
          #4

          @tristan:

          Läuft mein Script eigentlich nonstop im Loop? Dann müsste die Sonos ja ununterbrochen sprechen…?

          VG! `

          Eigentlich nicht darum auch meine Frage ob dies das komplette Script ist ich sehe keinen Trigger (oder bin wohl blind)

          ~Dutch

          –-----------------------

          Send from mobile device

          Das schöne ios hat Auto Korrektur zum k****

          Wer Schreibfehler findet darf sie behalten oder auf eBay verkaufen, mindest Umsatz 10% für die community

          1 Antwort Letzte Antwort
          0
          • T Offline
            T Offline
            tristan
            schrieb am zuletzt editiert von
            #5

            Achso, ja, das ist mein komplettes einzigstes Script. Ich drücke auf den Playbutton und erwarte, dass es dann einmal durchläuft…

            Womit kann ich denn ohne Hardware am einfachsten einen Trigger simulieren? Ein VIS anlegen mit einem Button?

            1 Antwort Letzte Antwort
            0
            • DutchmanD Offline
              DutchmanD Offline
              Dutchman
              Developer Most Active Administrators
              schrieb am zuletzt editiert von
              #6

              @tristan:

              Achso, ja, das ist mein komplettes einzigstes Script. Ich drücke auf den Playbutton und erwarte, dass es dann einmal durchläuft…

              Womit kann ich denn ohne Hardware am einfachsten einen Trigger simulieren? Ein VIS anlegen mit einem Button? `

              Lege ein object an mit createState() und benutze dieses als Trigger ;)

              Script hast du nicht in dem global Ordner gespeichert hoffe ich ?

              –-----------------------

              Send from mobile device

              Das schöne ios hat Auto Korrektur zum k****

              Wer Schreibfehler findet darf sie behalten oder auf eBay verkaufen, mindest Umsatz 10% für die community

              1 Antwort Letzte Antwort
              0
              • T Offline
                T Offline
                tristan
                schrieb am zuletzt editiert von
                #7

                Ok, so langsam wirds. Wall Plug und z-wave Stick sind angekommen und laufen.

                Ich habe jetzt folgendes Script, das alle 60 Sek prüft, ob die Waschmaschine noch Strom braucht. Und wenn nein, dann kommt eine Ansage über Sonos.

                Funktioniert soweit!!! Vielen Dank also schonmal!

                function myScript() {  
                    if(getState("zwave.0.NODE2.SENSOR_MULTILEVEL.Power_1").val < 0.8){
                        var idSonos = "sonos.0.root.192_168_10_25";
                        var idSayIt = "sayit.0.tts.text";
                        setState(idSayIt, "Waschmaschine ist fertig" );        
                    }else{
                        console.log("Es wird noch Strom verbraucht.");
                    }
                } 
                schedule("* * * * *", myScript);  
                

                Die Ansage kommt natürlich alle 60 Sekunden, bis ich die Waschmaschine wieder anmache. Ich muss also die Zustände speichern und verwalten und Logik rein stecken… Das gibts doch bestimmt schon fertig, oder? :-D

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

                  Hallo Tristan,

                  du solltest dich von der Überwachung auf Zeitbasis verabschieden. Das ist gar nicht nötig. Dein zwave Sensor liefert an ioBroker und ioBroker merkt selbst, wenn der Wert sich ändert.

                  Daher überwache den Datenpunkt auf Änderungen.

                  const idQuelle = "zwave.0.NODE2.SENSOR_MULTILEVEL.Power_1";
                  const idSonos = "sonos.0.root.192_168_10_25";
                  const idSayIt = "sayit.0.tts.text";
                  
                  on(idQuelle, function (obj) { // zwave wird auf Änderung überwacht (Kurzschreibweise)
                     // Abfrage, ob aktueller Wert unter 0.8 und letzter ankommender Wert über 0.8 
                     // -> dadurch nur einmal Benachrichtigung
                     if (obj.state.val < 0.8 && obj.oldState.val => 0.8) { 
                         setState(idSayIt, "Waschmaschine ist fertig" ); // Ansage
                         log("Waschmaschine fertig"); // Log
                     }
                  });
                  
                  

                  Wenn deine Waschmaschine tatsächlich nur einmal zum Ende weniger als 0.8 Einheiten verbraucht, dann geht das so. Du kannst sonst den OldState-Wert auch höher setzen, das musst aus dem Diagramm (History-Adapter?) mal ablesen.

                  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
                  • T Offline
                    T Offline
                    tristan
                    schrieb am zuletzt editiert von
                    #9

                    Sehr geil, jetzt hab ich das auch kapiert! :-)

                    Vielen Dank für den Hinweis!!

                    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

                    702

                    Online

                    32.6k

                    Benutzer

                    82.3k

                    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