Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Alexa Sprachausgabe mit Pausen

    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

    Alexa Sprachausgabe mit Pausen

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

      Hallo zusammen,

      ich habe mir eine Liste erstellt, in der z.B. alle geöffneten Fenster aufgelistet sind.
      Wenn ich jetzt z.B. meine Alarmanlage aktivieren möchte dann soll mir Alexa sagen welche Fenster noch geöffnet sind.
      Die Ansage der Fenster habe ich auch soweit hinbekommen.
      Was mir nicht gefällt ist, dass Alexa die Fenster dann ohne Punkt und Komma runterrattert, wenn ich die Liste an Alexa übergebe.
      Hatte mir dann überlegt mittels Schleife jedes Fenster in der Liste einzeln an Alexa zu übergeben und danach eine Pause zu setzen.
      Dann ist es aber so, dass je nachdem wie lang der Fenstername ist, die Pause manchmal zu kurz ist und die Ansage durch die nächste abgebrochen wird oder viel zu lang ist.
      Wie kann man das programmieren, dass nachdem ein Fenster genannt wurde eine Pause von z.B. 1s gemacht wird bevor die nächste Ansage startet?

      Hier mal das Script für die Übertragung an Alexa.
      Um nicht beim Testen im Durchzug zu sitzen und Ärger mit der Frau zu bekommen habe ich es hier mit den geschlossenen Fenstern getestet.😀

      4eab5f65-0f1a-4ec0-966f-3accfe0e1bb5-image.png

      Update:
      Ich habe es jetzt hinbekommen, dass Alexa zwischen den Ansagen eine Pause macht, indem ich in der Liste hinter jedem Eintrag einen Punkt gesetzt habe.
      Ist aber immer noch nicht ganz das, was ich gerne hätte, da ich zum einen die länge der Pause noch nicht definieren kann und zum anderen, dass dieser Punkt in der Liste auftaucht, wenn ich die evtl. irgendwo auch ausgeben möchte.

      paul53 BananaJoe 2 Replies Last reply Reply Quote 0
      • paul53
        paul53 @TripleX last edited by

        @triplex sagte: Punkt in der Liste auftaucht, wenn ich die evtl. irgendwo auch ausgeben möchte.

        Dann füge den Punkt nur für "speak" an.

        Blockly_temp.JPG

        1 Reply Last reply Reply Quote 0
        • T
          TripleX last edited by

          @paul53 Dann habe ich aber immer noch das Problem, dass die Pause nicht immer passt und Ansagen durch die nächste abgebrochen werden oder das die Pausen viel zu lang sind.
          Kann man irgendwie abfragen, wann Alexa eine Durchsage beendet hat?

          T paul53 2 Replies Last reply Reply Quote 0
          • T
            TripleX @TripleX last edited by TripleX

            Habe gerade gesehen, dass meine Post nicht 100%ig übernommen wird.
            Aus "passt" wird "vergeht".
            Was ist das denn für ein Quatsch!!!

            8713ecdb-d0f6-46b8-9882-e118342446d0-image.png

            1 Reply Last reply Reply Quote 0
            • paul53
              paul53 @TripleX last edited by paul53

              @triplex sagte: wann Alexa eine Durchsage beendet hat?

              Von Alexa habe ich eine Ahnung, was auch so bleiben wird.

              1 Reply Last reply Reply Quote 0
              • BananaJoe
                BananaJoe Most Active @TripleX last edited by BananaJoe

                @triplex wie wäre es wenn du erst den Text für Alexa erzeugst und dann diese erst komplett ausgibst?
                Wenn du dann statt den speak den ssml Datenpunkt nimmst, kannst du per SSML-Steuerungsanweisungen alles beeinflussen.

                Hier ein Beispiel von einem elektrischen Heizstab im Badheizkörper, kannst ja mal so in ssml Datenpunkt schreiben.

                <speak><amazon:emotion name="disappointed" intensity="high">Selbstzerstörung eingeleitet. </amazon:emotion><break time="2s"/><amazon:emotion name="excited" intensity="high">Nur Spaß! Der Heizkörper wird jetzt für 20 Minuten erwärmt. Verbrenne dir nicht die Finger</amazon:emotion></speak>
                

                <break time="2s"/> sind zum Beispiel 2 Sekunden Pause, erlaubt sind s für Sekunden und ms für Millisekunden, das kann man also sehr genau steuern.

                Die vollständigen Befehle (inklusive Geräusche, verschiedenen Stimmen, schneller, langsamer, lauter, leiser etc.): https://developer.amazon.com/en-US/docs/alexa/custom-skills/speech-synthesis-markup-language-ssml-reference.html

                Und ja, dann musst du das halt mehrmals zusammenbauen, einmal für die Sprachausgabe und dann für die anderen Verwendungszwecke.

                T 1 Reply Last reply Reply Quote 0
                • T
                  TripleX @BananaJoe last edited by

                  @bananajoe said in Alexa Sprachausgabe mit Pausen:

                  <speak><amazon:emotion name="disappointed" intensity="high">Selbstzerstörung eingeleitet. </amazon:emotion><break time="2s"/><amazon:emotion name="excited" intensity="high">Nur Spaß! Der Heizkörper wird jetzt für 20 Minuten erwärmt. Verbrenne dir nicht die Finger</amazon:emotion></speak>

                  Danke für den Tip.
                  Habe den Text ja schon vorher in Form einer Liste zusammengebaut und dann an Alexa übergeben.
                  Muss mal gucken ob ich da auch die Pausenbefehle für den ssml Datenpunkt untergebracht bekomme.

                  BananaJoe 1 Reply Last reply Reply Quote 0
                  • BananaJoe
                    BananaJoe Most Active @TripleX last edited by BananaJoe

                    @triplex

                    0f8a30ac-934c-4090-8e19-ad00ae6f6749-image.png

                    Schönheitsfehler ist das nach dem letzten Element keine Pause mehr notwendig wäre, da könnte man das wieder abschneiden. Wird aber auch keiner merken. Oder noch besser, es wird gesagt das die Liste zu Ende ist:

                    9db566c7-324b-47e9-8ef9-e481e47900a5-image.png

                    Dann aber auch gleich vorher sagen wie viele es sind:
                    90bba2e6-a0e9-44f8-9d59-a452238f4a53-image.png

                    Jetzt noch per SSML Anweisungen singen lassen ... oder per Schimpfwortgenerator meckern warum denn überhaupt ein Fenster offen ist.

                    T 1 Reply Last reply Reply Quote 2
                    • T
                      TripleX @BananaJoe last edited by

                      @bananajoe Danke dir!
                      Muss man die Übergabe an Alexa unbedingt mit diesem Block am Ende machen?
                      Kann man nicht einfach den Steuerblock nehmen?

                      Auf das mitbdem Meckern komme ich nochmal zurück.

                      BananaJoe 1 Reply Last reply Reply Quote 0
                      • BananaJoe
                        BananaJoe Most Active @TripleX last edited by

                        @triplex sagte in Alexa Sprachausgabe mit Pausen:

                        Muss man die Übergabe an Alexa unbedingt mit diesem Block am Ende machen?

                        Du kannst auch den "normalen" Steuerblock nehmen. Ich nehme immer den aus den Screenshots weil ich nur bei diesem ein Textfeld auf die Objekt-ID ziehen kann.
                        Ich setze oft am Anfang der Skripte die Geräte in Variablen, also den Grundpfad, und baue mir dann die eigentlichen Datenpunkte im Skript aus Text zusammen. So kann ich ein Skript leicht wiederverwenden denn ich muss nur oben die Variable ändern und nicht alle Datenpunkte im Skript.
                        Man kann bei dem Blöcken aber auch per rechte Maustaste zwischen internen und externen Eingängen umschalten falls einem die Darstellung nicht kompakt genug ist.

                        T 1 Reply Last reply Reply Quote 0
                        • T
                          TripleX @BananaJoe last edited by

                          @bananajoe Ah...ok.
                          Wollte ich auch mal versuchen.
                          Habe hierzu gerade nen neuen Fall aufgemacht weil ich da nicht ganz weiter komme.
                          Vielleicht kannst du dir das mal angucken.

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

                          Support us

                          ioBroker
                          Community Adapters
                          Donate

                          896
                          Online

                          31.9k
                          Users

                          80.1k
                          Topics

                          1.3m
                          Posts

                          3
                          11
                          315
                          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