Hallo,
da gebe ich Dir recht. Kommt mi dem nächsten Update.
Gruß,
Thorsten
Hallo,
da gebe ich Dir recht. Kommt mi dem nächsten Update.
Gruß,
Thorsten
Hallo,
Wie sieht der der Inhalt von $pfad aus?
Weiterhin, kommt der Gong und nur die Uhrzeit nicht?
Wenn Du die Sonos App offen hast, kannst Du da Fehlermeldungen sehen?
ERROR_AV_UPNP_AVT_INVALID_TRANSITION bei Play( ) bedeutet normalerweise, dass nichts zum abspielen eingestellt ist…
Weiterhin könntest Du das auch isoliert testen, indem Du
SNS_SetTransportURI(26662,'//10.0.0.170/SambaIpsymcon/Sounds/Ansagen-Gong9.wav' );
SNS_Play(26662);
ausführst, bzw. das gleiche mit dem Inhalt von $pfad.
Vor allem das ganze dann in der APP zu beobachten.
Gruß,
Thorsten
Danke Thorsten,
werd das probieren. Die mp3 Datei wird Ordnungsgemäß abgelegt und kann via Filezilla abgespielt werden.
Vielleicht ist es ja auch eine Frage der Berechtigung auf dem RaspPi?
Guten Morgen,
ich dreh mich im Kreis. hab IPS 5.5
Was hab ich vor: mp3 über Sonos abspielen und Meldungen bei Ereignissen abzuspielen.
Was hab ich gemacht: Ich hab eine mp3 direkt auf dem Symcon Server abgelegt. Die wird nicht abgespielt, also will ich zum Test einen Radiosender per Skript abspielen lassen:
$radio = "x-rincon-mp3radio://swr-swr3-live.cast.addradio.de/swr/swr3/live/mp3/128/stream.mp3";
SNS_SetRadio(56724, $radio);
Es kommt eine Fehlermeldung:
Fatal error: Uncaught Exception: Der Radiosender "x-rincon-mp3radio://swr-swr3-live.cast.addradio.de/swr/swr3/live/mp3/128/stream.mp3" konnte nicht gefunden werden in /var/lib/symcon/modules/.store/de.kugelberg.sonos/SonosPlayer/module.php:2028
Stack trace:
#0 /var/lib/symcon/scripts/__generated.inc.php(9943): SonosPlayer->SetRadio('x-rincon-mp3rad...')
#1 /var/lib/symcon/scripts/19395.ips.php(12): SNS_SetRadio(56724, 'x-rincon-mp3rad...')
#2 {main}
thrown in /var/lib/symcon/modules/.store/de.kugelberg.sonos/SonosPlayer/module.php on line 2028
Abort Processing during Fatal-Error: Uncaught Exception: Der Radiosender "x-rincon-mp3radio://swr-swr3-live.cast.addradio.de/swr/swr3/live/mp3/128/stream.mp3" konnte nicht gefunden werden in /var/lib/symcon/modules/.store/de.kugelberg.sonos/SonosPlayer/module.php:2028
Stack trace:
#0 /var/lib/symcon/scripts/__generated.inc.php(9943): SonosPlayer->SetRadio('x-rincon-mp3rad...')
#1 /var/lib/symcon/scripts/19395.ips.php(12): SNS_SetRadio(56724, 'x-rincon-mp3rad...')
#2 {main}
thrown
Error in Script /var/lib/symcon/modules/.store/de.kugelberg.sonos/SonosPlayer/module.php on Line 2028
Hab dann das ganze Modul nochmal neu installiert, der Fehler bleibt.
Per Webfront kann ich die One Box allerdings problemlos bedienen und es wird auch der o.g. Sender gesetzt.
Beim Ausführen des Skripts meldet debug
Es ist sicher nur eine Kleinigkeit, die ich übersehe.
Gruß oekomat
Hallo,
schau Dir mal die Doku an: Sonos/README.md at master · tkugelberg/Sonos · GitHub
Kurz zusammengefasst:
SNS_SetRadio funktioniert nicht mit der URL, sondern mit (im Splitter) konfigurierten Radiosendern.
SNS_SetRadio(56724, 'SWR3');
Zwar sehe ich bei Dir kein SWR3 in der Listein der Debugkonsole, könnte aber nach unter rausgewandert sein.
z.B.
SNS_SetRadio(56724, 'Radio Paloma (Schlager)');
sollte aber gehen.
Wenn Du direkt eine streaming URL angeben möchtest, kannst Du dies per SNS_SetTransportURI() machen.
Falls Du aber einen Radiosender häufiger mal verwendest, würde ich Dir empfehlen diesen im Splitter zu hinterlegen.
Ach ja, und nach dem SNS_SetRadio bzw. SNS_SetTransportURI das SNS_Play nicht vergessen
Gruß,
Thorsten
Hallo Thorsten,
danke. Die Doku hatte ich gelesen, das set des Namens statt der URL war mir aber nicht klar. Hat jetzt wunderbar geklappt.
Gibt es bei dem Abspielen von Files aus dem Netzwerk was zu beachten? Die Mp3 liegt auf dem Raspi, auf dem auch symcon läuft.
Bei
$text = "/var/lib/symcon/Ansage.mp3";
SNS_PlayFiles(56724, $text, 30);
bekomme ich die Warnung
Warning: Invalid argument supplied for foreach() in /var/lib/symcon/modules/.store/de.kugelberg.sonos/SonosPlayer/module.php on line 1279
Warning: Invalid argument supplied for foreach() in /var/lib/symcon/modules/.store/de.kugelberg.sonos/SonosPlayer/module.php on line 1364
Könnte an Berechtigungen liegen, schließe ich aber fast aus.
Gruß oekomat
Hallo,
Das wichtigste ist, dass die Sonos Boxen auf die Datei zugreifen können. Entweder über einen Windows/Samba Share (//server/ordner/datei-mp3) oder über einen Web Server (http://server/pfad/datei-mp3).
Also: Hier sind gleich 2 Fehler versteckt:
json_encode( Array( "http://server/pfad/datei.mp3" ) )
Da kann man dann auch mehrere Dateien ins gleiche Array schreiben die dann hintereinander abgespielt werden.
Steht aber auch in der Doku.
Die Warnmeldung liegt daran, dass es sich bei $text um einen String und kein JSON Array handelt. Könnte ich erkennen und eine bessere Fehlermeldung ausgeben, mache ich aber derzeit nicht…
Ich mache gerne letzteres.
Die Datei z.B. nach /var/lib/symcon/webfront/user/sonos/ legen und per
SNS_PlayFiles(34403, "[\"http://ipsymcon.fritz.box:3777/user/sonos/Ansage.mp3\"]","+5");
abspielen.
(Natürlich musst Du den Server anpassen…)
Keine Ahnung wie erwünscht es von Symcon ist den WebServer von IPS zu „missbrauchen“, funktioniert aber tadellos.
Alternativ kann man auch noch einen Apache installieren und die Dateie(n) darüber bereitstellen…
Gruß,
Thorsten
Hallo Thorsten,
danke für die Antwort. Das guck ich mit die Tage mal genauer an, wie ich das anstellen kann. Ich wünsche dir und deiner Family vorab ein frohes Weihnachtsfest. und vor allem vielen Dank für den unermüdlichen Support, den du hier leistest.
Gruß oekomat
Hallo,
auch Ich habe es versucht (fast den ganzen Nachmittag ) eine Soundausgabe über das Sonos Modul zu erzielen… Einzig auf meiner Synology NAS konnte ich im Versuch 1 den Sound erzeugen, alle weiteren Versuche über den Webserver von Symcon auf Port 82 den Sound zu erzeugen schlugen fehl.
Achtung: Ab Symcon 4.0 muss der Webserver erst über eine Instanz erzeugt werden…
Komisch ist auch, dass auch beim funktionierenden Versuch, Sonos zwar Pause macht und den Sound abspielt, aber danach ein neues Lied abspielt…
Evtl. hat jemand (gerneauch Thorsten:) ) eine Idee wo mein Fehler liegt, dass ich keinen Sound abspielen kann
Raspberry mit Symcon 5.5
Vielen Dank im Voraus.
Jürgen
<?php
$ID = 49765;
// Versuch 1
// Geht Sound File liegt auf Synology // Sonos unterbricht, spielt den Sound ab und spielt das NÄCHSTE Lied ab...
SNS_PlayFiles ($ID, json_encode (array( "//Diskstation/myMusik/Soundtest/sound.mp3")), 15);
//Versuch 2
// Geht nicht auf dem Symcon Server (Sonos setzt aus vermutlich für die Dauer des Sounds, man hört nichts und dann wird das NÄCHSTE Lied gespielt)
//$myFile = json_encode( Array( "http://192.168.1.40:82/user/sonos/sound.mp3" ) ) ;
//SNS_PlayFiles ($ID, $myFile, '+5');
//Versuch 3
// Original Post Thorsten (Sonos setzt aus vermutlich für die Dauer des Sounds, man hört nichts und dann wird das NÄCHSTE Lied gespielt)
//SNS_PlayFiles(49765, '["http://192.168.1.40:82/user/sonos/sound.mp3"]',15);
//Versuch 4
// Alternative geht ebenfalls nicht...(Sonos setzt aus vermutlich für die Dauer des Sounds, man hört nichts und dann wird das NÄCHSTE Lied gespielt)
//SNS_PlayFiles ($ID, json_encode (array( "http://192.168.1.40:82/user/sonos/sound.mp3")), 15);
Die Versuche 2-4 sind im Grunde identisch. Daher auch die gleiche Reaktion.
Standardmäßig ist der Webserver über Port 3777 erreichbar. Hast du es damit schon probiert?
Ansonsten kann man das Verhalten des SONOS Players gut in der SONOS Desktop App beobachten. Da kommt bestimmt ein Fehler bei dir, dass er das File nicht abspielen kann.
Burkhard
Ich habe seit einiger Zeit die folgende Fehlermeldung im Log
Hat jemand eine Idee woran das liegen kann ?
ja in der App wird das Soundfile für 2 sekunden angezeigt, danach kommt die Meldung:
"sound.mp3 steht auf 192.168.1.40:82 oder auch 3777 nicht mehr zur Verfügung… "
wie gesagt in der App wird das Soundfile kurz angezeigt, aber ohne Ton…
Auch alle Rechte sind vergeben… volles Programm …0777
Also geht der Zugriff soweit schon mal und du bist auf dem richtigen Weg[emoji1]
Dann kann es nur noch an den Rechten oder an der Codierung liegen.
Vielleicht ist 777 schon zuviel - ausführbar sind die Dateien ja nicht.
Probiere es mal mit einem Soundfile, von dem du weißt, dass Sonos es abspielen kann.
EDIT: Problem gelöst
Puhhh
=========================================
ja das Sound File läuft ja auf der NAS ohne Probleme, ich habe auch noch andere versucht, auch die Berechtigungen geändert, leider kein Erfolg… ich probiere es nach den Festtagen weiter.
Danke für deine Hilfe.
Jürgen
Moin,
das ist seltsam.
An dieser Stelle lese ich die ID von der Variablen DialogLevel.
Das Ganze mache ich aber mit einem „Error Control Operator“ ( @ ) davor, um genau solche Warnungen zu unterdrücken.
Im weiteren Coding reagiere ich dann darauf ob die Variable gefüllt ist…
Hast Du etwas konfiguriert, dass der „Error Control Operator“ ignoriert wird?
Wie z.B. hier:
PHP control operator (@) doesn’t work - Stack Overflow
Gruß,
Thorsten
Der @ operator unterdrückt bei mir nur die Anzeige im Script. Im Message Fenster (Log) erscheint ein PHP Fehler. Das habe ich übrigens auch bei anderen Funktionen. Da die Abfrage so ca. jede Sekunde kommt wird damit mein Log zugemüllt. Ich habe mir jetzt dadurch geholfen das ich die Abfrage im Modul aus kommentiert habe. Die Funktion ist bei mir auch nicht relevant.
Ich muss mal schauen ob man generell diese Art von Fehler im Log unterdrücken kann. Mir ist übrigens nicht bewusst irgendetwas geändert zu haben aber das muss nichts heißen
Gruß Artur
Problem gelöst Thorsten
Ich hatte einen Eintrag in der autoload der dafür sorgte das Fehlermeldungen auftauchten die eigentlich nicht auftauchen sollten.
Die Diskussion dazu ist hier : https://www.symcon.de/forum/threads/45437-LOG-Fehlermeldungen
Hallo Thorsten,
habe jetzt noch eine zweites mal einen Anlauf genommen auf Vers 2 upzudaten.
Aber reproduzierbar springt die Lautstärke immer wieder auf die Standardlaustärke, die in der Instanz angegeben ist.
Das ist sowohl der Fall, wenn ich über die Sonos app die Lautstärke verändere, als auch über das Webinterface und zwar bei beiden Playern.
Symcon läuft bei mir auf dem Raspberry.
Muss also zurück auf die 1.08
Kannst Du mir eine Tip geben wo ich suchen kann?
Viele Grüße, Ralph
Moin,
Ich habe gerade nochmals das coding durchsucht.
„DefaultVolume“ kommt an 8 Stellen vor:
„SetDefaultVolume“ und „SetDefaultGroupVolume“ werden an keiner anderen Stelle im Modul aufgerufen.
=> Vom Modul her kann das das nicht sein.
Hast Du Dir mal die Debug Konsole angeschaut, wenn das passiert? Da sollte dann zumindest stehen, dass die Funktion „SetDefaultVolume“ aufgerufen wurde…
Gruß,
Thorsten
Danke fürs nachschauen Thorsten,
es ist mir ein Rätsel.
Ich habe nun das 7. Mal das update durchgeführt ( kann es auswendig ) und nun tritt der Fehler nicht mehr auf.
Alles super, bisher und ich bleibe bei dieser Version.
Viele Grüße,
Ralph