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. [gelöst]Nur einmal im definierten Zeitraum auslösen? -Sonos Ansage

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    17
    1
    453

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

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

[gelöst]Nur einmal im definierten Zeitraum auslösen? -Sonos Ansage

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
25 Beiträge 6 Kommentatoren 4.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.
  • T Offline
    T Offline
    tempestas
    schrieb am zuletzt editiert von
    #21

    Hallo Skorpil,

    welches Volume wird denn da restored?

    Man hat ja zum einen die Lautstärke der Sonosbox an sich, zum anderen SayIt (leider habe ich kein Gefühl dafür, wie diese beiden miteinander in Bezug stehen: Überschreibt SayIt die Sonos Einstellung? Wird es als Faktor eingerechnet?)

    Auf dem Git steht ja auch noch:

    > sayit.N.tts.volume: volume which will be used by playing of the phrase.

    Das ist ja das, was wir normalerweise ansprechen in den Skripten.

    > You can specify the volume of announcement in percent from current or given volume (not from maximal). E.g. if command is de;75;Gutes Wetter and "announce volume" is 50%, the announce will be played with volume 38% from 100% possible.

    Wo setze ich das "announce volume"? Das habe ich noch nicht gefunden? Spielt das in das Problem mit rein?

    <size="85">ioBroker | 21 Adapter | Ubuntu Server | intel NUC | Homematic CCU2 | Hue | Osram Lightify| Sonos | 2x Instar Cam | Samsung Tab A 2016 im Holzrahmen| 3x Echo dot | 1x Echo | Neato Botvac D5</size>

    1 Antwort Letzte Antwort
    0
    • S Offline
      S Offline
      skorpil
      schrieb am zuletzt editiert von
      #22

      Welche volumes da restored werden, weiß ich auch nicht. Ich vermute: der Wert vorher. Aber…..

      Ich rate: "announce volume" ist das, auf dem die Sonos gerade steht. Also der letzte Stand des zuletzt angespielten Musikstückes, Ansage, was auch immer...ich verstehe den englischen Text so, dass die Lautstärke der Ansage sich stets auf den letzten "current" Stand bezieht. Und dieser auch "restored", also wieder hergestellt wird.

      Nur, manchmal eben nicht. Z.B. bei Radiostreams...

      1 Antwort Letzte Antwort
      0
      • S Offline
        S Offline
        skorpil
        schrieb am zuletzt editiert von
        #23

        Heute morgen habe ich manuell, bevor die Ansage kam, die Lautstärke auf einen mitteren Wert gestellt. Genau in Werten geht das leider nicht. Hier das log:

        sonos-0	2017-06-22 07:31:13.802	info	Restore state: volume - 42, mute: false, uri:
        sonos-0	2017-06-22 07:30:51.631	info	Play on sonos[RINCON_B8E937E5C96201400]: http://192.168.xx.xx:8082/state/sayit.3.tts.mp3, Volume: 40
        

        Danach wird ja der Radiostream gestartet mit

         "http://192.168.xx.xx/sonos2.php?zonen=kueche&action=radioplaylist&playlist=RTL%20-%20Die%20besten%20Hits%20aller%20Zeiten&volume=8";
        
        

        Hier wird als Lautstärke "Volumen=8" eingestellt. Und die zeigt sich so auch in der Sonos App.

        1 Antwort Letzte Antwort
        0
        • T Offline
          T Offline
          tempestas
          schrieb am zuletzt editiert von
          #24

          @skorpil:

          Welche volumes da restored werden, weiß ich auch nicht. Ich vermute: der Wert vorher. Aber…..

          Ich rate: "announce volume" ist das, auf dem die Sonos gerade steht. Also der letzte Stand des zuletzt angespielten Musikstückes, Ansage, was auch immer...ich verstehe den englischen Text so, dass die Lautstärke der Ansage sich stets auf den letzten "current" Stand bezieht. Und dieser auch "restored", also wieder hergestellt wird.

          Nur, manchmal eben nicht. Z.B. bei Radiostreams... `

          Das würde erklären, warum die Boxen leiser werden bis hin zum Mute. Meine Vermutung ist, dass SayIt während es läuft quasi die Lautstärke der Sonos "übernimmt", aber nicht schnell genug zurücksetzt.

          Dann kommt die nächste Ansage, die Sonosbox gilt statt z.B. auf 50% eben nur auf SayIt * Sonosbox [sagen wir 15 x 50% = 7.5] und wird wieder multipliziert… so wird es immer leiser.

          Meine Lösung für mein Fensterskript war es, einfach das SayIt Volume nicht zu setzen im Skript, wobei ich das auch noch beobachten muss (aktuell ist es einfach zu warm morgens).

          Unklar bleibt aber sowieso für mich, was genau die Laustärke ist. Da die Boxen ja nicht in % geregelt werden sondern undefinierbaren absoluten Zahlen (was bedeuted "12"? Ich weiß nur, dass 12 bei mir für das Badezimmer laut genug ist morgens).

          <size="85">ioBroker | 21 Adapter | Ubuntu Server | intel NUC | Homematic CCU2 | Hue | Osram Lightify| Sonos | 2x Instar Cam | Samsung Tab A 2016 im Holzrahmen| 3x Echo dot | 1x Echo | Neato Botvac D5</size>

          1 Antwort Letzte Antwort
          0
          • 6nfanatic6 Offline
            6nfanatic6 Offline
            6nfanatic
            schrieb am zuletzt editiert von
            #25

            @Dutchman:

            @skorpil:

            Das ist sehr lieb, Dutchman. Ich probiere erstmal und werde das funktionsfähige Skript hier posten - wenn ich es hinkriege. `

            :D so wieder am PC, hier hast du mal ein beispiel wie ich es gelöst habe zur inspieration ;)

            Blöcke:

            Screen Shot 2017-06-18 at 15.03.41.png

            Der generierte JavaCode sieht dan in etwa so aus:

            var Bedtime;
            
            // Activate Bed-Time Modus by TV off
            Bedtime = false;
            on({id: "harmony.0.Woonkamer.activities.currentStatus"/*activity:currentStatus*/, change: "ne"}, function (obj) {
              var value = obj.state.val;
              var oldValue = obj.oldState.val;
              // Disable lights living room with delay of 15 seconds
              if (getState("harmony.0.Woonkamer.activities.currentStatus").val == 0 && getState("openhab.0.items.Woonkamer_Kast").val == true && compareTime("22:00", "6:00", "between")) {
                setStateDelayed("openhab.0.items.Woonkamer_Kast", false, 15000, false);
              }
              Bedtime = true;
            });
            schedule({astro: "sunrise", shift: 0}, function () {
              if (compareTime(getAstroDate("sunrise", undefined, 0), null, "<", null) && Bedtime == true) {
                Bedtime = false;
              }
            });
            
            

            In dem block setze ich eine variable auf falsch, danach die abfrage ob die variable false ist wen ja setze auf true.

            Bei nästen mal ist die variable true und wird nichts ausgeöst.

            Der zweite block setz per astro funtion den block wieder auf falsch (war in meinem fall praktisch kan aber auch anderer shedule usw sein).

            Da ich es mit variablen löse ist der wert nicht festgelegd, also adapter, script oder iobroker neustart fängt dan wieder bei NULL an.

            Dutch

            PS: wenn du diese blöcke probieren möchtest hier der code zum import:

            ! ..... `

            Hey, ich habe mich an deinem Script orientiert da ich das ganze derzeit lerne :)

            Ich benutze das ganze für eine Guten-Morgen Routine.

            Irgendwie klappt es mit dem Flag aber nicht, kannst du sagen was ich falsch mache?

             <xml xmlns="http://www.w3.org/1999/xhtml"><block type="variables_set" id="xvs=nbv9z_Z)s;4Z!|#^" x="38" y="64"><field name="VAR">Wakeup</field>
                <value name="VALUE"><block type="logic_boolean" id="AjrYZTXBGz7w,~Vol6Wz"><field name="BOOL">TRUE</field></block></value> 
                <next><block type="on" id="kPCG3bU;Fc7HHYySm@{Q"><field name="OID">node-red.0.hue-motion</field>
                    <field name="CONDITION">ne</field>
            
                    <statement name="STATEMENT"><block type="controls_if" id=";/djsW44X8,iQmkuZ!Uy"><value name="IF0"><block type="logic_operation" id="tgZjK(Z+ya7E2)fo1mjo"><field name="OP">AND</field>
                            <value name="A"><block type="time_compare" id="epL2VT@^sVJ4VslQ-y_~"><mutation end_time="true"></mutation>
                                <field name="OPTION">between</field>
                                <field name="START_TIME">06:00</field>
                                <field name="END_TIME">13:00</field></block></value> 
                            <value name="B"><block type="logic_compare" id="e]lW_ksSt7qU~^F8JsvJ"><field name="OP">EQ</field>
                                <value name="A"><block type="get_value" id="5G:,`TR:EOA4v2i!JuA-"><field name="ATTR">val</field>
                                    <field name="OID">node-red.0.hue-motion</field></block></value> 
                                <value name="B"><block type="logic_boolean" id="G|,)nJw[c=62.zDmB|`6"><field name="BOOL">TRUE</field></block></value></block></value></block></value> 
                        <statement name="DO0"><block type="control" id="Z5Mtuz[=Qey@=8+o9=LA"><mutation delay_input="false"></mutation>
                            <field name="OID">alexa2.0.Echo-Devices.G090XXX70MLB.Commands.speak</field>
                            <field name="WITH_DELAY">FALSE</field>
                            <value name="VALUE"><block type="text_join" id="PPs!%YASk!0_zaU20niI"><mutation items="5"></mutation>
                                <value name="ADD0"><block type="text" id="-!?cr_WS}IK!;yZC2`!a"><field name="TEXT">Guten Morgen Chef. Ich hoffe du hast gut geschlafen. Dein Wagen hat noch</field></block></value> 
                                <value name="ADD1"><block type="get_value" id="bsS=yj1t~Vc2P0`jE5JR"><field name="ATTR">val</field>
                                    <field name="OID">bmw.0.XXXXX.dynamic.remaining_fuel</field></block></value> 
                                <value name="ADD2"><block type="text" id="vY3Y_`Q9y;q1]pt|WI;R"><field name="TEXT">Liter im Tank, was einer ungefähren Reichweite von</field></block></value> 
                                <value name="ADD3"><block type="get_value" id="MyW,AR!g!)-5`{p!n`^4"><field name="ATTR">val</field>
                                    <field name="OID">bmw.0.XXXXX.dynamic.kombi_current_remaining_range_fuel</field></block></value> 
                                <value name="ADD4"><block type="text" id="WMIilUe72b(P/%l1}6B="><field name="TEXT">Kilometer entspricht.</field></block></value></block></value> 
                            <next><block type="control" id="#~uPdO~TuVuqY;HL_TVW"><mutation delay_input="true"></mutation>
                                <field name="OID">alexa2.0.Echo-Devices.G090XXX70MLB.Routines.4a56b499-87ff-4c8e-aae1-6e0d58d282fd</field>
                                <field name="WITH_DELAY">TRUE</field>
                                <field name="DELAY_MS">13</field>
                                <field name="UNIT">sec</field>
                                <field name="CLEAR_RUNNING">FALSE</field>
                                <value name="VALUE"><block type="logic_boolean" id="x=?;8Ck-h~K?+GPG?1Hw"><field name="BOOL">TRUE</field></block></value></block></next></block></statement> 
                        <next><block type="variables_set" id="=~tAtK@6owV.Uq`Br9MB"><field name="VAR">Wakeup</field>
                            <value name="VALUE"><block type="logic_boolean" id="Ahp!B(;)WC+R#C`kAQ{K"><field name="BOOL">FALSE</field></block></value></block></next></block></statement> 
                    <next><block type="astro" id="nqQ4%f_iInvU{ytAz]47"><field name="TYPE">night</field>
                        <field name="OFFSET">0</field>
                        <statement name="STATEMENT"><block type="controls_if" id=";@|9?-X9ar]3sk+h`|1T"><value name="IF0"><block type="time_compare" id="o0C8kqnxjshVIy*`1v+2"><mutation end_time="false"></mutation>
                                <field name="OPTION">></field>
                                <field name="START_TIME">05:00</field></block></value> 
                            <statement name="DO0"><block type="variables_set" id=")eT.f,x+2V+ah|{H.g4d"><field name="VAR">Wakeup</field>
                                <value name="VALUE"><block type="logic_boolean" id="5(v;8@2RzqpVe{BcM[sG"><field name="BOOL">TRUE</field></block></value></block></statement></block></statement></block></next></block></next></block></xml> 
            
            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

            429

            Online

            32.7k

            Benutzer

            82.5k

            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