Sonos steuern

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

Vorheriges Thema - Nächstes Thema

Reinerlein

Hi Andre,

letzteres schaue ich mir mal an. das läßt sich bestimmt abfangen.

Aber der erste Punkt... eigentlich melde ich den direkt "nach oben" zu Fhem durch. Da gibt es auch keinerlei Verzögerung mehr.
Es sei denn, dein Fhem war gerade beschäftigt, und nimmt die neue Lieferung irgendwie nicht an... Kann es sein, dass er noch mit dem Bearbeiten eines Notify beschäftigt ist?
Ich schaue mir mal an, ob ich die Schlange nach oben robuster gestalten kann... das sind ja Fhem Bordmittel...

Grüße
Reinerlein

der-Lolo

Du Reinerlein, wäre es nicht möglich dem Modul zu sagen welche Devices es "erwarten" soll? Letztendlich kennen wir in FHEM ja den schaltzustand der zugehörigen steckdose und könnten hiermit ja auch player enablen, disablen...

Nur so als Idee...

justme1968

das erste problem hat garnichts mit dem ein oder ausschalten eines players zu tun.

zur zeit habe du drei player ständig an und einer ist ständig aus. wenn ich fhem neu starte wird einer der drei sofort erkannt. immer der gleiche. die anderen beiden fast nie. zumindest gehen sie dann nicht auf present. obwohl die icmp ping im hintergrund ok liefern.

fhem ist nicht blockiert und ich kann alles andere ganz normal schalten.

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

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

der-Lolo

sorry Andre,
ich bezog mich nicht auf dein problem -
http://forum.fhem.de/index.php/topic,10033.msg263956.html#msg263956

Wobei ich heute nachmittag ein update gemacht habe und gerade im Log gesehen habe das die meldungen anscheinend verschwunden sind. Vielleich hat Reinerlein wie angekündigt etwas optimiert diesbzgl.

however, hier liest man einfach oft das leute probleme haben die ihre player eben nicht 24/7 am netz hängen haben, und ich glaube das sogut wie jeder in seiner FHEM installation weiss ob der player gerade da sein sollte oder eben nicht. So kam ich auf meine Idee...

Reinerlein

Hallo,

@der-Lolo: das gibt das Konzept von UPnP nicht her. Die Player melden sich, sobald sie da sind, und zum Melden aufgefordert wurden. Die kann man nicht vorerkennen oder sowas...

@Andre: Du könntest höchstens mal in der Konsolenausgabe nachschauen, ob die Player erkannt werden, und nur die Meldung an Fhem unterbleibt...

Grüße
Reiner

jehu

Hallo Allerseits,

vielen Dank @Reinerlein für das tolle Modul, welches mir meine Haussteuerung mit FHEM deutlich aufgewertet hat (und natürlich an alle die FHEM zu dem gemacht haben was es ist  :))

Ich setze das Modul zum Bespiel auch ein, um mir während meines morgendlichen Wecker mit Sonos eine Durchsage mit der Uhrzeit, Datum und der aktuellen Wetteraussichten und Regenwahrscheinlichkeit anzusagen. Dazu nutze ich den Befehl. "set Sonos_Schlafzimmer Speak +10 de [Ansagestext]". Das funktioniert grundaätzlich (bis auf die zuweilen merkwürdige Aussprache  ;) -sehr gut). Nun ist mir aufgefallen, dass sich der Wecker seit Nutzung der Ansage nicht mehr automatisch nach 1h (wie eingestellt) abschaltet. Lasse ich die Durchsage weg schaltet er sich nach 1h ab.

Kann das Problem jemand Anderes noch nachvollziehen? Oder habe ich evtl. irgendwas überlesen, was ich in diesem Zusammenhang nicht beachtet habe.

Schöne Grüße
Jens
FHEM on RPi 2,
HM-CFG-USB - HM-CC-RT-DN - HM-ES-PMSw1-Pl - HM-LC-Bl1PBU-FM - HM-LC-SW1-FM - HM-LC-Sw1PBU-FM - HM-SEC-SCo - MiLight - SONOS - Lacrosse Jeelink
FTUI auf ODYS GATE

Reinerlein

Hi Jens,

das kann ich mir gut vorstellen. Wenn du eine Wiedergabe per Wecker hast, merkt der Player das (und setzt auch das Reading für die AlarmWiedergabe).
Die Durchsage mittels Speak (oder auch PlayURITemp) stoppt diese Wiedergabe, macht die Durchsage, und stellt den ursprünglichen Wiedergabezustand wieder her.
Dabei gibt es keine Möglichkeit eine "Weckerwiedergabe" zu starten. Es ist (danach) immer einer normale Wiedergabe...

Was du machen könntest, ist, nach deiner Durchsage einen Sleeptimer zu setzen...
Oder ganz verwegen:
- Durchsage z.B. mittels des Text2Speech-Moduls vorbereiten, und die Datei in deinem Freigabeordner ablegen lassen
- Diese erzeugte Durchsagedatei in der aktuellen Abspielliste ganz vorne einfügen
- Deinem Wecker sagen, er soll die Abspielliste zum Wecken starten

Damit wird eine normale (Alarm-)Wiedergabe gestartet, und deine Durchsage ist halt das erste "Musikstück". Du kannst auch einen Radiosender in die aktuelle Abspielliste packen, damit kannst du auch Radio nach deiner Durchsage hören...
Da gibt es noch viele Möglichkeiten :)

Grüße
Reiner

jehu

#1657
Hallo Reiner,

Schade dass man die Einstellungen vor Ansage nicht sichern kann und später wieder herstellen.

Für mich selbst werde ich wohl den Tipp mit dem Sleeptimer umsetzen. Das passt perfekt.
Die Durchsage am Anfang des Alarms klingt an sich besser, aber für mein "Setting" benutze ich diese Ansage auch als Hinweis nun "endlich" die Füße aus dem Bett zu heben  ;D In der Zeit davor höre ich noch die morgendlichen Nachrichten. Per Sleeptimer wird dann einfach sichergestellt, dass das Radio nicht den ganzen Tag weiterläuft. So gehts ... Danke für den Schupps in die richtige Richtung  :)

Schöne Grüße
Jens
FHEM on RPi 2,
HM-CFG-USB - HM-CC-RT-DN - HM-ES-PMSw1-Pl - HM-LC-Bl1PBU-FM - HM-LC-SW1-FM - HM-LC-Sw1PBU-FM - HM-SEC-SCo - MiLight - SONOS - Lacrosse Jeelink
FTUI auf ODYS GATE

rretsiem

#1658
Hallo,

nun versuche ich auch mal mit meinem Songs-System und Speak zu experimentieren, stoße aber auf ein merkwürdiges Verhalten.

Der Player (ein Play3) ist auf "Pause" mit einem Internet-Radio-Stream, die Pause wurde über den Button ausgelöst.

Nun sende ich einen Speak Befehl

set Sonos_Bad Speak 15 de Ein kleiner Test

der Text wird NICHT gesprochen, aber der Radio-Stream startet zu spielen.
Im Log finde ich dazu:


2015.03.03 22:19:41 3: SONOS0: Connection accepted from localhost:37448
2015.03.03 22:19:49 3: SONOS1: Load Google generated MP3 (1. Element) from "http://translate.google.com/translate_tts?tl=de&q=%20%22ein%20kleiner%20Test%22" to "./RINCON_000E587DBE7201400_MR_Speak.mp31"
2015.03.03 22:19:49 3: SONOS1: Combine loaded chunks into "./RINCON_000E587DBE7201400_MR_Speak.mp3"
2015.03.03 22:19:50 3: SONOS1: Start temporary playing of "/RINCON_000E587DBE7201400_MR_Speak.mp3"
2015.03.03 22:19:52 3: SONOS1: Event: Received Rendering-Event for Zone "Sonos_Bad".
2015.03.03 22:19:52 3: SONOS1: Event: End of Rendering-Event for Zone "Sonos_Bad".
2015.03.03 22:19:53 3: SONOS1: Event: Received Transport-Event for Zone "Sonos_Bad".
2015.03.03 22:19:54 3: SONOS1: Event: End of Transport-Event for Zone "Sonos_Bad".
2015.03.03 22:19:54 3: SONOS1: Event: Received GroupRendering-Event for Zone "Sonos_Bad".
2015.03.03 22:19:54 3: SONOS1: Event: End of GroupRendering-Event for Zone "Sonos_Bad".
2015.03.03 22:19:54 3: SONOS1: Event: Received Transport-Event for Zone "Sonos_Bad".
2015.03.03 22:19:56 3: SONOS1: Event: End of Transport-Event for Zone "Sonos_Bad".
2015.03.03 22:19:56 3: SONOS1: Event: Received Transport-Event for Zone "Sonos_Bad".
2015.03.03 22:19:57 3: SONOS1: Event: End of Transport-Event for Zone "Sonos_Bad".
2015.03.03 22:20:01 3: SONOS3: Restorethread has found a job. Waiting for stop playing...


Ist das Verhalten nur deshalb so, weil er das speak MP3 nicht ablegen kann, oder ein anderes?

Am FHEM Songs Device habe ich die Attribute

Attributes:
   Speak1     mp3:/usr/bin/espeak -v %language% --stdout "%text%" | /usr/bin/avconv -i - %filename%
   targetSpeakDir /mnt/SonosSpeak
   targetSpeakFileHashCache 1
   targetSpeakMP3FileDir /mnt/SonosSpeak
   targetSpeakURL \\192.168.178.32\SonosSpeak


eingerichtet. Die Samba-Freigabe auf dem Pi kann ich mit guest access beschreiben und lesen. (Anleitung laut Wiki), ist aber leer, es werden dort also keine Files abgelegt...

EDIT 22:40
Es funktioniert nachdem ich FHEM einmal neu gestartet habe. Mir war nicht bewusst das der SONOS Perl Prozess die Attribute erst nach einem Neustart "anzieht". :-[

Reinerlein

Hallo rretsiem,

du kannst auch am Sonos-Device das "disable"-Attribut auf "1" setzen. Dann wird der SubProzess beendet. Anschließend kurz warten und das Attribut wieder löschen. Dann wird auch der SubProzess wieder angestartet..

Das steht so auch im Wiki bei den Attributen :)

Grüße
Reinerlein

Loredo

Hi Reiner,


ich bin gerade auf diese Meldungen bei mir im Log gestoßen, während ich den externen Ausgang an einem meiner Sonos Geräte verwende:



2015.03.12 00:07:25 1: PERL WARNING: Use of uninitialized value in string ne at fhem.pl line 3717.
Use of uninitialized value $songTitle in concatenation (.) or string at ./FHEM/00_SONOS.pm line 4293, <$client> line 7.



Ist nicht tragisch, aber vielleicht baust du bei Gelegenheit noch eine Abfrage mit ein :-)




Gruß
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,

ist korrigiert... das übliche, was man so vergisst :)

Grüße
Reiner

justme1968

#1662
hallo reiner,

ich habe noch ein problem mit playern die beim wieder anstecken nicht auf present wechseln obwohl sie in der sonos software wieder auftauchen. diese player produzieren events in fhem wenn sie über die app gesteuert werden aber lassen sich aus fhem heraus nicht steuern. es kommt nur die meldung das sie disappeared sind.

wenn ich für das sonos device dieselbe setze und wieder lösche werden die player anschliessend alle sofort gefunden.

aufgetaucht ist das problem als ich von der wifi anbindung auf sonosnet gewechselt bin da ich noch einen CR100 probieren möchte.

der player um den es geht scheint je nach standort zwischen wlan und sonosnet zu wechseln.

hast du eine idee wie man dem problem aud die spur kommt?
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

Reinerlein

Hi Andre,

das ist echt komisch. Da scheint irgendwo eine Nachricht verschluckt zu werden.
Tritt es denn irgendwie reproduzierbar auf?
Dann könnte man mal ein 5er Log laufen lassen, und versuchen, dort den Punkt zu finden.

Wird denn der Player unter dem Reading "presence" als Appeared geführt? Dann wäre es ein alleiniges Problem des SubProzesses, und wir können es nicht auf verlorengegangene Pakete zwischen SubProzess und Fhem schieben :)

Ob der Player per Sonosnet oder direkt per LAN oder WLAN angeschlossen ist, sollte eigentlich vollkommen egal sein, da die Player sich halt melden, und in diesem Augenblick die IP des Players bekannt ist...
Wenn dieser dann nicht unter der Adresse erreichbar ist, dann wird er natürlich vom IsAlive-Prozess als verlorengegangen markiert... dann wäre allerdings auch das Reading Presence auf "disappeared" (wenn nicht doch noch ein Paket Richtung Fhem verlorengegangen ist :) )

Schwierige Sache... da muss man viel Geduld mitbringen, damit sich ein hoher Loglevel mit dem Problem treffen können, und man vielleicht was erkennen kann...
Tut mir leid, wenn ich hier nur gestochere anbieten kann...

Grüße
Reiner

Masterfunk

Hallo Reiner,

habe jetzt mal den Proxy für die AlbumArt eingerichtet. Funktioniert soweit gut, die Bilder stehen super schnell zur Verfügung.
Nach einem "get PlaylistswithCovers" (bei Radio und Favoriten auch) werden allerdings diverse Cover nicht mehr angezeit (Siehe Anhang). Mir ist vollkommen unklar warum. Kannst Du helfen?

Gruß Detlef