Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Cloud Dienste
    4. ALEXA spricht endlich beliebigen text !!!

    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 spricht endlich beliebigen text !!!

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

      Guten Abend könnte mir jemand verraten wie ich die globale Funktion aufrufe.

      Hab es so versucht aber irgendwie klappt das nicht.

      ! ````
      G_AlexaSayIt("Echo Wohnzimmer", "Das ist ein Test");

      
      Gruß Niko
      1 Reply Last reply Reply Quote 0
      • liv-in-sky
        liv-in-sky last edited by

        @Mic

        hi mic,

        ich bin nicht das hellste licht im programmieren - würdest du mir bitte kurz erklären (falls kurz möglich) warum du das global machst. ich mache das ähnlich wie du aber mit einen normalen blockly - hat das einen vorteil? alexa.rede ist ein bashscript, welches das alexa_remote_control_plain.sh nutzt.

        4447_alexa-blockly.jpg

        1 Reply Last reply Reply Quote 0
        • Mic
          Mic Developer last edited by

          Hi liv-in-sky,

          @liv-in-sky:

          würdest du mir bitte kurz erklären (falls kurz möglich) warum du das global machst `

          Ich arbeite dann mit globalen Scripts Javascripts (JS), wenn ich auf diese von beliebigen anderen Scripts zugreifen möchte.

          Im Prinzip ähnlich wie Du, wenn Du "alexa.rede.sh" ausführst, das ist ja quasi auch global verfügbar.

          Zu meiner Vorgehensweise:

          Ich habe Datenpunkte angelegt, einer heißt z.B. "tunein_current_station" (also Radiosender). Diese Datenpunkte werden überwacht mit einem nicht globalen Script (JS). Diese Datenpunkte spreche ich auch mit Alexa an.

              var strObjPathB = 'javascript.0.mic.cloud-trigger.tunein_current_station';
              on({id: strObjPathB, change: "any"}, function (obj) {
          

          In diesem nicht globalen Script führe ich dann den gewünschten Code aus wenn sich der Datenpunkt ändert. In diesem Fall wird, sobald "3" in den Datenpunkt eingetragen wird, bei mir der Radiosender 1Live auf der Überall-Gruppe von Alexa gespielt.

          G_AlexaTunein('Überall', strStationID);
          

          (strStationID ist in dem Fall dann "s100198" für den Sender 1Live. G_AlexaTunein() führt die Funktion im globalen Script aus, das u.a. eben den exec() für "alexa_remote_control.sh" enthält.

          In dem Script schalte ich auch noch den Receiver gleich mit ein.

          Vorteil für mich: mein globales Script macht alles für mich, ich muss mich nicht mehr darum kümmern, wie der exec()-Befehl aufgebaut sein muss etc., um das "alexa_remote_control.sh" entsprechend zu steuern. D.h. ich kann das so beliebig einfach erweitern.

          Ich bin allerdings erst seit ein paar Monaten bei ioBroker, die Fortgeschrittenen und Profis hier würden das wahrscheinlich noch deutlich eleganter lösen 🙂

          1 Reply Last reply Reply Quote 0
          • Mic
            Mic Developer last edited by

            @Nikoxx:

            Guten Abend könnte mir jemand verraten wie ich die globale Funktion aufrufe. `

            Hi Niko,

            funktioniert es denn, wenn Du ohne der globalen Funktion die exec() direkt ausführst?

            Also z.B.

            exec("bash /opt/iobroker/xy/alexa_remote_control.sh -d Wohnzimmer -e speak:'Das ist ein Test'");
            

            (Pfad etc. natürlich anpassen, und vorausgesetzt, alexa_remote_control.sh funktioniert, wenn Du das z.B. mit Putty testest.)

            Mir fällt außerdem auf, dass Du in Deinem Beispiel ein Alexa-Gerät mit "Echo Wohnzimmer" bezeichnest, heißt das wirklich so, also mit "Echo " vorangestellt? Das könnte zum Problem führen, ich hatte auch gemeint, "Echo" und "Alexa" dürfen in den Gerätenamen nicht enthalten sein.

            1 Reply Last reply Reply Quote 0
            • N
              Nikoxx last edited by

              Hi,

              ja wenn ich die exec so ausführe klappt das ohne Probleme.

              bin jetzt gerade durch dich auf die Lösung gekommen.

              Hab den Namen "Echo Wohnzimmer" nochmal in Anführungszeichen gesetzt.

              Also :

              G_AlexaSayIt('"Echo Wohnzimmer"', 'Das ist ein Test');
              

              So funktioniert es jetzt, werde aber bei Gelegenheit die "Echos" umbennen. Wußte nicht das es damit zu Problemen kommen kann.

              Super das es jetzt klappt. 😄

              1 Reply Last reply Reply Quote 0
              • liv-in-sky
                liv-in-sky last edited by

                hi mic,

                vielen dank für die ausführliche erklärung

                1 Reply Last reply Reply Quote 0
                • TomT
                  TomT last edited by

                  Funktioniert wunderbar, danke für die Beschreibung wie man das nutzt 🙂

                  Ich habe es ohne alexarede.sh gemacht und mir das als Vorlage für die einzelnen anderen Scripte in Blockly vorbereitet.

                  So muss ich nur noch einen Textblock editieren.

                  der erste Textblock im Screenshot

                  bash /opt/iobroker/alexaTalk/alexa_remote_control.sh -d 
                  

                  3351_alexatalk.png

                  Es müssen die Leerzeichen unbedingt mit eingefügt werden sonst klappts nicht

                  Blockly Export :

                  ! ````
                  <xml xmlns="http://www.w3.org/1999/xhtml"><block type="comment" id="W%hp(PL8C~/lyy-KyyEK" x="38" y="38"><field name="COMMENT">bash /opt/iobroker/alexaTalk/alexa_remote_control.sh -d Wohnzimmer -e speak:'Guten Abend, Meister'</field>
                  <next><block type="schedule" id="-v.JH~cM[EfD@no?]].k"><field name="SCHEDULE">* * * * </field>
                  <statement name="STATEMENT"><block type="exec" id="[bZ%PACuS/qXQnM,JH%X"><mutation with_statement="false"></mutation>
                  <field name="WITH_STATEMENT">FALSE</field>
                  <field name="LOG">log</field>
                  <value name="COMMAND"><shadow type="text" id="xA}H!7RUZownpg(GHv]S"><field name="TEXT">text</field></shadow>
                  <block type="text_join" id="
                  /2tm:tVFv(@hH3(IqEW"><mutation items="5"></mutation>
                  <value name="ADD0"><block type="text" id="8fy9?O!/2OS7lh.~08|"><field name="TEXT">bash /opt/iobroker/alexaTalk/alexa_remote_control.sh -d</field></block></value>
                  <value name="ADD1"><block type="text" id="siK
                  :tK;BvQRP/@MpHU!"><field name="TEXT">Wohnzimmer</field></block></value>
                  <value name="ADD2"><block type="text" id="*)ZS3UU6GgAM_))36?"><field name="TEXT"> -e speak:'</field></block></value>
                  <value name="ADD3"><block type="text" id="0fOFO4Z]o_MZ6cg#Z;8"><field name="TEXT">Your Text Here!</field></block></value> <value name="ADD4"><block type="text" id="5)VlH?bMtUbC3Q::0[~"><field name="TEXT">'</field></block></value></block></value></block></statement></block></next></block></xml>

                  Grüße
                  
                  Tom
                  1 Reply Last reply Reply Quote 0
                  • C
                    CBeck last edited by

                    Leider funktioniert es bei mir nicht.

                    Ich bin wie von Mic beschrieben vorgegangen.

                    Weder als JS noch direkt in putty kommt eine Ausgabe.

                    Rufe ich im Terminal alexa_remote_control_plain.sh -d Wohnzimmer -e speak:'endlich kann ich frei reden' aus, kommt nur:

                    -bash: alexa_remote_control.sh: Kommando nicht gefunden.

                    Bestimmt nur eine Kleinigkeit für euch…Danke schon mal!

                    1 Reply Last reply Reply Quote 0
                    • apollon77
                      apollon77 last edited by

                      Mach mal ein./ beim Aufruf davor

                      1 Reply Last reply Reply Quote 0
                      • liv-in-sky
                        liv-in-sky last edited by

                        versuch mal im directory den befehl :

                        chmod +x alexa_remote_control.sh

                        damit machst du die datei ausführbar

                        1 Reply Last reply Reply Quote 0
                        • lobomau
                          lobomau last edited by

                          @CBeck:

                          Leider funktioniert es bei mir nicht.

                          Ich bin wie von Mic beschrieben vorgegangen.

                          Weder als JS noch direkt in putty kommt eine Ausgabe.

                          Rufe ich im Terminal alexa_remote_control_plain.sh -d Wohnzimmer -e speak:'endlich kann ich frei reden' aus, kommt nur:

                          -bash: alexa_remote_control.sh: Kommando nicht gefunden.

                          Bestimmt nur eine Kleinigkeit für euch…Danke schon mal! `
                          Bist du im Verzeichnis wo die .sh-Datei liegt?

                          Befehl lautet: bash alexa_remote_…...

                          1 Reply Last reply Reply Quote 0
                          • C
                            CBeck last edited by

                            Vielen Dank für eure Hilfe!

                            mit ./ davor oder auch mit bash, wird das Skript ausgeführt. Ich kann mich nur leider nicht anmelden, vermute, dass liegt an der Zwei-Faktor-Anmeldung?

                            Email und Kennwort habe ich natürlich 😉 im Skript vorher hinterlegt.

                            chmod, hatte ich bereits gemacht, vielen Dank aber trotzdem!

                            1 Reply Last reply Reply Quote 0
                            • cvidal
                              cvidal Forum Testing last edited by

                              Bei mit läufts auch iregendwie nicht, er sendet bei mir immer nur an die App, nicht aber an die Echos.

                              Hat jemand eine idee warum das so ist?

                              root@odroid:/opt/iobroker/xy# bash alexa_remote_control_plain.sh -d ALL -e speak:'Test'
                              sending cmd:speak:Test to dev:ALL type:XXXXXXXXXXX serial:XXXXXXXXXXXXXXXXXXXX customerid:
                              Sequence command: Alexa.Speak
                              
                              

                              Gruß Christian

                              1 Reply Last reply Reply Quote 0
                              • liv-in-sky
                                liv-in-sky last edited by

                                versuch es doch mal ohne "ALL" und probiere nur einen echo.

                                ich musste z.b eine neue multigruppe machen, da die existierende nicht funktionierte.

                                1 Reply Last reply Reply Quote 0
                                • M
                                  Marty56 last edited by

                                  Super. Hat nach Anleitung von MIC sofort funktioniert. Großes Dankeschön. 😄

                                  Habe jeden Alex Speaker separat angesteuert und (noch) keine 2nd Factor Auth.

                                  1 Reply Last reply Reply Quote 0
                                  • cvidal
                                    cvidal Forum Testing last edited by

                                    @liv-in-sky:

                                    versuch es doch mal ohne "ALL" und probiere nur einen echo.

                                    ich musste z.b eine neue multigruppe machen, da die existierende nicht funktionierte. `

                                    Ja hatte ich Probiert, lief auch nicht.

                                    Gruppen habe ich keine, sind diese erforderlich?

                                    Gruß Christian

                                    1 Reply Last reply Reply Quote 0
                                    • cvidal
                                      cvidal Forum Testing last edited by

                                      @lobomau:

                                      @CBeck:

                                      Leider funktioniert es bei mir nicht.

                                      Ich bin wie von Mic beschrieben vorgegangen.

                                      Weder als JS noch direkt in putty kommt eine Ausgabe.

                                      Rufe ich im Terminal alexa_remote_control_plain.sh -d Wohnzimmer -e speak:'endlich kann ich frei reden' aus, kommt nur:

                                      -bash: alexa_remote_control.sh: Kommando nicht gefunden.

                                      Bestimmt nur eine Kleinigkeit für euch…Danke schon mal! `
                                      Bist du im Verzeichnis wo die .sh-Datei liegt?

                                      Befehl lautet: bash alexa_remote_…... `

                                      Ja in dem Verzeichnis bin ich.

                                      Ich habe die alexa_remote_control_plain.sh in dem Verzeichnis mit der alexa_remote_control.sh freigabe hat es nicht funtioniert.

                                      Edit:

                                      Ich habe jetzt die alexa_remote_control.sh drauf und die plain.sh gelöscht.

                                      Nun bekomme ich folgende meldung:

                                      root@odroid:/opt/iobroker/xy# bash alexa_remote_control.sh -d all -e speak:'Test'
                                      ERROR: unkown device dev:all
                                      
                                      

                                      Ich habe eine Gruppe "überall" erstellt, damit geht es auch nicht. Device name der Echos geht auch nicht….

                                      Nochmal Edit:)

                                      Nun geht es, mit "ALL" mit Großschrift läufts aber Geräte einzeln ansprechen geht nicht, kann man sich irgendwie die Geräte anzeigen lassen? Laut App ist der Name Christians Echo ´...

                                      Gruß Christian

                                      1 Reply Last reply Reply Quote 0
                                      • liv-in-sky
                                        liv-in-sky last edited by

                                        wenn du einen echo namen mit leerzeichen hast, müssen die in anführungszeichen im bash gesetzt werden - ansonten bedeutet es : der device name ist "christians" und "echo" ist ein weiterer parameter

                                        –> bash alexa_remote_control.sh -d "christians echo"-e speak:'Test'

                                        so nebenbei:

                                        umlaute und leerzeichen würde ich im allgemeinen nie bei namen für geräte oder sonstiges benutzen - macht immer wieder mal probleme

                                        1 Reply Last reply Reply Quote 0
                                        • cvidal
                                          cvidal Forum Testing last edited by

                                          @liv-in-sky:

                                          wenn du einen echo namen mit leerzeichen hast, müssen die in anführungszeichen im bash gesetzt werden - ansonten bedeutet es : der device name ist "christians" und "echo" ist ein weiterer parameter

                                          –> bash alexa_remote_control.sh -d "christians echo"-e speak:'Test'

                                          Es funkt, besten dank für eure Mühe 🙂

                                          so nebenbei:

                                          umlaute und leerzeichen würde ich im allgemeinen nie bei namen für geräte oder sonstiges benutzen - macht immer wieder mal probleme `

                                          Danke.

                                          Gruß Christian

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

                                            Hallo!

                                            Danke für das Super Script. 😛 😛

                                            Hab es mit der Anleitung gestern nach gebaut.

                                            Ich hab gestern Abend die Zwei-Faktor Authentifizierung kurz deaktiviert um das Script bzw. die Sprachausgabe zu testen.

                                            War erfolgreich. 😄

                                            Ich hab danach die Zwei-Faktor Authentifizierung wieder aktiviert, danach funktionierte es noch immer.

                                            Heute in der Früh und nach der Arbeit funktioniert die Sprachausgabe noch immer.

                                            Mal schauen wie lange.

                                            Wollte ich euch nur kurz mitteilen Falls noch jemand das Problem mit der Zwei-Faktor Authentifizierung hat.

                                            Lg Praxxos

                                            Edit: Funktioniert seit heute nicht mehr, cookie dürfte abgelaufen sein.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate
                                            FAQ Cloud / IOT
                                            HowTo: Node.js-Update
                                            HowTo: Backup/Restore
                                            Downloads
                                            BLOG

                                            540
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

                                            24
                                            87
                                            21270
                                            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