Hallo,
wäre es denkbar, ein Klingelsignal in Form einer Sounddatei über Sonos auszugeben?
Viele Grüße
Hallo,
wäre es denkbar, ein Klingelsignal in Form einer Sounddatei über Sonos auszugeben?
Viele Grüße
Hi rik,
ich hab mal vor längerem etwas über ein Projekt gelesen, mit welcehm man auf allen Sonos das gleiche wiedergeben kann.
Ob das dir hilft kann ich nicht sagen und wie das projekt heißt weiß ich auch nicht mehr genau.
Wie verhält sich eigentlich ein Sonos?
Geht das nach ein er gewissen Zeit in den Standby wenn keine Musik gespielt wird.
Wenn ja und das Gerät dann bei einem Klingeln erst mal 5sek oder länger zum Aufwachen braucht, würde ich es als nicht brauchbar empfinden.
Gruß Robert
Das ist eine Sache von 5 Minuten. DoorPi kann problemlos ein Skript aufrufen, mit dem eine beliebige Audiodatei an ein Sonos-System geschickt wird.
LG
pah
Das geht ohne Weiteres. Im Netz gibt es diverse Bibliotheken und auch konkrete Implementierungen in php oder sonstigen Sprachen. Die Suchmaschine deines Vertrauens wird dir sicherlich verschiedene Projekte zu Tage fördern.
Ich als Loxone User mache es hiermit:
https://www.loxforum.com/forum…ittels-php-skript-steuern
Fällt für dich vermutlich flach wegen des benötigten Loxone Servers.
Nanana, das ist eine Nebelkerze. Zum Ausführen dieser PHP-Programme bedarf es keineswegs eines Loxone-Servers.
LG
pah
Vermutlich hat pah Recht. Das Script wurde zwar für die Loxone Anbindung geschrieben und im Loxone Forum bereitgestellt, aber es läuft vermutlich auch ohne Loxone Server, da der Kern auch ohne Loxone klarkommt. Versuchs einfach. Ich setze es mit der Loxone ein und habe es nicht ohne getestet. Daher mein Hinweis
P. S: @pahenning, bist du so gut und vermeidest zumindest mir gegenüber das belehrende kommentieren? Ist mir schon ein paar Mal aufgefallen. Wenn du mit deinen Studenten so redest, ist das eure Sache. Meine aber nicht. Und ich will hier keinen bewusst in die Irre führen oder etwas falsch darstellen bzw verschleiern. Ein sachlicher Kommentar ist daher ausreichend. Danke
Sicher werde ich das nicht vermeiden. Leute, die mich ungefragt per Du anreden, müssen damit rechnen, dass ich Unsinn auch als solchen benenne.
Das PHP-Programm wurde übrigens auch nicht für Loxone geschrieben, wie man unter dem geposteten Link sehr schön nachlesen kann.
pah
Wunderbar. Wenn nur darin das Problem liegt, dann ist es ja einfach. Auch wenn in Foren normalerweise die "Du" Form üblich ist, habe ich überhaupt kein Problem damit Sie zukünftig mit Prof. Dr. Henning anzureden (falls noch mal nötig).
Und ja, Sie haben natürlich Recht und ich jetzt meine Ruhe.
VG
Das geht ohne Weiteres. Im Netz gibt es diverse Bibliotheken und auch konkrete Implementierungen in php oder sonstigen Sprachen. Die Suchmaschine deines Vertrauens wird dir sicherlich verschiedene Projekte zu Tage fördern.
Ich als Loxone User mache es hiermit:
https://www.loxforum.com/forum…ittels-php-skript-steuern
Fällt für dich vermutlich flach wegen des benötigten Loxone Servers.
Hallo Marcus,
das würde sehr gut passen, da ich auch Loxone im Einsatz habe.
Versuche das Ganze auf einem "Test-RPI" mal zum Laufen zu bringen...
Du hast nicht zufällig so eine geniale Anleitung für das Sonos-Projekt, wie Du sie für das Doorpi-Projekt im Loxforum gepostet hast!?
Gruß
Hi Rik,
na dann hast du ja direkt auch TTS und eine allgemeine SONOS Anbindung für deine Loxone, so dass dein Haus mir dir sprechen kann.
Aber eine extra Anleitung habe ich nicht. Muss ich aber auch nicht. Die Anleitung vom Autor ist absolut ausreichend. Schau ins Readme im zip File. Damit habe ich es als Pi/Linux Anfänger vor 3 Monaten auch in unter einer Stunde hinbekommen. Webserver (wie z.B. Apache) mit php installieren und konfigurieren (da gibt es etliche Anleitungen zu), das zip in ein vorher eingerichtetes Verzeichnis extrahieren, config.php anpassen und das wars.
Das einzig Kniffelige war seinerzeit die Einbindung eines Shares, auf dem die Dateien (vordefinierte Soundfiles) liegen. Ich habe kein NAS und wollte das auf einem USB Stick an meiner Fritz.Box bereitstellen(fritz.nas, was man vergessen kann). Das ging nie richtig und ich habe hinterher einfach einen Samba Share auf dem Pi eingerichtet.
Hab soeben Apache und PHP5 nach dieser Anleitung installiert:
http://www.raspberrypi-tutoria…erry-pi-installieren.html
Alle Dateien in /var/www/html kopiert und in der config.php die Ip-Adresse vom Play1 inkl. dem Namen angepaßt.
Wenn ich aus dem Browser heraus folgenden Befehl aufrufe:
http://192.168.2.21/index.php?zone=kueche&do=GetVolume
erhalte ich ein:
Warning: error_log(log/sonos_error.log): failed to open stream: No such file or directory in /var/www/html/sonos2.php on line 110
Ein Fehler trat auf. Bitte Datei /log/sonos_error.log pruefen.
Gruß
Warning: error_log(log/sonos_error.log): failed to open stream: No such file or directory in /var/www/html/sonos2.php on line 110Ein Fehler trat auf. Bitte Datei /log/sonos_error.log pruefen.
Gruß
Poste doch mal die Logs und deine Config.
Ohne weitere Infos wird dir da keiner helfen können.
ja, bitte. Ein paar Infos wären hilfreich. in Zeile 110 steht das error_log($message, 3, $path."/sonos_error.log");
Läuft denn der webserver und php im Allgemeinen fehlerfrei? hast du das sichergestellt? Sind die Rechte auf dem Verzeichnis korrekt.
Und der Aufruf sollte über sonos.php laufen, nicht über index.php. So z.B.
http://192.168.2.21/sonos2.php?zone=keuche&&action=volume&volume=30
So sieht die config.php aus:
<?php
##############################################################################################################################
#
# Version: 1.1.5
# Datum: 23.03.2016
# ver▒ffentlicht in forum: https://www.loxforum.com/
#
# Historie:
# ----------------------------------------------------------------------------------------------------------------------------
# 1.0.0 Ver▒ffentlichung des Skripts
# 1.1.0 Neue Parameter hinzugef▒gt
# 1.1.2 Minimum Lautst▒rke ab wann automatisch rampTo ausgef▒hrt wird
# 1.1.3 Neue Parameter f▒r weather-to-speech (w2s) und clock-to-speech (c2s)
# 1.1.4 Neuer TTS Anbieter hinzugef▒gt
# 1.1.5 Neue Parameter f▒r Wartezeit bevor t2s abgespielt wird. (Zeile 147)
#
# bekannte Probleme: derzeit keine
#
$config = array(
# Hier kommem die einzelnen Sonos Player rein "name_kleingeschrieben" => "IP Adresse des Players"
'sonoszone' => array(
'kueche' => '192.168.2.25',
'master' => '192.168.50.xxx',
'schlafen' => '192.168.50.xxx',
'test' => '192.168.50.xxx'
),
# Hier k▒nnen eigene Radio Sender definiert werden, welche bei 'nextradio' oder 'prevradio' angesteuert werden
#
# An der Stelle kommt nur der Stationsname rein.
'radio_name' => array ( "Radio FFH",
"SWR3",
"You FM",
"P4 Norge",
"FM Jammin 181",
"1 Live"
),
# und hier die URL zum Stationsnamen.
'radio_adresse' => array ("x-rincon-mp3radio://ndr-ndr1-han-mp3.akacast.akamaistream.net/7/807/273766/v1/gnl.akacast.akamaistream.net/ndr_ndr1_han_mp3",
"x-rincon-mp3radio://swr-mp3-m-swr3.akacast.akamaistream.net/7/720/137136/v1/gnl.akacast.akamaistream.net/swr-mp3-m-swr3",
"x-rincon-mp3radio://hr-mp3-m-youfm.akacast.akamaistream.net/7/246/142136/v1/gnl.akacast.akamaistream.net/hr-mp3-m-youfm",
"aac://mms-live.online.no/p4_norge",
"x-rincon-mp3radio://relay3.181.fm:14042",
"x-rincon-mp3radio://1live-diggi.akacast.akamaistream.net/7/965/119435/v1/gnl.akacast.akamaistream.net/1live-diggi"
),
####################################################################################################
# Text-to-Speech Parameter f▒r VoiceRSS.org
#---------------------------------------------------------------------------------------------------
# Hier deinen VoiceRSS.org API key einpflegen
'VoiceRSS_key' => 'xxxxxxxxxxxxxxxxxxxxxxxxxxx',
# Die Sprache f▒r die VoiceRSS Engine festlegen
'messageLangV' => 'de-de',
# Den Qualit▒t der MP3 Datei festlegen die VoiceRSS.org zur▒ckschickt (die vorgegebene funktioniert)
'audiocodec' => '48khz_16bit_stereo',
####################################################################################################
####################################################################################################
# Text-to-Speech Parameter f▒r IVONA.com
#---------------------------------------------------------------------------------------------------
# Hier deinen IVONA Access key einpflegen
'access_key' => 'xxxxxxxxxxxxxxxxxx',
# Hier deinen IVONA Secret key einpflegen
'secret_key' => 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx',
# Die Sprache f▒r die IVONA Engine festlegen
'messageLangI' => 'de-DE',
# Standardstimme f▒r T2s
'voice' => 'Marlene', // 'Marlene' oder 'Hans'
####################################################################################################
# Angabe welche TTS Engine benutzt werden soll:
#-- f▒r VoiceRSS.org die '1001'
#-- f▒r IVONA.com die '2001'
# eingeben.
't2s_engine' => 2001,
####################################################################################################
# Pfad zu deinem Speichermedium von dem Sonos die Nachrichen abspielt. Dieser muss ▒ber Netzwerkkennung erreichbar sein.
'messagespath' => '//syn-ds415/music/tts/', # Windows Backslash \\ und Slash \ in Pfadangaben durch // und / ersetzen ohne Slash am Ende
# Pfad zu deinem Speichermedium an dem das Script das erhaltene MP3 file speichert. Dieser entspricht exakt
# dem 'messagespath', nur muss die Angabe hier nicht mit Netzwerk Kennung erfolgen, sondern den Regeln des localhost
# Wer einen Pi als Webserver und eine NAS/externe Fesplatte nutzt muss hier sein mount Pfad angeben
#
# In dem Beispiel hier liegt das Script auf einer Synology mit dem Namen 'syn-ds415' und speichert die MP3 in den Unterordner tts im Ordner music.
# Bei messageStorePath muss der interne mount pfad f▒r das o.g. Verzeichnis dann so angegeben werden, f▒r Zugriff von Sonos aus dann der gleiche Pfad wie in Zeile 83.
'messageStorePath' => '//volume1/music/tts/',
# WICHIG, NICHT ▒NDERN: Datei Name der PHPSonos
'filePhpSonos' => 'PHPSonos.inc.php',
# Parameter ob Logging f▒r Sonos genutzt werden soll
'logging' => true,
# Falls Logging genutzt wird hier den gew▒nschten Dateinamen eintragen
'logfile' => 'sonoslog.txt',
# Vorgabe Werte f▒r die Funktion Laust▒rkeneinstellung 'volumeup' and 'volumedown' in Prozent
'volumeup' => '3',
'volumedown' => '3',
# Wartezeit in Sekunden bis nach Stop Playliste/Radio die Nachricht abgespielt wird
'sleeptimegong' => '1',
# Dateiname der Jingle oder Gong mp3 Datei die vor der eigentlichen Nachricht/Durchsage abgespielt wird
'file_gong' => '2_Airport_gong',
#########################################################
# ++ Neue Parameter aufgrund neuer Funktionen ++ #
#########################################################
# ab hier in eure config.php kopieren
# Hier die Daten und User des Loxone Miniserver eintragen
'LoxIP' => '192.168.50.xxx:80',
'LoxUser' => 'xxxxxxx',
'LoxPassword' => 'xxxxxxxxx',
# Sollen Daten zur Loxone geschickt werden (Titel/Interpret, Lautst▒rke, Mute Status, Play Status sind m▒glich)
'LoxDaten' => true,
# Standardlautst▒rke wenn nichts anderes mit angegeben wurde
'stdvolume' => '40',
# Standardlautst▒rke f▒r Durchsagen wenn nichts anderes angegeben wurde
'messagevolume' => '35',
# Einstellungen zu Lautst▒rke
# Hier ist es m▒glich unterschiedliche Arten des Ansteigen der Lautst▒rke zu definieren
# z.B. sleep - f▒r den Wecker / Musik morgens, damit dieser langsamm lauter wird
#
# "sleep" - von aktueller Lautst▒rke auf die Ziel Lautst▒rke ▒ndernd, fest eingestellt in 17 Sekunden.
# "alarm" - von 0 auf die Ziel Lautst▒rke ansteigend.
# "auto" - von 0 auf die Ziel Lautst▒rke ansteigend, sehr schnell und gleichm▒▒ig.
#
# Standard f▒r den Befehl Play wenn der Parameter rampto in der Syntax nicht angegeben wurde.
'rampto' => 'alarm',
# Lautst▒rke in Prozent ab wann 'rampto' OHNE explizite Angabe genutzt werden soll, ansonsen geht es mit eingestellter Lautst▒rke weiter
# gilt f▒r folgende Funktionen: play, nextradio, previousradio, playqueue, sonosplaylist, radioplaylist
'volrampto' => '35',
# Parameter der angibt ob vor dem Abspielen einer t2s langsam (ca. 10 Sekunden) oder abrupt die Lautst▒rke runtergeregelt wird
# Bitte Parameter sleeptimegong beachten bei false.
'rampsleep' => true, // false = abruptes stoppen.
# Parameter f▒r Fritzbox Integration --> Noch nicht aktiv
######################################################################
'fritzboxip' => '192.168.50.xx',
'fritzboxpw' => 'xxxxxxxxxx',
'rufumleitung1' => '017664067xxx',
'rufumleitung2' => '017664067xxx',
'rufumleitung3' => '016387581yyy',
######################################################################
# Parameter f▒r Wunderground w2s Integration
######################################################################
# Token bei http://deutsch.wunderground.com/weather/api/ anfordern
# G▒ltigen Wunderground API key einf▒gen
'wgkey' => 'xxxxxxxxxxxxxx',
# L▒sst sich mittels Funktion geolookup und L▒ngen-/Breitengrad ermitteln. Siehe auch Dokumentation der API
'wgcity' => 'xxxxxxxxxxx',
# Wird der Schwellwert ▒berschritten erfolgt die Sprachausgabe f▒r Wind km/h oder Regen (% Regenwahrscheinlichkeit)
'wgwindschwelle' => '20', // km/h
'wgregenschwelle' => '25', // in Prozent
######################################################################
# Zum debuggen mit Hilfe des Browsers kann im folgenden Parameter eine '1' gesetzt werden
# Bitte unbedingt daran denken vor Produktivnutzung wieder auf '0' zu setzen
'debuggen' => '0'
);
Alles anzeigen
getestet hab ich das Ganze mit:
http://192.168.2.21/phpinfo.php
Gruß
Und so mein Verzeichnis:
pi@raspberrypi:~ $ cd /var/www/html/
pi@raspberrypi:/var/www/html $ ls -l
insgesamt 260
-rwxr-xr-x 1 pi root 1604 Mai 17 21:42 c2s.php
-rwxr-xr-x 1 pi root 8330 Mai 17 21:59 config.php
-rwxr-xr-x 1 pi root 11104 Mai 17 21:21 index.html
-rwxr-xr-x 1 pi root 175 Mai 17 21:42 index.php
-rwxr-xr-x 1 pi root 18853 Mai 17 21:42 IVONA Hans.mp3
-rwxr-xr-x 1 pi root 19793 Mai 17 21:42 IVONA Marlene.mp3
-rwxr-xr-x 1 pi root 20 Mai 17 21:38 phpinfo.php
-rwxr-xr-x 1 pi root 99105 Mai 17 21:42 PHPSonos.inc.php
-rwxr-xr-x 1 pi root 10932 Mai 17 21:42 README.md
-rwxr-xr-x 1 pi root 1338 Mai 17 21:42 s2s.php
-rwxr-xr-x 1 pi root 46691 Mai 17 21:42 sonos2.php
-rwxr-xr-x 1 pi root 1282 Mai 17 21:42 t2si.php
-rwxr-xr-x 1 pi root 1742 Mai 17 21:42 t2sv.php
-rwxr-xr-x 1 pi root 9267 Mai 17 21:42 w2s.php
Hallo,
stimmen die Rechte auf dem Verzeichnis?
Viele Grüße
Im Loxone Forum kämpfen einige mit Rechten. Du brauchst für das Log Schreibrechte, was bei dieser Lösung im selben Verzeichnis liegt.
Geh doch mal mit den höchsten Rechte ran, teste und fahr dann bei Erfolg Stück für Stück die Berechtigungen wieder runter.
und das ganze ohne php direkt in Python zu lösen wäre kein Weg
https://github.com/rahims/SoCo
Dauert keine Stunde daraus eine doorpi Action zu bauen...
In diesem Fall ist das mit Sicherheit eine Option.