Inhaltsverzeichnis

Beschreibung

Um eines Vorweg zu nehmen, ein echtes Text 2 Speech Feature bzw. ein Abspielen von Musik aus dem eigenen LAN ist aktuell nicht möglich. Zumindest für eine Art Text 2 Speech gibt es diverse Weg um das Echo sprechen zu lassen. 

 

Folgende Möglichkeiten gibt es hier:

Bereich

Nachteil
Eine Erinnerung
  • Vor der eigentlichen Textansage ertönt zuerst ein Amazon Ton
  • Vor der eigentlichen Textansage wird der Text "Ich erinnere Dich" vorgelesen
  • Der Text wird zwei mal vorgelesen
Eigene Musik abspielen (Amazon Zusatz ABO)
  • Jedes MP3 File muss zuerst erstellt werden
  • Amazon hat diese Möglichkeit abgekündigt.
  • Neue Benutzer können diese Funktion nicht mehr verwenden
  • Nicht Zukunftssicher
Per Bluetooth
  • Jedes MP3 File muss zuerst erstellt werden
  • Zusätzliche Hardware wird benötigt
  • Bluetooth Verbindung muss dauerhaft hergestellt sein

Ohne weitere Anpassungen ist es also heute schon möglich, dass das Echo einen Text vorliest. Als praktikabelste Lösung hat sich das Erstellen einer Erinnerung herausgestellt. Durch die vielen Nachteile, habe ich diese Möglichkeit aber auf ein Minimum reduziert. Für mich war klar, hier muss eine andere Lösung her! Wie es halt so ist, da grübelt man, und auf einmal hat man eine Idee.

 

Wie wäre es, wenn man einen eigenen Radiosender hätte, und diesen über TuneIn abspielen könnt. Dann müsste man nur noch die MP3 Datei dort ablegen, und könnte einfach den Sender starten. Sehr schnell wurde aber klar, dass das nicht wirklich geht, von den Kosten mal ganz abgesehen. So ein Lösung dann auch noch ins Modul zu integrieren, hätte das Ganze recht kompliziert gemacht. Dann kam die Idee einen bestehenden Sender zu manipulieren. Ab nur wie?

 

Herausgekommen ist folgendes:

Sieht auf den ersten Blick kompliziert aus, ist es aber nicht. Um einen Radiosender zu manipulieren, muss man eigentlich nur die URL auf eine eigene umleiten. Am Besten geht so einen Umleitung per Namensauflösung (DNS). Unter einem Betriebssystem reicht es die Datei "hosts" anzupassen. Das ist aber leider auf einem Amazon Echo nicht möglich. Zumindest ist mir keine Weg bekannt. Aus diesem Grund muss man den Echo netzwerktechnisch so konfigurieren, dass er auf einen manipulierten DNS zugreift. Von diesem DNS Server erhält das Echo dann eine lokale IP-Adresse zu einem bestimmten TuneIn Sender. Hinter der manipulierten IP-Adresse gibt es dann einen Web-Server mit einer, von uns erstellten, Musik Datei. Diese Musik Datei wird jetzt vom Echo abgespielt, direkt danach wird der Sender wieder beendet. Nachdem ich dann mit der ganzen Lösung fertig war, war die Idee, Musik aus dem einen LAN abzuspielen, auch nicht mehr weit entfernt. Leider musste ich dann noch einiges umbauen, damit ein gleichzeitiger Betrieb von Text 2 Speech und das Abspielen von Musik aus dem eigenen LAN mit derselben Konfiguration funktioniert. Herausgekommen ist jetzt diese Lösung:

 

Folgende Schritte sind nötig, um diese Lösung aufzubauen:

  • Eigenen DNS Server erstellen
  • Eigenen WEB Server erstellen
  • Netzwerkkonfiguration ECHO

Technische Informationen

Als TuneIn Radio Sender für das Abspielen von Musik aus dem eigenen LAN verwenden wir "Lucky 7 Music Radio". Folgende Infos stellt TuneIn hier zur Verfügung:

Beim Aufruf der URL "http://opml.radiotime.com/Tune.ashx?id=s167655&formats=aac,mp3&partnerId=!EALLOjB&serial=A************************" wird die Datei "Tune.m3u" heruntergeladen. In dieser steht dann die URL, welche das ECHO startet.

Als TuneIn Radio Sender, für Text 2 Speech, verwenden wir "Pieci - 5 Baltic Music". Folgende Infos stellt TuneIn hier zur Verfügung:

Beim Aufruf der URL "http://opml.radiotime.com/Tune.ashx?id=s237481&formats=aac,mp3&partnerId=!EALLOjB&serial=A************************" wird die Datei "Tune.m3u" heruntergeladen. In dieser steht dann die URL, welche das ECHO startet.

 

Daraus ergeben sich folgende Informationen:

Beschreibung

Wert Benötigt für Anpassbar
URL POM ic2514.c1916.fast-serv.com

DNS-Server

ja (siehe Anleitung unten)
URL TTS live.pieci.lv

DNS-Server

ja (siehe Anleitung unten)
Port 80 WEB-Server ja (siehe Anleitung unten)
Dateiname TTS live18-hq.aac.m3u FHEM* ja set "TTS_Filename"
Dateiname POM stream.m3u FHEM* ja set "POM_Filename"
TuneIn ID TTS s237481 FHEM* ja set "TTS_TuneIn"
TuneIn ID POM s167655 FHEM* ja set "POM_TuneIn"

* Die Werte aus der Checkliste sind aktuell als Standard definiert. Hier müsst Ihr erstmal nichts anpassen.

POM = Play Own Music

TTS = Text 2 Speech

Aus Sicht des ECHO muss jetzt an dem Ort, z.B. "http://live.pieci.lv/live18-hq.aac.m3u", eine Datei liegen die als Inhalt eine lokale URL enthält. Da die original Datei "live18-hq.aac.m3u" am eigentlichen original Ort nicht angepasst werden kann, muss das ECHO einfach umgeleitet werden. Diese Umleitung erreicht man mit einem angepassten DNS-Server. Somit kann am lokalen Ort eine Datei "stream.m3u" mit eigenem Inhalt abgelegt werden. In die lokale Datei muss dann nur noch ein neuer Pfad eingetragen werden, der wiederum auf eine lokale MP3 Datei zeigt, in welcher der Text 2 Speech Text ist. Wie einer M3U Datei aussehen muss, könnt Ihr hier nachlesen: https://de.wikipedia.org/wiki/M3U

DNS Server

Diese Anleitung basiert auf einer bereits bestehenden "Debian Stretch" Installation.

 

Als erstes benötigt Ihr einen DNS Server, welcher eine bestimmte DNS Zuordnung manipulieren kann. Hierfür verwenden wir den "DNSMASQ". Dieser benötigt nur einige Kilobytes auf der Festplatte.

 

Über folgenden Befehl könnt Ihr den DNS Server installieren: 

sudo apt-get install dnsmasq

Damit der neue DNS Server erfolgreich arbeiten kann, müsste Ihr noch die Konfigurationsdatei "/etc/dnsmasq.conf" anpassen. Folgende Einträge müssen hier angepasst werden:

resolv-file=/etc/resolv.dnsmasq
address=/ic2514.c1916.fast-serv.com/10.10.0.232
address=/live.pieci.lv/10.10.0.232

Die wichtigsten Zeilen sind die "address=/ic2514.c1916.fast-serv.com/10.10.0.232" und "address=/live.pieci.lv/10.10.0.232". Als jeweils ersten Parameter muss hier der Name aus der Datei  "Tune.m3u" eingetragen werden. Als zweiten Parameter müsst Ihr die IP-Adresse Eures Web Servers, auf welchem später die MP3 Datei liegt, eintragen.

 

Damit der neue DNS Server auch IP-Adressen aus dem Internet auflösen kann, müsst Ihr die Datei "/etc/resolv.dnsmasq" noch mit folgendem Inhalt (Google DNS Server) anlegen:

nameserver 8.8.8.8
nameserver 8.8.4.4
nameserver 2001:4860:4860::8888
nameserver 2001:4860:4860::8844

Alle Anfragen die jetzt Euer DNS Server nicht beantworten kann, werden an die Google DNS Server weitergeleitet. Wer möchte kann hier auch andere DNS Server verwenden. 

 

WICHTIG: Nach jeder Änderung an den beiden Konfigurationsdateien, müsst Ihr den DNS Server einmal neustarten. Einen Neustart könnt Ihr mit folgenden Befehlen ausführen:

sudo /etc/init.d/dnsmasq stop
sudo /etc/init.d/dnsmasq start
order
sudo service dnsmasq stop
sudo service dnsmasq start

Um sicherzustellen, dass der DNS Server auch richtig arbeitet, könnt Ihr noch folgenden Befehl ausführen:

nslookup ic2514.c1916.fast-serv.com 10.10.0.232
nslookup live.pieci.lv 10.10.0.232
nslookup www.google.de 10.10.0.232

Die IP-Adresse "10.10.0.232" müsst Ihr mit der von Eurem DNS Server ersetzen. Das Ergebnis (rote Markierung) sollte dann ungefähr so aussehen:

WEB Server (mini-httpd)

Falls Ihr auf Port "80" schon einen WEB-Server am laufen habt, könnt Ihr diesen Punkt überspringen, und direkt hier weiter machen: 

Anleitung WEB Server (vorhanden)

 

Diese Anleitung basiert auf einer bereits bestehenden "Debian Stretch" Installation.

 

Als letztes benötigt Ihr einen WEB Server, welcher die TuneIn Dateien zur Verfügung stellen kann. Hierfür kann man den "mini-httpd" verwenden. Dieser benötigt nur einige Kilobytes auf der Festplatte. Die Installation muss auf dem FHEM Server erfolgen.

 

Über folgenden Befehl könnt Ihr den Web Server installieren: 

sudo apt-get install mini-httpd

Direkt nach der Installation müsst Ihr in dem "www" Verzeichnis Eurer FHEM Installation noch das Verzeichnis "echodevice" anlegen. Bei einer Standard FHEM Installation ist "www" Verzeichnis hier "/opt/fhem/www" zu finden. Um das neue Verzeichnis anzulegen, müsst Ihr folgenden Befehl ausführen: 

sudo mkdir /opt/fhem/www/echodevice

Damit der neue WEB Server erfolgreich arbeiten kann, müsste Ihr noch die Konfigurationsdatei "/etc/mini-httpd.conf" anpassen. Folgenden Inhalt könnt Ihr als Vorlage verwenden:

# Example config for Alexa ECHO.
# On which host mini_httpd should bind?
host=10.10.0.232
# On which port mini_httpd should listen?
port=80
# Which user mini_httpd should use?
user=nobody
# Run in chroot mode?
nochroot # no
# We are the web files stored?
# Please change this to your needs.
data_dir=/opt/fhem/www/echodevice
# CGI path
cgipat=cgi-bin/*
# Which logfile to use?
logfile=/var/log/mini-httpd.log
# Which pidfile to use?
pidfile=/var/run/mini-httpd.pid
# Which charset to use?
charset=iso-8859-1

 

Wichtig sind die rot markierten Bereiche. 

 

In dem Parameter "host" muss die IP-Adresse des Rechners eingetragen sein. 

 

In dem Parameter "port" muss der Port "80" eingetragen sein, da die URL aus der Datei "Tune.m3u" keine Portangabe enthält. Wichtig: Der Port darf nicht durch ein anderes Programm belegt sein.

 

In den Parameter:"data_dir" muss der genaue Pfad zu dem neu erstellten Verzeichnis eingetragen werden.


Damit der WEB Server nach einem Reboot automatisch gestartet wird, muss noch die Datei "/etc/default/mini-httpd" wie folgt angepasst werden:

# Description: Defaults for mini_httpd initscript
# Start daemon?
# Default 1
# 0 = no
# 1 = yes
START=1
# Additional options that are passed to the Daemon.
DAEMON_OPTS="-C /etc/mini-httpd.conf"

 

Der rot markierte Parameter "START" muss auf "1" gesetzt werden.


Am besten startet Ihr Euren Server jetzt einmal komplett neu. Direkt nach dem Neustart könnt Ihr die Funktion des WEB Servers einfach durch das Aufrufen der URL "http://10.10.0.232" mit einem Browser testen. Die IP-Adresse "10.10.0.232" müsst Ihr mit der von Eurem WEB Server ersetzen. Das Ergebnis sollte dann ungefähr so aussehen:

 

WICHTIG: Nach jeder Änderung an der Konfigurationsdatei, müsst Ihr den WEB Server einmal neustarten. Einen Neustart könnt Ihr mit folgenden Befehlen ausführen:

sudo /etc/init.d/mini-httpd stop
sudo /etc/init.d/mini-httpd start
oder
sudo service mini-httpd stop
sudo service mini-httpd start

In meiner Umgebung wurde der WEB Server nach dem ausführen des Stop Befehls der Service nicht heruntergefahren. Im Log "/var/log/syslog" waren hierzu folgende Logeinträge zu finden:

Mar 17 13:18:29 HNMWFHEM02 mini-httpd[10123]: Stopping web server: start-stop-daemon: warning: this system is not able to track process names
Mar 17 13:18:29 HNMWFHEM02 mini-httpd[10123]: longer than 15 characters, please use --exec instead of --name.
Mar 17 13:18:29 HNMWFHEM02 mini-httpd[10123]: mini_httpd.

Solltet Ihr dasselbe Verhalten haben, müsst Ihr die Datei "/etc/init.d/mini-httpd" wie folgt anpassen:

vorher

nachher


Direkt nach der Änderung, müsst Ihr noch folgenden Befehl ausführen:

sudo systemctl daemon-reload

Damit ist die Konfiguration des WEB Servers abgeschlossen.

WEB Server (vorhanden)

Wenn Ihr auf Port "80" schon einen WEB Server am laufen habt (z.B. Apache, Nginx oder ähnliches), dann könnt Ihr auch mit sogenannten Symlinks arbeiten. Wichtig ist hierbei nur dass die beiden "M3U" Dateien schon vorhanden sind. Am besten richtet Ihr die zwei Links ein, nachdem Ihr die beiden Funktionen "Text 2 Speech" und "Play Own Music" einmal ausgeführt habt. Bitte auch die jeweiligen MP3 Dateien verlinken! Die MP3 Dateien setzen sich aus dem jeweiligen Gerätenamen zusammen z.B. "NameEcho.mp3". Zuerst müsst Ihr in dem "www" Verzeichnis Eurer FHEM Installation noch das Verzeichnis "echodevice" anlegen. Bei einer Standard FHEM Installation ist das "www" Verzeichnis hier "/opt/fhem/www" zu finden. Um das neue Verzeichnis anzulegen, müsst Ihr folgenden Befehl ausführen: 

sudo mkdir /opt/fhem/www/echodevice

Sobald die beiden Dateien im dem FHEM Ordner "./www/echodevice" vorhanden sind könnt Ihr in dem Rootverzeichnis (z.b. "/var/www/html") Eures vorhandenen WEB-Servers folgende Befehle ausführen:

cd /var/www/html
sudo ln -s /opt/fhem/www/echodevice/stream.m3u  stream.m3u
sudo ln -s /opt/fhem/www/echodevice/live18-hq.aac.m3u live18-hq.aac.m3u
sudo ln -s /opt/fhem/www/echodevice/NameEcho.mp3 NameEcho.mp3

Nach einem Hinweis aus dem Forum, muss man an einem "Nginx" WEB Server den Mime Type der M3U und MP3 Dateien mit angeben. Eine fertige "Nginx" Konfigurationsdatei "/etc/nginx/sites-available/default" könnte dann wie folgt aussehen:

server {
       listen 80 default_server;
       listen [::]:80 default_server;
       root /usr/share/nginx/www;
       index index.html index.htm;

       server_name localhost;

       location / {
              try_files $uri $uri/ /index.html;
       }

       location ~* \.(m3u$)$ {
              add_header 'Cache-Control' 'no-cache';
              add_header Content-Type  audio/x-mpegurl;
              root /opt/fhem/www/echodevice;
       }
    
       location ~* \.(mp3)$  {
              add_header 'Cache-Control' 'no-cache';
              root /opt/fhem/www/echodevice;
       }
}

 

Wichtig sind die rot markierten Bereiche. 

 

Hier werden alle Anfragen von "M3U" und "MP3" Dateien in das Verzeichnis "/opt/fhem/www/echodevice" umgeleitet. Dadurch erspart man sich das setzen der Symlinks. Dies ist nicht 100% sauber, da alle "M3U" und "MP3" Dateien nun im "/opt/fhem/www/echodevice"Verzeichnis gesucht werden. Benötigt man die Erweiterungen noch an anderer Stelle, müsste man hier die kompletten Dateinamen angeben.

 

Zusätzlich wird durch das "add_header" der Mime Type der Dateien mit angegeben.

 

Da ich die Konfiguration nicht selbst erstellt habe,  wäre es Super wenn mir jemand mitteilten könnte, wenn hier etwas nicht passt.


Netzwerkkonfiguration ECHO

Jetzt müsst Ihr an jeden Amazon ECHO Geräte die WLAN Konfiguration ändern. Diese Änderung ist nötig, damit das ECHO den neuen DNS Server benutzt. Zum Ändern der WLAN Konfiguration müsst Ihr die Alexa Anwendung verwenden. Am besten verwendet Ihr die Alexa Anwendung auf Eurem Smartphone. Diese Anleitung basiert auf der iOS Alexa Anwendung. Um die WLAN Konfiguration zu ändern, müsst Ihr wie folgt vorgehen:

 

Öffnen der Alexa Anwendung. 

 

Wechseln in die "Einstellungen".

 

Hier könnt Ihr das entsprechende Amazon Echo Gerät auswählen.

 

Jetzt den Punkt "WLAN aktualisieren" auswählen.

 

Bei einem Amazon ECHO Show wird dieser Punkt nichts angezeigt. Bei so einem Gerät müsst Ihr das ECHO direkt am Bildschirm konfigurieren. Sagt einfach "Gehe zu Einstellungen" oder fahren Sie mit dem Finger von oben nach unten über den Bildschirm und wählt dort Einstellungen aus.

 

Hier den Button "MIT WLAN VERBINDEN" drücken.

 

Jetzt müsst Ihr an Eurem Amazon ECHO die "Aktionstaste" so lange gedrückt halten, bis der Ring orange leuchtet.

 

Direkt danach müsst Ihr Euch auf dem Gerät, mit welchem Ihr die Alexa Anwendung bedient, mit dem Amazon WLAN verbinden.

 

In den Smartphone Einstellungen den Punkt "WLAN" auswählen.

 

 

Jetzt könnt Ihr das WLAN "Amazon-xxx" auswählen. Wenn das WLAN erfolgreich verbunden wurde, müsst Ihr in die Alexa Anwendung zurück wechseln.

 

Hier jetzt den Button "WEITER" drücken.

 

Der erste Dialog verschwindet, sobald das ECHO erfolgreich mit der Alexa Anwendung verbunden ist.

 

In dem zweiten Dialog müsst Ihr den Button "WEITER" drücken.


 

Nachdem das ECHO erfolgreich verbunden wurde, werden Euch alle verfügbaren WLANs angezeigt.

 

Hier müsst Ihr jetzt Euer WLAN auswählen.

 

Hier müsst Ihr den Punkt "Dieses Netzwerk verwerfen" auswählen. 

 

WICHTIG: Nur wenn Ihr Euer altes Netzwerk verwerft, habt Ihr die Möglichkeit einen alternativen DNS Server anzugeben.

 

Jetzt müsst Ihr Euren "WLAN Schlüssel" eingeben.

 

Direkt danach müsst Ihr den  Punkt "Erweiterte Optionen einblenden" auswählen.

 

Jetzt könnt Ihr eine feste IP-Adresse aus Eurem Netzwert konfigurieren.

 

  1. IP-Adresse = feste IP-Adresse 
  2. Router = IP-Adresse Eures Internet Routers (FritzBox)
  3. Subnetmaske = z.b. 255.255.255.0
  4. DNS 1 = Hier müsst Ihr die IP-Adresse des neuen alternativen DNS Server eintragen.
  5. DNS 2 = Hier müsst Ihr nichts eintragen.

 

 Wenn die Konfiguration angeschlossen ist, müsst Ihr diese mit dem Button "VERBINDEN" speichern.

 

Jetzt ist die Konfiguration erfolgreich abgeschlossen.


FHEM Anpassungen

Damit das Modul "echodevice" mit dieser Konfiguration arbeiten kann, müsst Ihr zuerst die beiden SET Befehle "TTS_IPAddress" und "POM_IPAddress" am ACCOUNT Device ausführen. Als Parameter müsst Ihr jeweils die IP-Adresse des WEB Servers hinterlegen. Weitere Aktionen sind nicht erforderlich.

 

Alle weiteren Parameter sind hier beschrieben.

Bekannte Fehler/Konfigurationen

TTS Nachricht wird nicht abgespielt:

Wenn die TTS Nachrichte zu kurz ist, kann es bei dem ECHO 1. Generation vorkommen, dass die Nachricht nicht abgespielt werden kann. Diese Problem tritt allerdings nur mit den Amazon Stimmen auf. Die Google TTS Stimme hat diese Problem noch nicht verursacht.

Konfigurationsbeispiel PiHole:

Wenn jemand PiHole als DNS-Server einsetzt, dann müsst Ihr die Datei "/etc/pihole/local.list" einfach ergänzen. Die IP-Adresse "10.10.0.232" müsst Ihr mit der von Eurem WEB Server ersetzen. Das Ergebnis sollte dann ungefähr so aussehen:

===================
# Alexa Text-to-Speech DNS Umlenkung
10.10.0.232 ic2514.c1916.fast-serv.com
10.10.0.232 live.pieci.lv
===================

Troubleshooting

Falls Ihr Probleme habt, könnt Ihr folgendes prüfen.

 

1. DNS

Um die Funktion des DNS Servers zu prüfen, müsst Ihr in der Konfigurationsdatei "/etc/dnsmasq.conf" den Parameter "log-queries" aktivieren.

LOG deaktiviert

# For debugging purposes, log each DNS query as it passes through
# dnsmasq.
#log-queries

Log aktiviert

# For debugging purposes, log each DNS query as it passes through
# dnsmasq.
log-queries

Direkt nach der Konfigurationsänderung, müsst Ihr den "DNSMASQ" neu starten. Einen Neustart könnt Ihr mit folgenden Befehlen ausführen:

sudo /etc/init.d/dnsmasq stop
sudo /etc/init.d/dnsmasq start
order
sudo service dnsmasq stop
sudo service dnsmasq start

Ab jetzt wird in die Datei "/var/log/syslog" jede DNS Anfrage geschrieben. Um nur die eigentlichen DNS Anfragen anzuzeigen, könnt Ihr folgenden Befehl ausführen:

tail -f /var/log/syslog | grep 10.10.0.232

Die IP-Adresse "10.10.0.232" müsst Ihr durch die Eures WEB Servers ersetzen. Jetzt könnt Ihr versuchen an eurem ECHO einen TTS Nachricht zu senden bzw. eigene Musik abspielen. Im LOG sollten dann folgende Einträge zu sehen sein:

Mar 22 07:14:37 HNMWFHEM02 dnsmasq[15565]: config ic2514.c1916.fast-serv.com is 10.10.0.232
Mar 22 07:15:08 HNMWFHEM02 dnsmasq[15565]: config live.pieci.lv is 10.10.0.232

Falls diese LOG Einträge nicht erscheinen, dann könnt Ihr den Befehl zum Anzeigen der LOG Einträge ggf. wie folgt abändern:

tail -f /var/log/syslog | grep ic2514.c1916.fast-serv.com
oder
tail -f /var/log/syslog | grep live.pieci.lv

Sollten immer noch keine LOG Einträge zu sehen sein, sollte Ihr noch mal die DNS Konfiguration am ECHO prüfen.

 

2. WEB Server

Der WEB Server "mini-https" schreib seine LOG Einträge Standardmäßig in die Datei "/var/log/mini-httpd.log". Um zu prüfen, ob das ECHO auch versucht mit dem WEB Server zu kommunizieren, könnt Ihr das LOG wie folgt anzeigen:

tail -f /var/log/mini-https.log

Beim Versuch einen TTS Nachricht zu senden, sollte folgende LOG Einträge zu sehen sein:

10.10.0.15 - - [22/Mar/2018:07:37:52 +0100] "HEAD /live18-hq.aac.m3u HTTP/1.1" 200 44 "" "AlexaMediaPlayer/2.0.200220.0 (Linux;Android 5.1.1) ExoPlayerLib/1.5.9"
10.10.0.15 - - [22/Mar/2018:07:37:52 +0100] "GET /live18-hq.aac.m3u HTTP/1.1" 200 44 "" "AlexaMediaPlayer/2.0.200220.0 (Linux;Android 5.1.1) ExoPlayerLib/1.5.9"
10.10.0.15 - - [22/Mar/2018:07:37:52 +0100] "HEAD /ECHO_G000MW07735605DQ.mp3 HTTP/1.1" 200 10076 "" "AlexaMediaPlayer/2.0.200220.0 (Linux;Android 5.1.1) ExoPlayerLib/1.5.9"
10.10.0.15 - - [22/Mar/2018:07:37:52 +0100] "GET /ECHO_G000MW07735605DQ.mp3 HTTP/1.1" 200 10076 "" "AlexaMediaPlayer/2.0.200220.0 (Linux;Android 5.1.1) ExoPlayerLib/1.5.9"
10.10.0.15 - - [22/Mar/2018:07:37:52 +0100] "GET /ECHO_G000MW07735605DQ.mp3 HTTP/1.1" 200 10076 "" "AlexaMediaPlayer/2.0.200220.0 (Linux;Android 5.1.1) ExoPlayerLib/1.5.9"

Beim Versuch Musik abzuspielen, sollte folgende LOG Einträge zu sehen sein:

10.10.0.15 - - [22/Mar/2018:07:40:20 +0100] "HEAD /stream.m3u HTTP/1.1" 200 34 "" "AlexaMediaPlayer/2.0.200220.0 (Linux;Android 5.1.1) ExoPlayerLib/1.5.9"
10.10.0.15 - - [22/Mar/2018:07:40:20 +0100] "GET /stream.m3u HTTP/1.1" 200 34 "" "AlexaMediaPlayer/2.0.200220.0 (Linux;Android 5.1.1) ExoPlayerLib/1.5.9"

Sollten hier keine LOG Einträge erscheinen, stimmt ggf. die DNS Umleitung nicht. Sollte die LOG Einträge erscheinen, müsst Ihr prüfen ob in jeder LOG Zeile direkt hinter "HTTP/1.1" der Wert "200" steht. Sollte hier ein Wert z.B. "403" stehen, dann kann der WEB Server die angeforderte Datei nicht finden. Hier sollte Ihr dann noch mal die Pfade prüfen. Eventuell auch noch mal die Verzeichnisrechte prüfen.

Video

 

 

 

 

Text 2 Speech Demo


 

 

 

 

Play Music from local LAN Demo


Kommentar schreiben

Kommentare: 4
  • #1

    Mathias (Dienstag, 31 Juli 2018 23:33)

    Hallo,
    als Voreinstellung für die pom_ipaddress und die tts_ipaddress könnte doch schon live.pieci.lv eingetragen werden, da unser Nameserver doch dann ohnehin auf den korrekten Server zeigt.
    Wenn wir hier schon einen Webserver brauchen können wir auch gleich eine php-Seite als Endpoint für einen Alexa-Skill mit hosten. Damit können wir Alexa-Befehle ohne AWS Lambda auswerten und unseren FHEM-Server direkt aus dem php ansprechen. Wir brauchen allerdings ein SSL-Zertifikat, aber Let's Encrypt funktioniert bestens.

    Gruß,
    Mathias

  • #2

    Michael (Sonntag, 19 August 2018 23:06)

    Coole Idee, schaue ich mir mal an.

  • #3

    Florian Asche (Donnerstag, 04 Oktober 2018 20:20)

    Hi,

    wirklich super Arbeit! Vielleicht als weitere Idee, ich fände es interessant mal zu schauen, ob man nicht ein Custom Skill laden kann, der einem entsprechend einen Stream/File abspielt, das zuvor als Parameter übergeben worden ist. Das abspielen gehen sollte, beweist https://developer.amazon.com/de/blogs/post/Tx1DSINBM8LUNHY/new-alexa-skills-kit-ask-feature-audio-streaming-in-alexa-skills.

    Gruß Florian

  • #4

    Udo (Donnerstag, 01 August 2019 20:24)

    habe noch keinen Weg gefunden die Netzwerkkonfiguration auf einen Echo Show 5 durchzuführen. Für eine kleine Hilfe wäre ich sehr dankbar.