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. Cloud Dienste
  4. ALEXA spricht endlich beliebigen text !!!

NEWS

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

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.3k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    3.5k

ALEXA spricht endlich beliebigen text !!!

Geplant Angeheftet Gesperrt Verschoben Cloud Dienste
87 Beiträge 24 Kommentatoren 23.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.
  • apollon77A Offline
    apollon77A Offline
    apollon77
    schrieb am zuletzt editiert von
    #7

    Cool. Ich habe es mal soef (Alexa Adapter) geschickt ;-)

    Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

    • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
    • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
    1 Antwort Letzte Antwort
    0
    • MicM Offline
      MicM Offline
      Mic
      Developer
      schrieb am zuletzt editiert von
      #8

      @liv-in-sky:

      bevor ich alles umstelle warte ich lieber noch wie stabil das login mit dem linux skript ist - kann ja sein, dass in zwei wochen wieder bzw. auch damit probleme auftreten - habe erstmal nur badradio ein und aus umgesetzt und lass das mal 2 wochen laufen `

      Macht auch absolut Sinn erst mal zu testen :) Da die Alexa-Scripts allerdings für mich sehr unzuverlässig laufen, habe ich zum testen schon mal komplett umgestellt. Nur ein paar JS-Funktionen, die ich über überwachte Datenpunkte ansteuere (wie schon vorher). Ich mache aber im Endeffekt auch nur TuneIn, die Sprachausgabe ist jetzt echt nice, und Befehl "alles aus".

      Dazu habe ich dieses Script unter Global, füllt natürlich keine Datenpunkte usw., aber für den ersten Test läuft es eben:

      ! ````
      /**************************************************************************************

      • Alexa via Linux Shell fernsteuern.
      • Many thanks to Thorsten Gehrig - Lötzimmer
      • .sh Script: https://github.com/thorsten-gehrig/alexa-remote-control
      • Mehr dazu: https://blog.loetzimmer.de/2017/10/amazon-alexa-hort-auf-die-shell-echo.html
      • Installation: siehe https://forum.iobroker.net/viewtopic.php?f=37&t=15024#p156796

      **************************************************************************************/

      ! /**

      • Changelog:
      • 0.0.1 - Mic (forum.iobroker.net) - Neu

      */

      ! ////////////////////////// KONFIGURATION ///////////////////////////////////////
      ! // Pfad zur .sh-Datei
      const M_SH_PATH = '/opt/iobroker/xy/alexa_remote_control.sh';
      ! ////////////////////////// Ab hier nichts mehr ändern //////////////////////////
      ! /**

      • @desc Alexa, say it. Alexa will output the phrase in the room you specify
      • @param string strAlexaDevice - the Alexa device
      • @param string strPhrase - the phrase
        */
        function G_AlexaSayIt(strAlexaDevice, strPhrase) {
        G_PerformExec(strAlexaDevice, "-e speak:'" + strPhrase + "'");
        }

      ! /**

      • @desc Alexa will turn ALL devices off / pause
        */
        function G_AlexaAllPause() {
        G_PerformExec("ALL", "-e pause");
        }

      ! /**

      • @desc Alexa will turn on the TuneIn station you specify
      • @param string strAlexaDevice - the Alexa device
      • @param string strStationID - the TuneIn Station ID, e.g. "s259245" for "Het Bosch Waterfront Radio"
        */
        function G_AlexaTunein(strAlexaDevice, strStationID) {
        G_PerformExec(strAlexaDevice, "-r " + strStationID );
        }

      ! ////////////////////////// Hilfsfunktionen /////////////////////////////////////
      ! /**

      • @desc performs the actual exec() function
      • @param string strAlexaDevice - the Alexa Device
      • @param string strCommand - the command
        */
        function G_PerformExec(strAlexaDevice, strCommand) {
        exec("bash " + M_SH_PATH + " -d " + strAlexaDevice + " " + strCommand);
        }

      ! ````

      1 Antwort Letzte Antwort
      0
      • N Offline
        N Offline
        Nikoxx
        schrieb am zuletzt editiert von
        #9

        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 Antwort Letzte Antwort
        0
        • liv-in-skyL Offline
          liv-in-skyL Offline
          liv-in-sky
          schrieb am zuletzt editiert von
          #10

          @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

          nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

          1 Antwort Letzte Antwort
          0
          • MicM Offline
            MicM Offline
            Mic
            Developer
            schrieb am zuletzt editiert von
            #11

            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 Antwort Letzte Antwort
            0
            • MicM Offline
              MicM Offline
              Mic
              Developer
              schrieb am zuletzt editiert von
              #12

              @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 Antwort Letzte Antwort
              0
              • N Offline
                N Offline
                Nikoxx
                schrieb am zuletzt editiert von
                #13

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

                1 Antwort Letzte Antwort
                0
                • liv-in-skyL Offline
                  liv-in-skyL Offline
                  liv-in-sky
                  schrieb am zuletzt editiert von
                  #14

                  hi mic,

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

                  nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                  1 Antwort Letzte Antwort
                  0
                  • TomTT Offline
                    TomTT Offline
                    TomT
                    schrieb am zuletzt editiert von
                    #15

                    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

                    PI3B > Raspimatic / Opi+2 > ioBroker / ESP8266
                    if (System == "running") {finger = "weg";} else {lastAction = "Rückgängig";}

                    1 Antwort Letzte Antwort
                    0
                    • C Offline
                      C Offline
                      CBeck
                      schrieb am zuletzt editiert von
                      #16

                      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 Antwort Letzte Antwort
                      0
                      • apollon77A Offline
                        apollon77A Offline
                        apollon77
                        schrieb am zuletzt editiert von
                        #17

                        Mach mal ein./ beim Aufruf davor

                        Beitrag hat geholfen? Votet rechts unten im Beitrag :-) https://paypal.me/Apollon77 / https://github.com/sponsors/Apollon77

                        • Debug-Log für Instanz einschalten? Admin -> Instanzen -> Expertenmodus -> Instanz aufklappen - Loglevel ändern
                        • Logfiles auf Platte /opt/iobroker/log/… nutzen, Admin schneidet Zeilen ab
                        1 Antwort Letzte Antwort
                        0
                        • liv-in-skyL Offline
                          liv-in-skyL Offline
                          liv-in-sky
                          schrieb am zuletzt editiert von
                          #18

                          versuch mal im directory den befehl :

                          chmod +x alexa_remote_control.sh

                          damit machst du die datei ausführbar

                          nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                          1 Antwort Letzte Antwort
                          0
                          • lobomauL Offline
                            lobomauL Offline
                            lobomau
                            schrieb am zuletzt editiert von
                            #19

                            @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_…...

                            Host: NUC8i3 mit Proxmox:

                            • ioBroker CT Debian 13, npm 10.9.4, nodejs 22.21.0
                            • Slave: Pi4
                            1 Antwort Letzte Antwort
                            0
                            • C Offline
                              C Offline
                              CBeck
                              schrieb am zuletzt editiert von
                              #20

                              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 Antwort Letzte Antwort
                              0
                              • cvidalC Offline
                                cvidalC Offline
                                cvidal
                                Forum Testing
                                schrieb am zuletzt editiert von
                                #21

                                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 Antwort Letzte Antwort
                                0
                                • liv-in-skyL Offline
                                  liv-in-skyL Offline
                                  liv-in-sky
                                  schrieb am zuletzt editiert von
                                  #22

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

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

                                  nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                                  1 Antwort Letzte Antwort
                                  0
                                  • M Offline
                                    M Offline
                                    Marty56
                                    schrieb am zuletzt editiert von
                                    #23

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

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

                                    HW:NUC (16 GB Ram)
                                    OS: Debian Bullseye, Promox V7, node v16.x npm 8.19.3

                                    1 Antwort Letzte Antwort
                                    0
                                    • cvidalC Offline
                                      cvidalC Offline
                                      cvidal
                                      Forum Testing
                                      schrieb am zuletzt editiert von
                                      #24

                                      @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 Antwort Letzte Antwort
                                      0
                                      • cvidalC Offline
                                        cvidalC Offline
                                        cvidal
                                        Forum Testing
                                        schrieb am zuletzt editiert von
                                        #25

                                        @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 Antwort Letzte Antwort
                                        0
                                        • liv-in-skyL Offline
                                          liv-in-skyL Offline
                                          liv-in-sky
                                          schrieb am zuletzt editiert von
                                          #26

                                          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

                                          nach einem gelösten Thread wäre es sinnvoll dies in der Überschrift des ersten Posts einzutragen [gelöst]-... Bitte benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat. Forum-Tools: PicPick https://picpick.app/en/download/ und ScreenToGif https://www.screentogif.com/downloads.html

                                          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
                                          FAQ Cloud / IOT
                                          HowTo: Node.js-Update
                                          HowTo: Backup/Restore
                                          Downloads
                                          BLOG

                                          769

                                          Online

                                          32.5k

                                          Benutzer

                                          81.6k

                                          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