Sonos steuern

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

Vorheriges Thema - Nächstes Thema

Reinerlein

Hi Spartacus,

du solltest auf jeden Fall die Leerzeichen um den senkrechten Strich herum weglassen.
Erstens trennst du damit den regulären Ausdruck für Fhem auf in verschiedene Parameter zum Notify, und zweitens, selbst wenn das ganze als regulärer Ausdruck verwendet werden würde, würde er nach einem " Sonos_Bad" (mit Leerzeichen davor) suchen, und diesen dann nicht treffen...

Versuch mal, ob es dann besser wird...

Grüße
Reiner

miadam009

#1006
Moin..

Beschäftige mich gerade mit fhem und meinem Sonso Play1.
Habe mich an die Anleitung gehalten.. nur leider bekomme es nicht zum laufen

Hier meine Fehler :

Cannot load module SONOS

2014.05.14 19:43:30 1: reload: Error:Modul 00_SONOS deactivated:
Unrecognized character \xC2; marked by <-- HERE after at master <-- HERE near column 50 at ./FHEM/00_SONOS.pm line 13, <> line 1.

2014.05.14 19:43:30 0: Unrecognized character \xC2; marked by <-- HERE after at master <-- HERE near column 50 at ./FHEM/00_SONOS.pm line 13, <> line 1.

Könnt Ihr mir bitte einen Tip geben , was ich falsch mache.. !!

Danke !!!!

Spartacus

#1007
Zitat von: Reinerlein am 14 Mai 2014, 19:39:08
Hi Spartacus,

du solltest auf jeden Fall die Leerzeichen um den senkrechten Strich herum weglassen.
Erstens trennst du damit den regulären Ausdruck für Fhem auf in verschiedene Parameter zum Notify, und zweitens, selbst wenn das ganze als regulärer Ausdruck verwendet werden würde, würde er nach einem " Sonos_Bad" (mit Leerzeichen davor) suchen, und diesen dann nicht treffen...

Versuch mal, ob es dann besser wird...

Grüße
Reiner

Hi Reiner,
neee! passiert einfach gar nichts! Hbe das erste Sonos_.*:.appeared mal disabled. Bringt auch nichts.

Hier noch einmal der Code aus dem DEF-Bereich..

(Sonos_Schlafzimmer|Sonos_Bad):.appeared
define Init_SchlafzimmerGroup_Later at +00:03:00
  set Sonos Groups [Sonos_Schalzimmer, Sonos_Bad]

Lt. Notify Syntax müsste das eigentlich gehen! Aber es kommt bei Verbose 5 nicht mal ein Fehler....

Spartacus

NACHTRAG:
Aua! Wenn man ein bissl doof ist!
(Sonos_Schlafzimmer|Sonos_Bad):presence:.appeared
define Init_SchlafzimmerGroup_Later at +00:03:00
  set Sonos Groups [Sonos_Schalzimmer, Sonos_Bad]


man sollte auch das "presence" einbauen....
Fhem-System: 1 x raspberry PI Typ B, 1 x enOcean PI Typ B | Enocean: PTM210, FMS61NP, FAM14, 2 x FSR14-4x, FTS14-EM | LaCrosse: 2 x TX29D über Jeelink V3 | 1-Wire: 2 x DS18B20 über DS9490R

der-Lolo

Du hast in jedem fall den Schlafzimmer Tippfehler drin...

Zitatset Sonos Groups [Sonos_Schalzimmer, Sonos_Bad]

Spartacus

Hi,
Danke! aber das habe ich dann auch gemerkt!  :)
Funzt jetzt einwandfrei....
Spartacus
Fhem-System: 1 x raspberry PI Typ B, 1 x enOcean PI Typ B | Enocean: PTM210, FMS61NP, FAM14, 2 x FSR14-4x, FTS14-EM | LaCrosse: 2 x TX29D über Jeelink V3 | 1-Wire: 2 x DS18B20 über DS9490R

Reinerlein

Hi miadam009,

ok, da scheint die Datei in einem komischen Zeichen-Encoding vorzuliegen. und Perl kann sie nicht einlesen (bzw. interpretieren), Zeile 13 hat nur 40 Zeichen/Spalten (und nicht 50, wie in der Fehlermeldung angegeben)...

Hast du die Installation mittels Update-Befehl durch Fhem erledigen lassen, oder manuell heruntergeladen?
Wenn nicht, dann versuche das erstmal.

Wenn ja, dann versuch dir das Sonos-Perlmodul mal selber anzuzeigen. Vielleicht erkennst du da ja schon was. Ansonsten müsstest du noch ein paar Rahmenbedingungen mitteilen (ist das ein Linux, ein Windows, ein Raspberry Pi, usw...). Vielleicht können wir dann was erkennen...

Grüße
Reiner

miadam009

Hallo Reiner

das die Module kaputt seinen , hatte ich auch schon gedacht.
Hab alles per Update gemacht..
Mein TAU System ist ein RPi (Linux raspberrypi 3.10.25+ #622 PREEMPT Fri Jan 3 18:41:00 GMT 2014 armv6l GNU/Linux)

Ich werde noch mal ganz frisch den RPI aufsetzten und dann Schritt für Schritt
Hast Du noch ein Link für mich, wo die original Module downloaden kann..

Wenn die Neustallation nicht klappt geben ich erst einmal auf;-)
Danke
Gruß Micha




Reinerlein

Hi Micha,

wie im Wiki unter http://www.fhemwiki.de/wiki/Sonos_Anwendungsbeispiel#Installation_mittels_FHEM-Updatemechanismus beschrieben gibt es den offiziellen Fhem-Download-Befehl:
update thirdparty http://fhem.lmsoft.de/sonos sonos
Aber du musst natürlich trotzdem noch darauf achten, dass die Perl-Module installiert sind. Aber auch dazu gibt es ja Hinweise im Wiki.

Diese Anweisung hat, meines Wissens nach, eigentlich noch nie einen fehlerhaften Download durchgeführt. Ausserdem verwenden hier viele den Pi (wie ich z.B. auch). Das sollte also eigentlich laufen...

Den Befehl kannst du auch durchführen, wenn bereits einzelne Dateien vorhanden sind. Mittels der erweiterten Angabe von update thirdparty http://fhem.lmsoft.de/sonos sonos force kann man ein neues herunterladen erzwingen.

Und natürlich kannst du diese URL http://fhem.lmsoft.de/sonos/controls_sonos.txt auch selber im Browser eingeben, oder mittels wget herunterladen...
Dort siehst du dann die Ordnerstruktur, wie du sie vom Webserver herunterladen kannst. Ein Browsing ist nicht zulässig, aber wenn du die Namen direkt angibst, bekommst du die Dateien natürlich...

Grüße
Reiner

miadam009

Hi.. Reiner..

Danke für die Info..

ich werde alles noch mal neu auf meiner Tau installieren..

Installation läuft schon...

Ich gebe nicht auf.. !!!!!!!!!!

Werde dann mit Erfolg berichten ... hoffe ich..   ;)

Gruß Micha

miadam009

HI Reiner,

während meine Installation auf dem anderen Pi läuft.
Habe ich noch mal

"update thirdparty http://fhem.lmsoft.de/sonos sonos force"
laufen lassen..

Hier der Fehler..


Cannot load module SONOS

log:
2014.05.14 23:15:43 1: Including ./FHEM/sonos.cfg
2014.05.14 23:15:43 1: reload: Error:Modul 00_SONOS deactivated:
Attempt to reload UPnP/ControlPoint.pm aborted.
Compilation failed in require at ./FHEM/00_SONOS.pm line 246, <> line 1.
BEGIN failed--compilation aborted at ./FHEM/00_SONOS.pm line 246, <> line 1.

2014.05.14 23:15:43 0: Attempt to reload UPnP/ControlPoint.pm aborted.
Compilation failed in require at ./FHEM/00_SONOS.pm line 246, <> line 1.
BEGIN failed--compilation aborted at ./FHEM/00_SONOS.pm line 246, <> line 1.

Gruß Micha

miadam009

Hallo Reiner

ich bin zu blöd..

RPi neu ausgesetzt :

1. 2014-01-07-wheezy-raspbian auf SD karte
2. SD vergrössert  - > reboot 
3. update + upgrade
4. sudo apt-get -f install && sudo apt-get install perl libdevice-serialport-perl && sudo apt-get install libio-socket-ssl-perl && sudo apt-get install libwww-perl && sudo apt-get install libxml-simple-perl
5. sudo wget http://fhem.de/fhem-5.5.deb && sudo dpkg -i fhem-5.5.deb
6. cd /opt
7. sudo chmod -R a+w fhem && sudo usermod -a -G tty pi && sudo usermod -a -G tty fhem
8. Fhem funkt.
9. Update fhem notice confirm update-20130127-001
10.  reboot
11. define Sonos SONOS localhost:4711 30 in die fhem.cfg -- Fehler ist klar !
12. sudo cpan LWP::Simple .. keine Fehler gesehen
13. sudo mkdir /mnt/SonosSpeak
14. sudo apt-get install samba samba-common-bin
15. sudo nano /etc/samba/smb.conf -- Daten eingetragen !
16. sudo /etc/init.d/samba restart
17. reboot zur Sicherheit..
18. autocreate noch ergänzt
19. update thirdparty http://fhem.lmsoft.de/sonos sonos
20. restart
21. Verzeichnis gecheckt.. FHEM/lib... !!! sieht gut aus...
22. rereadcfg  =  "Cannot load module SONOS"

23. log siehe Anhang

Was mache ich verkehrt ????

Gruß und Gute Nacht !!

Micha



-

der-Lolo

les nochmal im Wiki...
du brauchst noch mehr zusätzliche Module, nicht nur LWP::simple

miadam009

Guten Morgen...

Danke Danke Danke für den Hinweis..

Es funkt..

So habe ich es gemacht !!

1. 2014-01-07-wheezy-raspbian auf SD karte
2. SD vergrössert  - > reboot 
3. update + upgrade
4. sudo apt-get -f install && sudo apt-get install perl libdevice-serialport-perl && sudo apt-get install libio-socket-ssl-perl && sudo apt-get install libwww-perl && sudo apt-get install libxml-simple-perl
5. sudo wget http://fhem.de/fhem-5.5.deb && sudo dpkg -i fhem-5.5.deb
6. cd /opt
7. sudo chmod -R a+w fhem && sudo usermod -a -G tty pi && sudo usermod -a -G tty fhem
8. Fhem funkt.
9. Update fhem notice confirm update-20130127-001
10.  reboot
11. define Sonos SONOS localhost:4711 30 in die fhem.cfg -- Fehler ist klar !

12.00: sudo cpan LWP::Simple .. keine Fehler gesehen
12.01: sudo cpan LWP::UserAgent
12.02: sudo cpan SOAP::Lite
   ging nicht -> manuell
   1. sudo su -
   2. mkdir soaplite
   3. cd soaplite
   4. wget http://search.cpan.org/CPAN/authors/id/M/MK/MKUTTER/SOAP-Lite-0.715.tar.gz (mauell angepasst)
   5. tar -xzvf SOAP-Lite-0.715.tar.gz
   6. cd SOAP-Lite-0.715
   7.  perl Makefile.PL
   8. make
   9. make install
   10. reboot


12.03: sudo cpan HTTP::Request   

13. sudo mkdir /mnt/SonosSpeak
14. sudo apt-get install samba samba-common-bin
15. sudo nano /etc/samba/smb.conf -- Daten eingetragen !
16. sudo /etc/init.d/samba restart
17. reboot zur Sicherheit..
18. autocreate noch ergänzt
19. update thirdparty http://fhem.lmsoft.de/sonos sonos
20. restart
21. Verzeichnis gecheckt.. FHEM/lib... !!! sieht gut aus...

99. Es geht!!! wenn man es richtig macht.. !!! ;-)

DANKE DANKE DANKE

Gruß Micha

matzemoerk

Hallo zusammen,

Ich habe FHEM und Sonos mittlerweile stabil auf meinem RaspberryPi laufen. Momentan beschäftige ich mir mit der Steuerung von FHEM über meine Pebble Smartwatch. Dazu ergibt sich folgende "Befehlskette":

PebbleTasker -> Tasker mit andFHEM Plugin -> FHEM -> Sonos.

Ich habe mir nun in Tasker folgendes notify angelegt, das sie Funksteckdose des Play:5 in meinem Zimmer anschaltet (falls noch nicht geschehen), paar Sekunden wartet und dann den als Sonos Favorit angelegten Google Music Radiosender "Radio - auf gut Glück!" (Als Favurit "Matthias" angelegt) mit vorher definierter Lautstärke abspielt:


if (Value("funksteckdose_strom_matthias_sonos") eq "aus"){
fhem('set funksteckdose_strom_matthias_sonos an');
fhem('sleep 20');
}
fhem('set Sonos_Matthias Volume 8');
fhem('set Sonos_Matthias StartFavourite Matthias');
}


Dabei ergibt sich ein Problem mit der Darstellung der Sonderzeichen im Namen des Radiosenders. Diese werden in allen Sonos Anwendungen korrekt angezeigt wenn der Sender aus den Sonos Anwendungen gestartet wird. Übernimmt FHEM, werden die Sonderzeichen fehlerhaft angezeigt. Wie kann ich dieses Problem beheben?

Grüße,
Matthias

Reinerlein

Hi Matthias,

hmm... das klingt komisch. Ich habe leider kein Google Play Music-Account, sodass ich es damit nicht testen kann. Ich habe es aber gerade mit einem "normalen" TuneIn-Radiosender versucht, dort einen gewählt, der einen Umlaut im Namen hat, diesen als Favorit mit anderem Namen abgelegt, und über Fhem gestartet.
Das klappt alles normal.

Eigentlich sollte es auch keinen Unterschied machen, da ich dem Player nur die, aus den Favoriten ermittelten, Informationen weitergebe und ihn auffordere das Abspielen zu starten.
In LogLevel 5 gibt dieser Mechanismus auch eine Ausgabe raus, was an den Player übergeben wird (fängt mit "StartFavourite SetAVTransport-Res:" an).
Aber viel dürfte man da auch nicht rauslesen können, da diese Informationen spezifisch für den verwendeten Dienst sind (in dem Fall vermutlich eine Google-URL).

Ich bin auch gerade dabei diese UTF-8 Problematik beim Verarbeiten von Events zu lösen. Das scheint in Perl, und damit auch in Fhem, etwas komplexer zu sein :-)
Jedenfalls habe ich das Problem, dass sich das zwischen meinen beiden Plattformen (Windows und Debian Linux) unterschiedlich verhält...
Das hat aber nichts hiermit zu tun, wo es ja um eine fehlerhafte Darstellung in den Sonos-Controllern geht...

Hat dieses Phänomen denn noch jemand?

Grüße
Reiner