Sonos steuern

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

Vorheriges Thema - Nächstes Thema

Firelight

Hallo Reinerlein,

ich habe jetzt mehrere sachen versucht und siehe da es funktioniert.
Ich habe jetzt mehrere sachen mit chmod 777 bearbeitet und zwar.

chmod 777 /mnt/SonosSpeak
chmod 777 /opt/fhem
chmod 777 /opt/fhem/FHEM

jetzt bekomme ich auch keine fehlermeldung mehr.

Jetzt würde ich gerne OFFLINE sprache benutzen. Wie kann ich das am besten machen?

Danke

Reinerlein

Hallo Firelight,

im Wiki unter http://www.fhemwiki.de/wiki/SONOS#Beispiel_f.C3.BCr_einen_Offline-Sprachsynthetisierer gibt es eine Beschreibung am Beispiel von espeak.
Wenn du einen anderen Synthetisierer verwenden möchtest, kannst du das ja analog einrichten.

Wie unter http://www.fhemwiki.de/wiki/SONOS#Zusammenfassung_der_Spracheinrichtung beschrieben, gehen dann aber die eingebetteten MP3-Dateien im Text nicht aus dem Modul heraus. Das muss dann deine externe Skript-/Programmsammlung selber können...

Grüße
Reinerlein

Loredo

Ich mal wieder, Reinerlein  ;D



Use of uninitialized value $songTitle in concatenation (.) or string at ./FHEM/00_SONOS.pm line 4309, <$client> line 7.
Use of uninitialized value $songTitle in concatenation (.) or string at ./FHEM/00_SONOS.pm line 4309, <$client> line 7.



Kommt Gelegenheit, kommt sicher auch ein Fix...  ;)




LG
Julian
Hat meine Arbeit dir geholfen? ⟹ https://paypal.me/pools/c/8gDLrIWrG9

Maintainer:
FHEM-Docker Image, https://github.com/fhem, Astro(Co-Maintainer), ENIGMA2, GEOFANCY, GUEST, HP1000, Installer, LaMetric2, MSG, msgConfig, npmjs, PET, PHTV, Pushover, RESIDENTS, ROOMMATE, search, THINKINGCLEANER

Reinerlein

Hi Julian,

eigentlich sollte das schon lange gefixt sein... aber meine Maßnahme war nicht bis zum Ende abgeschlossen  :-\

Das habe ich korrigiert, da ich gerade unterwegs bin, wird eine Veröffentlichung aber vermutlich bis Ende der Woche dauern...

Grüße
Reiner

mullischlumpf

Hallo Reinerlein,

danke für den Hinweis auf das Attribut  ;) Nun erscheinen die ignorierten Lautsprecher nicht mehr  :) hoffe mal es hilft.

Danke für deinen Einsatz echt klasse!

Masterfunk

Hallo Reiner,

habe noch mal etwas probiert. Die fehlenden Cover fehlen auch ohne aktivierten Proxy.

GetPlaylistsWithCovers: {'SQ:47' => {'Title' => 'Fourplay','Cover' => 'https://i.scdn.co/image/fa991366d876f715589ac13ad25b59cb7eccbec8'},'SQ:53' => {'Title' => 'Chic def. Groove','Cover' => ''},'SQ:13' => {'Title' => 'Starred','Cover' => 'https://i.scdn.co/image/b86125c07285074b989a426f801ab415143d1f50'},'SQ:50' => {'Title' => 'Benson','Cover' => ''},'SQ:24' => {'Title' => 'The Who','Cover' => 'https://i.scdn.co/image/82ae77cb1812db079b94810dc35a46b6cd9e058b'},'SQ:52' => {'Title' => 'Save_KU','Cover' => ''},'SQ:43' => {'Title' => 'Liquid Spirit','Cover' => 'https://i.scdn.co/image/1ce48449a0c03e8714100dffab0e15093c533823'},'SQ:22' => {'Title' => 'Wallflower','Cover' => 'http://192.168.10.150:1400/getaa?r=1&u=npsdy%3aTra.163140213.mp3%3fsn%3d4'},'SQ:40' => {'Title' => 'Save_WZ','Cover' => 'https://i.scdn.co/image/f19f19c8eca717c392ae23ca437a1b0df5c99200'},'SQ:51' => {'Title' => 'Lizzy','Cover' => ''},'SQ:6' => {'Title' => 'Chaka','Cover' => 'https://i.scdn.co/image/ef01c0ba8a5f5e4e687e43474e8f12f41322194c'},'SQ:12' => {'Title' => 'Sunday','Cover' => 'https://i.scdn.co/image/9302d3fe243eb3edb0f7737ea3c335a61cef3d33'},'SQ:25' => {'Title' => 'Nicole Henry','Cover' => 'https://i.scdn.co/image/e273aa32a1811b0b534909efaf906c6e9bb2b333'},'SQ:48' => {'Title' => 'Chet live','Cover' => 'http://192.168.10.150:1400/getaa?u=x-file-cifs%3a%2f%2fDS%2fMusik%2fMusik%2fChet%20Baker%2fChet%20Baker%20Live%20In%20Tokyo%20Disc1%2f01%20-%20Chet%20Baker%20-%20Stella%20By%20Starlight.mp3&v=112'},'SQ:7' => {'Title' => 'Klassik','Cover' => 'https://i.scdn.co/image/3bd8537ecacecebc127c43b9d60e3e7cb1b88b14'},'SQ:4' => {'Title' => 'Funky','Cover' => 'http://192.168.10.150:1400/getaa?u=x-file-cifs%3a%2f%2fDS%2fMusik%2fMusik%2fBeggar%20%26%20Co%2fAnthology%20Addicted%20to%20Funk%20-%20CD2%2f01%20-%20(Somebody)%20Help%20Me%20Out.mp3&v=112'},'SQ:41' => {'Title' => 'Save_SZ','Cover' => 'https://i.scdn.co/image/b807d558ed201a7c09356a8864e52e43bc387c2a'},'SQ:9' => {'Title' => 'Best ever','Cover' => 'https://i.scdn.co/image/095a6bc59214f31eccb1a9735549982f5876d481'},'SQ:23' => {'Title' => 'The Tubes','Cover' => 'https://i.scdn.co/image/f445ac6835124129053cda0966c509556a2b834e'},'SQ:5' => {'Title' => 'Smooth','Cover' => 'http://192.168.10.150:1400/getaa?u=x-file-cifs%3a%2f%2fDS%2fMusik%2fMusik%2fThe%20Rebirth%2fThe%20Rebirth%20-%20This%20Journey%20in.mp3&v=112'},'SQ:21' => {'Title' => 'Mark Ronson','Cover' => 'https://i.scdn.co/image/3b5c6e9547bead2f50bab62c1100c8c4425e1b81'},'SQ:11' => {'Title' => 'George Duke','Cover' => 'https://i.scdn.co/image/75b4f667262e3391c2e217839c7cd117cd47ffd6'},'SQ:20' => {'Title' => 'Tom Browne','Cover' => 'http://192.168.10.150:1400/getaa?u=x-file-cifs%3a%2f%2fDS%2fMusik%2fMusik%2fTom%20Browne%2fR%20'N'%20Browne%2f01%20-%20R%20'N'%20Browne%20-%20Tom%20browne%20-%20Joy%20And%20Pain.mp3&v=112'},'SQ:45' => {'Title' => 'Omar','Cover' => 'https://i.scdn.co/image/ae803d6f87b96dbf13751a01577a35bb097607ee'}}

Die URL fehlt komplett z.B. das zweite Album (Chic). Beim abspielen dieser Playlist wird es aber bei den einzelnen Titeln angezeigt.

Gruß Detlef

Reinerlein

Hi Detlef,

danke für die Info. Leider kann ich das momentan nicht untersuchen, da ich unterwegs bin. Ich denke, dass ich zum Wochenende hin da weiterschauen kann...
Ich hatte das letztes Wochenende bereits versucht zu lösen, aber leider noch keinen Durchbruch erzielt...

Grüße
Reiner

Masterfunk

Zitat von: Reinerlein am 30 März 2015, 23:20:57
Hi Detlef,

danke für die Info. Leider kann ich das momentan nicht untersuchen, da ich unterwegs bin. Ich denke, dass ich zum Wochenende hin da weiterschauen kann...
Ich hatte das letztes Wochenende bereits versucht zu lösen, aber leider noch keinen Durchbruch erzielt...

Grüße
Reiner

Kein Stress!
Hab nur schon mal geschrieben...

Hab noch ein vollkommen anderes Problem mit dem Modul. Irgendwann verursacht der Sonos Prozess 100% CPU Last auf einem Kern.
Das führt dann wiederum irgendwann zu einem Fhem Restart. Da meion System recht performant ist, merke ich das so in der Anwendung nicht wirklich. Da werde ich aber selbst erst mal weiter forschen.

Gruß Detlef

justme1968

hallo reiner,

es hat zwar doch etwas gedauert aber jetzt habe ich logs für das problem das player verschwinden.

gegen 1:08 verschwinden die player für bad und schlafzimmer plötzlich. 8:50 habe ich den player im schlafzimmer über die app eingeschaltet. die events kommen alle in fhem an. etwas später das gleiche für den im bad.

wenn ich im sonos device dieselbe setze und wieder lösche werden die fehlenden player sofort gefunden.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Reinerlein

Hi Andre,

auch wenn es dir nicht direkt hilft: Das Modul kann die beiden Player nicht per ICMP-Ping erreichen und deaktiviert sie Ordnungsgemäß. Das sieht von daher erstmal gut aus.
Die Frage ist jetzt, warum der ICMP-Ping nicht mehr zu den Player durchdringt...

Sind die Player über das SonosNet mit dem LAN verbunden? Gibt es bei Sonos eigentlich so was wie einen Stromsparmodus?
Da bin ich jetzt echt überfragt...
Ich habe hier einen Connect am LAN hängen, und drei Play5 über das SonosNet eingebunden. Solche Fehler habe ich hier noch nicht feststellen können. Kann also kein prinzipielles Thema sein...

Leider meldet das PERL-Ping-Modul nicht, wenn es z.B. keine Route zum Host findet, also eine Systemkonfiguration nicht passt.
Es meldet dann einfach, dass der Empfänger nicht erreichbar sei...

Ich schaue mal, ob ich diesem Ping-Modul noch mehr Meldungen entlocken kann...

Grüße
Reiner

justme1968

ich schaue mal ob es eventuell ein netzwerk problem ist. zumindest an einer stelle habe ich kurze und nicht reproduzierbare aussetzer. da ist ein stück devolo dlan dazwischen.

das erklärt aber noch nicht alles da die player selbst wenn sie in der sonos app oder anwendung nicht gleich da sind auf jeden fall kurz darauf erscheinen.

wenn die dlan strecke ausfällt müsste der player auch auf einen der anderen accesspoints wechseln. ich meine das tut er auch.

sollte sich der player sich nicht wieder melden wenn das netz wieder da ist?

könnte man die player suche regelmäßig wieder anstoßen?

sollte ein player nicht spätestens dann wieder auf present gehen wenn events von ihm ankommen? das würde zwar nicht beim dingen wie einschalten aus fhem draus helfen. aber zumindest beim ausschalten danach.   

kann ich noch mehr loggen ?

gruß
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

justme1968

ich schaue mal ob es eventuell ein netzwerk problem ist. zumindest an einer stelle habe ich kurze und nicht reproduzierbare aussetzer. da ist ein stück devolo dlan dazwischen.

das erklärt aber noch nicht alles da die player selbst wenn sie in der sonos app oder anwendung nicht gleich da sind auf jeden fall kurz darauf erscheinen.

wenn die dlan strecke ausfällt müsste der player auch auf einen der anderen accesspoints wechseln. ich meine das tut er auch.

sollte sich der player sich nicht wieder melden wenn das netz wieder da ist?

könnte man die player suche regelmäßig wieder anstoßen?

sollte ein player nicht spätestens dann wieder auf present gehen wenn events von ihm ankommen? das würde zwar nicht beim dingen wie einschalten aus fhem draus helfen. aber zumindest beim ausschalten danach.   

kann ich noch mehr loggen ?

gruß
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

justme1968

ich schaue mal ob es eventuell ein netzwerk problem ist. zumindest an einer stelle habe ich kurze und nicht reproduzierbare aussetzer. da ist ein stück devolo dlan dazwischen.

das erklärt aber noch nicht alles da die player selbst wenn sie in der sonos app oder anwendung nicht gleich da sind auf jeden fall kurz darauf erscheinen.

wenn die dlan strecke ausfällt müsste der player auch auf einen der anderen accesspoints wechseln. ich meine das tut er auch.

sollte sich der player sich nicht wieder melden wenn das netz wieder da ist?

könnte man die player suche regelmäßig wieder anstoßen?

sollte ein player nicht spätestens dann wieder auf present gehen wenn events von ihm ankommen? das würde zwar nicht beim dingen wie einschalten aus fhem draus helfen. aber zumindest beim ausschalten danach.   

kann ich noch mehr loggen ?

gruß
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

Reinerlein

Hi Andre,

kann es sein, dass die Player sowohl mit LAN als auch per SonosNet verbunden sind?
Ich habe gerade gesehen, dass der Ping Mechanismus Antworten von anderen Schnittstellen als der angeforderten verwirft. Wenn ein Zielrechner also mehrere Netzwerkschnittstellen hat, und die Antwort auf einer anderen raussendet, würde das von dem Mechanismus verworfen werden...

Zu deiner Frage: UPnP ist so definiert, dass eine Komponente, die neu im Netz ist, sich eigenständig als jetzt bereit und vorhanden meldet. Das würde vom Modul entsprechend empfangen und verarbeitet werden.
Das Problem liegt hier wohl eher darin begründet, dass das Modul *meint*, dass der Player weg ist (wegen fehlender Ping-Antwort), das aber nicht wirklich der Fall ist. Das bedeutet, dass der Player natürlich auch keine Notwendigkeit sieht, sich zu melden...

Die SonosApp hat dieses Problem nicht, da sie nicht vorhandene Player erst dann erkennt, wenn eine Befehlssendung im Nirvana verschwindet. Der Ping-Mechanismus des Moduls soll ja genau das bequemer, und für eine Hausautomation passender, ermitteln :)
Wenn es denn geht...

Ich kann mal schauen, ob ich diese Aufforderung zum Melden auch zyklisch zwischendurch versenden kann. Einen Player wieder aufzubauen, wenn ich eine Nachricht für ihn erhalte, kann ich auch mal prüfen...

Grüße
Reiner

Reinerlein

Hallo zusammen,

ich habe gerade eine neue Version eingecheckt.

Folgendes ist enthalten:

  • IsAlive-Check Anpassungen: Bei einer Antwort wird nun nicht mehr geprüft, ob diese von derselben Netzwerkschnittstelle stammt, an die der Ping gesendet wurde. Damit werden Player besser erkannt, die sowohl am Funknetz als auch am LAN angeschlossen sind.
  • IsAlive-Check Anpassungen: Bei der Option 'tcp' wird nun versucht auf den Standard-Webport des Players zu verbinden (1400)
  • Callback-Aufrufmethoden: Wenn ein Player eine Nachricht an Fhem sendet und dieser Player in Fhem als 'disappeared' geführt wird, dann wird der Discovery-Process neu angestartet, um diesen Player wieder sauber zu erkennen
  • Sonos hat das Verfahren zum Hinzufügen von Spotify-Titeln angepasst. Jetzt kann man diese Titel auch wieder mit dem Modul einfügen und abspielen lassen
  • Das Heraussuchen der Spotify-Cover (z.B. für Playlisten) schlug fehl, wenn die API kein Bild mit 640er Höhe angeboten hat. Nun wird das erste Cover verwendet, welches immer das größte sein sollte

Damit sollte das Thema mit dem fehlenden Spotify-Cover in der Playlistdarstellung behoben sein.
Des Weiteren kann man wieder Spotify-Titel verarbeiten, ich konnte nämlich den Testtitel erst nicht hinzufügen :)

Dann gibt es hier für die verschwindenden Player zwei Ansätze:
1. Der IsAlive-Checker prüft nicht mehr, von welcher Schnittstelle die Antwort auf den ICMP-Ping herkommt
2. Wenn eine Nachricht für einen Player ankommt, der als "disappeared" geführt wird, sollte der Suchprozess jetzt neustarten.
Das 2. konnte ich leider überhaupt nicht nachstellen oder testen. Das ist also ohne Gewähr :)

Vielleicht wird das ja damit schon besser...

Wie immer ab sofort im SVN oder ab Morgen im Update.

Grüße
Reinerlein