Sonos steuern

Begonnen von Will, 05 Januar 2013, 15:51:12

Vorheriges Thema - Nächstes Thema

Will

In meinem Fall sitzt definitiv der Fehler vor der Tastatur......

Gibt ne Möglichkeit einfach ALLES perl installieren kann?

W

det.

Hallo Will,

"Alles" Perl installieren ist mMn wie ein Cabrio im Sommer mit Schneeketten. Was mir aber einfällt, was ich definitiv nachinstalliert habe, sind Perl Module um fheminfo ausführen zu können. Probier mal, ob fheminfo bei Dir geht - wenn nicht - Forumsuche nach LWP::UserAgent - HTTP::Request - irgendwo steht, wie was dazu installiert sein muß.
LG
det.

Will

Hi

Beide installiert - jetzt funktioniert fhem inkl. Sonos.  Scheinen also Bedingung zu sein.

Danke für die schnelle Hilfe.

W

Reinerlein

Hi zusammen,

ich habe mal im Paket von libwww-perl nachgeschaut. Eigentlich sollten dort bereits die beiden Pakete 'LWP::UserAgent' und 'HTTP::Request' enthalten sein.
Hast du denn nicht die Debian-Installationsvariante gewählt?

Übrigens enthält das Wiki bereits die Dokumentation zu dem nächsten Feature, welches sich bei mir gerade im Praxistest befindet:
- Text-To-Speech: Man gibt eine Textzeile an das Modul per Set-Befehl, es wird über die Google-Engine in ein MP3 umgewandelt und anschließend temporär abgespielt
-Korrekturen an dem temporären Abspielmechanismus: Es kann nun nicht mehr parallel ein zweiter Abspielversuch gestartet werden.

Wenn der Praxistest bei mir durch ist (Die Kinder haben sehr viel Spaß mit der Sprachausgabe :-), kommt das Modul hier wieder hin. Leider werden dafür wieder ein paar Libraries und Nebenprogramme benötigt. Das braucht man aber natürlich nur, wenn man das Feature auch nutzen möchte..

Grüße Reinerlein

Will

Hi sonoskollegen,

Zur info: fheminfo funktioniert bei meinem Linux fhem (http::request) bei meiner fritzbox geht das nicht....ob man das da drauf bekommt weiss ich nicht, wenn das jemand hin bekommt wäre ich neugierig, aber jetzt auch ein Grund dafür von der fritznbox wegzugehen.

Habe mir das wiki mit speak durch gelesen - bin gerne bereit hier mit zu testen (spielen) klingt super. Bis die module hier sind probierte ich die zwischen durchsagen via mp3.

W

Will

Hallo Reinerlein,

also das abspielen von MP3s funktioniert bei mir ueber den befel
set sonos_Living_Room PlayURITemp \\192.168.1.10\public\zzfunc\bing.mp3 30

MP3 file liegt auf einem oeffentlichen Bereich meines NAS

Wenn ich den Befehl absetze, kommt der Sound, Sonos spielt weiter wie gewuenscht, leider stuerzt danach FHEM ab....folgendes laeuft dabei im Terminal:


2013.02.03 10:19:03 3: SONOS1: Event: received service urn:upnp-org:serviceId:AVTransport
2013.02.03 10:19:03 3: SONOS1: Event: All correct with this service-call till now. UDN='uuid:RINCON_000E582DCFC001400_MR'
2013.02.03 10:19:03 3: SONOS1: Event: Normal erkannt!
2013.02.03 10:19:03 3: SONOS1: Event: End of service-event urn:upnp-org:serviceId:AVTransport
2013.02.03 10:20:14 3: SONOS1: ProxyObject exists: UPnP::ControlPoint::ControlProxy=HASH(0xb6693b48)
2013.02.03 10:20:15 3: SONOS1: ProxyObject exists: UPnP::ControlPoint::ControlProxy=HASH(0xb66859a0)
2013.02.03 10:20:15 3: SONOS1: Event: received service urn:upnp-org:serviceId:AVTransport
2013.02.03 10:20:15 3: SONOS1: Event: All correct with this service-call till now. UDN='uuid:RINCON_000E582DCFC001400_MR'
2013.02.03 10:20:15 3: SONOS1: Event: Normal erkannt!
2013.02.03 10:20:15 3: SONOS1: Event: End of service-event urn:upnp-org:serviceId:AVTransport
2013.02.03 10:20:15 3: SONOS1: Event: received service urn:upnp-org:serviceId:AVTransport
2013.02.03 10:20:15 3: SONOS1: Event: All correct with this service-call till now. UDN='uuid:RINCON_000E582DCFC001400_MR'
2013.02.03 10:20:15 3: SONOS1: Event: Normal erkannt!
2013.02.03 10:20:15 3: SONOS1: Event: End of service-event urn:upnp-org:serviceId:AVTransport
2013.02.03 10:20:25 3: SONOS1: Event: received service urn:upnp-org:serviceId:AVTransport
2013.02.03 10:20:25 3: SONOS1: Event: All correct with this service-call till now. UDN='uuid:RINCON_000E582DCFC001400_MR'
2013.02.03 10:20:25 3: SONOS1: Event: Normal erkannt!
2013.02.03 10:20:25 3: SONOS1: Event: End of service-event urn:upnp-org:serviceId:AVTransport
2013.02.03 10:20:26 3: SONOS1: Event: received service urn:upnp-org:serviceId:AVTransport
2013.02.03 10:20:26 3: SONOS1: Event: All correct with this service-call till now. UDN='uuid:RINCON_000E582DCFC001400_MR'
2013.02.03 10:20:26 3: SONOS1: ReRead-Command: fhem('set WEB rereadicons');
2013.02.03 10:20:26 3: SONOS1: ReRead-Command: fhem('set WEBphone rereadicons');
2013.02.03 10:20:26 3: SONOS1: ReRead-Command: fhem('set WEBtablet rereadicons');
2013.02.03 10:20:26 3: SONOS1: Event: Normal erkannt!
2013.02.03 10:20:26 3: SONOS1: Event: End of service-event urn:upnp-org:serviceId:AVTransport
2013.02.03 10:20:26 3: SONOS1: Event: received service urn:upnp-org:serviceId:AVTransport
2013.02.03 10:20:26 3: SONOS1: Event: All correct with this service-call till now. UDN='uuid:RINCON_000E582DCFC001400_MR'
2013.02.03 10:20:26 3: SONOS1: ReRead-Command: fhem('set WEB rereadicons');
2013.02.03 10:20:26 3: SONOS1: ReRead-Command: fhem('set WEBphone rereadicons');
2013.02.03 10:20:26 3: SONOS1: ReRead-Command: fhem('set WEBtablet rereadicons');
2013.02.03 10:20:26 3: SONOS1: Event: Normal erkannt!
2013.02.03 10:20:26 3: SONOS1: Event: End of service-event urn:upnp-org:serviceId:AVTransport



Hast Du ne Idee?

W

Will

Ich kann nochc berichten, dass PlayURI ohne Probleme geht, kein Absturz.

W

Reinerlein

Hi Will,

das klingt nach dem Problem, welches ich noch nebenbei behoben habe. Ich werde heute (spätestens Morgen) noch die neue Version hier veröffentlichen.

Ich hatte das Problem, das unter Windows (mein Entwicklungssystem) alles geklappt hat, nur auf meinem Raspberry Pi gab es ab und an Probleme...

Grüße Reinerlein

Christoph

Zitat von: det. schrieb am Sa, 02 Februar 2013 14:21Hallo Christoph, hallo Will,

kann ich bei mir nicht bestätigen - habe FHEM auf RPI mit COC, COC im MAX Mode (so empfängt es keine FS20 etc. Sachen, die in Massen an der FB hängen und rumfunken), OWServer mit 4 Thermometern und 1 Switch am 1wire vom COC angebunden und die RpiValues. Läuft alles prima zusammen und stürzt auch nicht bei Veränderungen an der Config oder nach Ausschalten des SONOS ZP90 und Aufruf desselben danach über das webinterface ab.
Habt Ihr die letzte Version von SONOS installiert(sicherlich, aber der Fehler sitzt oft vor der Tastatur und schaut auf den Bildschirm...)? Sonst fehlt mglw. noch einer der vielen nachzuinstallierenden Perl Bibliotheken. Reiner konnte am Anfang auch nicht wirklich sagen, was alles dazu genau gebraucht wird. Im Laufe der Nachinstallation kam da so manches drauf, was alles , wozu und warum - keine Ahnung. Da kann im WIKI evtl. auch noch was fehlen - einfach die Schritte dort noch mal abarbeiten? Bei meiner Installation gab es da mehrfach Fehler, irgendwann war dann alles Erforderliche richtig drauf und lief.

Bei mir hatte das ganze ja schonmal funktioniert. Hab eigentlich nichts grundlegendes verändert.
Zurzeit läuft auch nichts anderes als Sonos drauf...
Werden mit der jetztigen Version eigentlich 2 Player erkannt oder sollte das noch händisch gemacht werden ?

Muss glaub nochmal in Ruhe alles neumachen oder mir nen zweiten Raspberry zum spielen zulegen ;-)


Gruß Christoph

Reinerlein

Hi zusammen,

hier jetzt mal die neue Version. Wie bereits geschrieben, steht im Wiki mehr zu den Installationsvoraussetzungen für die neue Speak-Funktion.

Ob nun mehrere Player funktionieren, würde ich auch gerne noch mal bestätigt oder verneint bekommen. Da bin ich gerade nicht ganz auf dem Stand der Tatsachen...

Leider ist die Thread-Umsetzung auf Linux nicht korrekt, sodass ich da etwas tricksen musste. Unter Windows läuft das alles prima... Naja, warum sollte es nicht mal andersrum sein :-)

@Christoph:
Du kannst auch ein zweites Fhem auf demselben Pi laufen lassen. Du musst nur dafür sorgen, dass die Ports (TelnetPort, WebPort, usw.) alle anders sind...

Viel Spaß beim Testen...

Grüße Reinerlein

Reinerlein

Hi Christoph,

nochmal auf deine Nachricht bzgl. des Umlauts bei 'Küche':
das war Absicht, damit eben keine FHEM-ungültigen Devicenamen erzeugt werden.

Ich habe das aber mal soweit korrigiert, das ab Version 1.7 (die nächste), diese Zeichen dann in die entsprechend passenden umgewandelt werden. Also 'ü' wird zu 'ue' und so weiter. Das betrifft aber ja sowieso nur den automatischen Erkennungsprozess. Wenn es angelegt ist, kannst du das ganze ja nennen, wie du willst.

Grüße Reinerlein

Will

Hallo reinerlein,

Schneller test vor dem Frühstück zeigt, dass jetzt playuritemp zu funktionieren scheint :-)

Habe zum Thema speak noch ein paar Verständnis fragen:

Zitat aus wiki
targetSpeakDir: Das Verzeichnis, in dem dieses Modul die Sprachdateien von Speak (siehe Set-Befehle an den SONOSPLAYER) ablegen soll. Es wird empfohlen, dass dieses Verzeichnis nicht von Sonos indiziert ist.
z.B. Pfade unter *Nix: /home/www/Sonos oder unter Windows: C:\InetPub\Sonos
--> ist es egal wo dieses Verzeichnis liegt? Würde ich auf meinem ordentlichen Bereich des nas legen, 192.168.1.10/public/sonos oder so. Ist das ein problem

targetSpeakURL: Die URL, unter der von außen auf die abgelegte Sprachdatei zugegriffen werden kann.
z.B. http://192.168.178.45/Sonos
-->wie ist "von aussen" zu verstehen? Mein Verständnis ist dass dein Modul (?) hier files rein schreibt, und sonos nachher darauf zugreift. Auch hier wurde ich dann 192.168.1.10/public/sonos vorsehen (du gibst diesen folder mit samba frei, korrekt?)

Zu aller letzt:
Kann es sein, dass die attribs für sonos nur manuell in fhem.cfg gesetzt werden können? Der sonosplayer gibt mir diese Attribute nicht als pulldown....

Bin im Moment nicht zu Hause und kann so nicht einfach ausprobieren....


Danke

W

Reinerlein

Hi Will,

die Wiki-Dokumentation habe ich absichtlich auf einem einfachen Level der Erklärung gehalten, damit es mit dieser Beschreibung sicher funktioniert :-)

Der Unterschied zwischen diesen beiden Parameten ist, das targetSpeakDir zum Schreiben durch das FHEM-Sonos-Modul verwendet wird, und targetSpeakURL dem ZonePlayer zum Abspielen übergeben wird. Es wird nur noch der erzeugte Dateiname mit vorangestellten Slash angehangen.

Es kann also durchaus die gleiche Angabe sein, wenn es auf einem externen NAS liegt, und dort Schreibrechte existieren.

Ich persönlich wollte meine FHEM-Steuerung autark gegenüber meinen anderen Netzkomponenten laufen lassen, sodass, wenn ein NAS mal weg ist, die Sachen immer noch eigenständig laufen. Desweiteren ist der Pfad nach "aussen" (also ausserhalb meines Raspberry Pi über die Samba-Freigabe) bei mir nicht beschreibbar.
Um das zu ermöglichen muss diese Unterscheidung existieren. Bedenke weiterhin, das keine Benutzerinformationen für eine Anmeldung definiert werden können. Das ganze ist dann (Hausintern) also ziemlich offen...

Zu den Attributen:
Bei mir tauchen die normal in der Liste auf (siehe angehangenen Screenshot). Beachte aber, dass die hier beschriebenen Attribute am Sonos-Device (also einmal zentral) hängen. Vielleicht hattest du beim SonosPlayer-Device geschaut?

Grüße Reinerlein

Christoph

Vielleicht kann mir jemand helfen *g*
Bei mir werden die Player nicht automatisch erkannt wenn ich es so in der fhem.cfg einbinde:

define Sonos SONOS
attr Sonos pingType syn

Nach Save gibts nen Absturz.
Habe testweise nur einen Player angeschlossen also entweder Play3 oder Connect

Händisch funktioniert das ganze...

define Sonos SONOS
attr Sonos pingType syn

define Sonos_PLAY3 SONOSPLAYER RINCON_000E5879362A01400_MR
attr Sonos_PLAY3 generateInfoSummarize1 <NormalAudio><Artist prefix="(" suffix=")"/><Title prefix=" '" suffix="'" ifempty="[Keine Musikdatei]"/><Album prefix=" vom Album '" suffix="'"/></NormalAudio> <StreamAudio><Sender suffix=":"/><SenderCurrent prefix=" '" suffix="' -"/><SenderInfo prefix=" "/></StreamAudio>
attr Sonos_PLAY3 generateInfoSummarize2 <NormalAudio><TransportState/><InfoSummarize1 prefix=" => "/></NormalAudio> <StreamAudio><TransportState/><InfoSummarize1 prefix=" => "/></StreamAudio>
attr Sonos_PLAY3 group PLAY3
attr Sonos_PLAY3 icon icoSONOSPLAYER_icon-S3.png
attr Sonos_PLAY3 model Sonos_S3
attr Sonos_PLAY3 room Sonos
attr Sonos_PLAY3 stateVariable InfoSummarize2
attr Sonos_PLAY3 webCmd Play:Pause:Previous:Next:VolumeD:VolumeU:MuteT
define AlbumArt_PLAY3 weblink image /fhem/icons/SONOSPLAYER/Sonos_PLAY3_AlbumArt
attr AlbumArt_PLAY3 group PLAY3
attr AlbumArt_PLAY3 htmlattr width='200' height='200'
attr AlbumArt_PLAY3 room Sonos


Raum wird angelegt und ich kann meinen Play3 steuern.


Das Problem mit den Umlauten hat (hatte ?) Zorin
Mein Play3 heisst PLAY3 ;-)


Gruß Christoph

Reinerlein

Hi Christoph,

sorry für die Verwechslung... Dann ist der Name bei dir zumindest kein Problem :-)

Kannst du vielleicht deinen LogLevel auf 3 oder 4 stellen, und mal den Log-Auszug hier hochladen?
Ich kämpfe immer noch mit ein paar Unterschieden zwischen Windows und Linux :-)

Außerdem habe ich auf meinem Pi gerade das Problem, dass die Registrierung für Titelaktualisierungen aus irgendeinem Grund abläuft; Auf meinem parallel dazu laufenden Windows-System (die beiden FHEM-Instanzen werden immer kurz nacheinander neugestartet :-) ist das immer noch OK. Normalerweise sollte diese Registrierung automatisch verlängert werden (was sie unter Windows ja auch immer tut).
Die Steuerung funktioniert dann immer noch, es werden lediglich keine Aktualisierungen mehr in FHEM durchgeführt. Damit ist da wohl auch nix im FHEM abgestürzt. Die Registrierung wird standardmäßig vom Player irgendwann aufgeräumt, wenn sie nicht verlängert wird. Das scheint aus irgendeinem Grund auszubleiben...
Da bin ich also gerade dran...

Grüße Reinerlein