Sonos steuern

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

Vorheriges Thema - Nächstes Thema

Avatar

Hallo Reiner,

ja das habe ich auch bei den beiden Play1 wenn sie als SurroundBox definiert sind.
Ich denke Sonos behandelt die dann etwas anders.

Grüsse
Eric

Tobias

HI Reinerlein,

Konntest du schon das relative "CurrentTrackPosition" einbauen? <liebGuck>
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

octek0815

Hallo,

bei mir wird der Volume Wert nicht mehr aktualisiert.
Egal ob über den Sonos-Controller oder über das FHEM-Sonos Modul.
Was könnte das sein?

Viele Grüße
Olli

Reinerlein

Hi Olli,

du must eines der (max|min)Volume-Attribute setzen. Am Besten also minVolume auf "0" setzen, wenn du eigentlich keine Lautstärkenbeschränkung haben willst...

Wenn du dann auch noch ein Event (z.B. für eine longpoll-Aktualisierung) für jede Änderung möchtest, dann musst du auch noch das Attribut "generateVolumeEvent" auf "1" setzen...

Grüße
Reiner

Tobias

Hi Reinerlein,
Konntest du schon das relative "CurrentTrackPosition" einbauen? Ein "set currentTrackPosition -30" funktioniert irgendwie (noch??) nicht.
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

Reinerlein

Hi Tobias,

ich denke, dass ich die nächsten Tage einchecke. Ich hatte hier bei meinen Änderungen noch einen fiesen Fehler drin, der zum Absturz von Fhem geführt hatte (bzw. zur immerwährenden Blockade). Der ist jetzt erstmal raus, und ich teste das gerade... sieht aber gut aus :)

Grüße
Reiner

Tobias

ahh, alles klar...  ;D
Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

octek0815

Zitat von: Reinerlein am 06 März 2017, 00:10:46
Hi Olli,

du must eines der (max|min)Volume-Attribute setzen. Am Besten also minVolume auf "0" setzen, wenn du eigentlich keine Lautstärkenbeschränkung haben willst...

Wenn du dann auch noch ein Event (z.B. für eine longpoll-Aktualisierung) für jede Änderung möchtest, dann musst du auch noch das Attribut "generateVolumeEvent" auf "1" setzen...

Grüße
Reiner

Hallo Reiner,

vielen Dank für deine prompte Antwort. Ich wollte ich dich mit so einer Lappalie nicht behelligen, da es ja eigentlich sehr gut in der Wiki beschrieben ist.
Nachdem ich das so wie du geschrieben hast umgesetzt habe, funktioniert es auch wieder, obwohl ich es auch vorher so schon mehrfach probiert hatte.
Vielleicht half auch einfach der anschließende Neustart von FHEM.

LG
Olli

PS: Ich bekomme derzeit bei jedem FHEM Start folgende Meldung im Log:
PERL WARNING: Redundant argument in sprintf at ./FHEM/00_SONOS.pm line 572.
Ist glaube ich seit dem 5.8er Update.




elmer

Ich lasse mir auf einem Sonos Lautsprecher ansagen wer gerade anruft.
CallMonitor:.*ring {
  my $number=(ReadingsVal("CallMonitor","internal_number",99));;
  my $Anrufer=(ReadingsVal("CallMonitor","external_number",99));;
  my $AnruferName=(ReadingsVal("CallMonitor","external_name",99));;
  if ($number == 959634) { fhem "set Sonos_Kueche Speak 60 de $AnruferName $Anrufer ruft an";;}}



Jetzt möchte ich das die Ansage auch im Bad gemacht wird, leider bekomme ich keine synchrone Ansage.

Ist es möglich den Sonos im Bad mit in dieses Script aufzunehmen und die Ansage nur in Lautstärke 20 auszugeben und in der Küche mit Lautstärke 60.

Otto123

Hi Elmer,

dazu musst Du einfach vor der Ansage eine Gruppe definieren, sonst funktioniert das synchron nicht.

Allerdings dauert die Gruppierung immer einen Moment.

z.B. mit set <Sonos> Groups, oder set <Player> AddMember ...

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

justme1968

das dauert leider sogar so lange das es für zeitnahe ansagen nicht zu gebrauchen ist.
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

elmer

Die Player hatte ich vorher in eine Gruppe gesteckt
set Sonos Groups [Sonos_Kueche, Sonos_Bad]

Leider klappte die Ansage nur, wenn ich gerade Musik gehört habe, wenn die Musik aus war, bekam ich keine Ansage mehr.

Dann hatte ich eben die Idee, das es vielleicht möglich ist die Ansage auf 2 Sonos auszugeben, in verschiedenen Lautstärken, auch wenn es nicht synchron ist.

Otto123

#2757
Hallo Elmer,

wenn Du den set Sonos Groups Befehl absetzt und danach gleich die Ansage - wird die Ansage "verschwinden". Das Sonos System braucht Zeit zum gruppieren.
Du wirst also entweder einfach Zeit verstreichen lassen "sleep" oder Du musst noch ein Kriterium finden, dass die Gruppierung abgeschlossen ist.

Normal muss die Ansage klappen, egal ob Musik läuft oder nicht. Aber eben nur Ansage.

Wenn Du "überall" Ansage haben willst "wenn Ruhe ist", musst Du irgendwann am Tag "bei Ruhe" alle miteinander gruppieren. Dann kommt die Ansage überall.
Ansonsten machst Du die Ansage dort wo etwas läuft, dann kommt es synchron dort wo es läuft und asynchron wo verschiedenes läuft.

Abfragen könntest Du das über das Reading  transportState  -> ReadingsVal("Sonos_XXX","transportState","") eq "PLAYING

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

elmer

#2758
Ok, muss ich mal am Wochenende in Ruhe noch mal alles testen.

Ich habe aber noch ein Problem, ich habe für meine Frau eine Playlist erstellt, diese lade ich mit PlaylistsWithCovers. Wenn ich nun aber auf das Cover klicke startet die Playlist nicht, bei Favoriten funktioniert es, wenn man auf das Album Cover klickt startet die Wiedergabe.

PS. Irgendwie war bei mir neben den Cover der Name der Playlist nicht vorhanden, jetzt wo dieser angezeigt wird kann man auf den Namen klicken und die Playlist startet.


elmer

Ich habe mir einen Dummy nach dieser Anleitung gemacht, mit diesem sage ich Alexa das Sie eine Playlist starten soll.

define szene_TopHits dummy
attr szene_TopHits alias TopHits
attr szene_TopHits group Szenen
attr szene_TopHits room alexa,sonos_automation
attr szene_TopHits setList on off

Code: [Auswählen]
define TopHits_Sonos_control DOIF ([szene_TopHits] eq "on")(set Sonos_Wohnzimmer StartFavourite TopTracksGER) DOELSEIF ([szene_TopHits] eq "off")(set Sonos_Wohnzimmer EmptyPlaylist)
attr TopHits_Sonos_control room sonos_automation



Das funktioniert auch gut, aber wie kann ich den Dummy wieder ausschalten wenn ich den Sonos am Gerät direkt ausschalte. Wenn ich selbst ausschalte bleibt der Dummy auf on und ich kann beim nächsten mal die Playlist nicht mehr starten mit Alexa.

Ist es möglich wenn sich das Reading vom Sonos von transportState von Play auf PAUSED_PLAYBACK ändert das sich der Dummy dann ausschaltet?