alexa-remote-control | Alexa per Shell fernsteuern - Alexa Sprachausgabe Text-to-Speech über Homebridge in HomeKit

  • hallo zusammen!

    Kennt jemand eine Möglichkeit Alexa als Ansagerin zu nutzen? Was mir vorschwebt, z.B. Wenn im Raum die Luft schlecht wird, dass Alexa sich meldet und soetwas wie „es müßte mal wieder gelüftet werden“ ausspuckt. Eben als Hinweis. Hat das schon jemand realisiert? Also eigentlich eine Szene zu produzieren die die Sprachausgabe der Alexa veranlasst.

  • Jembalaja Vielleicht sind Dir die Beiträge von xMAIKx nützlich. Er hat glaube ich mit Sprachausgabe generell Erfahrung. Allerdings glaube ich auch nicht mit Alexa. Aber eventuell ist Dir das ja dann doch eine Hilfe oder Anregung für weitere Ideen zu dem Thema.

    Hilfreich?

  • Hallo zusammen,


    habe gerade mit einfachsten Mitteln die Sprachausgabe über Alexa realisiert. Mit Sicherheit verbesserungsfähig aber funktioniert. Was ist also zu tun:

    1. Unter der URL das Script alexa_remote_control.sh auf den pi in ein ausführbares Verzeichnis herunterladen und mit Logindaten anfüttern: https://blog.loetzimmer.de/201…t-auf-die-shell-echo.html
    2. alexa_remote_control.sh mit dem Homebridge Benutzer ausführbar machen
    3. Testen ./alexa_remote_control.sh -d EchoGerät -e speak:'Ding, Dong,Es hat an der Tüühr geklingelt!'
      • Man muss die Wörter mehr phonetisch Schreiben
      • Text in einfache Hochkommas
    4. im gleichen Verzeichnis wie das alexa script liegt sollte man noch ein leeres ausführbares Shell Script anlegen: z.B.: off.sh
    5. homebridge-script2 installeren
    6. pro Sprachausgabe habe ich nun ein Script getriggert, die Konfiguration sieht dabei so aus:

    {

    "accessory": "Script2",

    "name": "EsHatAnDerTuerGeklingelt",

    "on": "/var/homebridge/alexa_remote_control.sh -d EchGerät -e speak:'Es hat an der Tüühr geklingelt!'",

    "off": "/var/homebridge/off.sh",

    "fileState": "/var/homebridge/alexa_remote_control_tuer.flag"

    }


    Wichtig ist das off.sh da sonst das Plugin das ganze Homebridge runter reisst und die Datei bei fileStat da wird dann der aktuelle Schaltzustand eingetragen.

    Im HomeKit habe ich nun den Sensor für die Tür benutzt um das Gerät EsHatAnDerTuerGeklingelt einzuschalten, nach 3 Minuten wird das gerät dann automatisch ausgeschaltet. Was dazu führt das Sturmklingeln nicht in einer permanenten Sprachausgabe endet.


    Weitere Ausgaben die ich bis dato implementiert habe sind: Persönliche Begrüßung bei Anwesenheit entdeckt. Hier ist meine Vorstellung das ich in den Floskeln wechseln kann um so eine Variants hineinzubekommen.


    Grundsätzlich kann das alexa Script natürlich noch mehr, aber das erst mal für den Anfang.

    Hoffe das ihr mal eure Erfahrungen und Umsetzungen postet.



    Grüße Patrik

  • Coole Sache, das mit der Sprachausgabe, und es gibt anscheinend noch andere Möglichkeiten, wie z.b. einen bestimmten Radiosender abzuspielen, das wäre dann ne Funktion für mein Badezimmer, wenn ich noch zu faul zum reden bin, per Knopfdruck am Echo den Radio anzuschalten ?



    Sent from my iPhone using Community

  • Super Sache! Liest sich genau so, wie viele sich das wünschen. Glaube Maz hat auch immer sowas gesucht?

    Mich hält allerdings erstmal ein bisschen davon ab die Amazon Login-Daten zu nutzen im Script für einen Dritten außer Amazon. Oder gibt es dazu Details?

    Überängstlich? :/

    Hilfreich?

  • DJay


    Das mit den Login-Daten ist ein guter Hinweis, muss ich auch erst mal überdenken....



    Sent from my iPhone using Community

  • Im Script wird direkt die Amazon API angesprochen. Und die Logindaten werden nur einmal zum Cookie erstellen genutzt und danach wird das Cookie verwendet. Rein theoretisch kann man die Daten danach löschen, ich weiss halt nicht wie lange das Cookie hält.

    1. Testen ./alexa_remote_control.sh -d EchoGerät -e speak:'Ding, Dong,Es hat an der Tüühr geklingelt!

    ich habe folgenden Fehler:

    Code
    pi@hbridge3:/var/homebridge $ bash alexa_homebridge.sh -d ALL -e speak:'Ding, Dong,Es hat an der Tüühr geklingelt!'
    cookie does not exist. logging in ...
    device list does not exist. downloading ...
    alexa_homebridge.sh: Zeile 793: jq: Kommando nicht gefunden

    weis jemand wie man das cookie erstellt?


    Gruß Klaus

  • Hallo,


    Schaut euch mal den Adapter „alexa2“ unter ioBridge an.

    Der kann Alexa über Befehle steuern. Auch mit beliebiger Sprachausgabe.

  • Sorry - ich meinte "ioBroker" !!


    Erläuterung:

    ioBroker ist eine Integrationsplattform für das Internet der Dinge und dient als zentraler Server für Smart Home / Building Automation / Assisted Living.

  • Danke.

    Ich habe noch FHEM laufen, ob ich einen dritten dienste dazu möchte, bin ich mir nicht so sicher. Ich denke mal das die anbindung vom iobeoker zu homebridge auch wieder hürden aufzeigt damit alles sauber angezeigt wird, zumindest ist das bei FHEM so :(


    Aber vielen dank für den Tipp :thumbup:

  • euleec7


    Die Fernsteuerung für Alexa mit "alexa2" wird direkt von ioBroker aus gemacht.

    Hier eine Einbindung zu HB zu machen ist wahrscheinlich nicht sinnvoll, wäre aber möglich über YAHKA.

    Wenn YAHKA mal läuft, ist es recht stabil und man kann fast alles von ioBroker direkt zu HK/SIRI bringen (ohne HB zu nutzen).



    Ich habe auf meinem RPI unter anderem ioBroker, Homebridge, HA-Bridge, UniFi-Controller und Webmin laufen (u.e.m.) - ohne Probleme.

    Somit bin ich für alles offen, von HB zu HK oder Alexa oder zu ioBroker (per ham-Adapter), oder von ioBroker zu HK oder Alexa.

    Parallel betreibe ich einen weiteren RPi mit RaspberryMatic (HomeMatic), um hierüber Heizungsteuerung (auch Tür/-Fensterkontakte uvm.) zu steuern.

    Mein Ziel war es, alles per SIRI und Alexa anzusprechen und steuern zu können, egal ob Heizung, Licht, Steckdosen, Ambilight, PC/Macs usw. und egal in welchem System sie laufen. Dafür benötigt man maximal die 3 oben genannten Systeme auf einem RPi.

  • ich habe folgenden Fehler:

    Code
    pi@hbridge3:/var/homebridge $ bash alexa_homebridge.sh -d ALL -e speak:'Ding, Dong,Es hat an der Tüühr geklingelt!'
    cookie does not exist. logging in ...
    device list does not exist. downloading ...
    alexa_homebridge.sh: Zeile 793: jq: Kommando nicht gefunden

    weis jemand wie man das cookie erstellt?


    Gruß Klaus

    Wenn Du den Fehler hast, dann ist bei Dir jq nicht installiert, würde ich behaupten...

  • Installation von jq auf Raspberry Pi


    cd /tmp

    wget https://github.com/stedolan/jq/releases/download/jq-1.5/jq-1.5.tar.gz

    tar xfvz jq-1.5.tar.gz

    cd jq-1.5

    ./configure && make && sudo make install


    Funktioniert übrigens einwandfrei.


    Als Tipp.. Ich habe mir einen zweiten Amazon Account angelegt der weder Zahlungsmittel (Kreditkarte etc., noch Lieferadresse hat).

    Diesen habe ich dann über https://alexa.amazon.de/?tag=hktips-forum-21 , Alexa-Konto, Amazon-Haushalt hinzugefügt.

    Die Daten von dem "Dummy" Amazon Account nutze ich nun für das Script zum Login und nur für Alexa.


    Weiter einfach im Terminal des Raspberry /home/pi/.homebridge/alexa_remote_control.sh -a

    Damit werden die Dateien angelegt .alexa.cookie sowie .alexa.devicelist.json


    Durch mein Ausprobieren zuvor hat etwas nicht so ganz funktioniert.

    Dann hilft immer mal unter /tmp/.alexa.cookie und /tmp/.alexa.devicelist.json diese beiden Dateien zu löschen.


    Ansonsten ist durch das Plugin script2 nun der erste Schalter in HomeKit, der z.B. in einer Szene eingebunden das Wetter über meinen vorhandenen Triby Lautsprecher ausgibt.


    Code
    {
    "accessory": "Script2",
    "name": "Alexa Wetter",
    "on": "/home/pi/.homebridge/alexa_remote_control.sh -d Flur -e weather",
    "off": "/home/pi/.homebridge/off.sh",
    "fileState": "/home/pi/.homebridge/alexa_remote_control_Wetter.flag"
    },


    More to come ... 8)

    Hilfreich?

  • läuft....Danke dir...:thumbup:

  • ich habe folgenden Fehler:

    Code
    pi@hbridge3:/var/homebridge $ bash alexa_homebridge.sh -d ALL -e speak:'Ding, Dong,Es hat an der Tüühr geklingelt!'
    cookie does not exist. logging in ...
    device list does not exist. downloading ...
    alexa_homebridge.sh: Zeile 793: jq: Kommando nicht gefunden

    weis jemand wie man das cookie erstellt?


    Gruß Klaus

    https://stedolan.github.io/jq/ ist der JSON Parser, es gibt auch eine Variante ohne: https://loetzimmer.de/patches/alexa_remote_control_plain.sh die kann dann ein paar Sachen weniger.

  • ich habe folgenden Fehler:

    Code
    alexa_homebridge.sh: Zeile 793: jq: Kommando nicht gefunden

    Dagegen helfen schamanische Schreitänze oder ein einfaches sudo apt-get install jq.


    Stefan