Sonos steuern

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

Vorheriges Thema - Nächstes Thema

aschmid

Hallo Zusammen,

ich versuch gerade mein Sonos dazu zu bewegen meine Türklingel zu spielen. Soweit funktioniert alles.. nur spielt er mein MP3 immer 3 mal ab, anstelle von einmal...
Gibt es hier einen kurzen Tipp.. wo ich nachsehen könnte ?

Aktuell rufe ich das so auf:

define DoorBell_Btn_01_On notify DoorBell_Btn_01 set Sonos_Terrasse PlayURITemp \\homeserver\SonosSpeak\doorbell.mp3 45

Merci

Gruß

Andi

Puschel74

Dein
DoorBell_Btn_01
wird 3 Events generieren.
In den EventMonitor schauen und das gewünschte Event raussuchen und als regexp angeben.
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

raspklaus

Hallo,

vieleicht kann ja einer weiterhelfen, denn ich hänge irgendwie fest

Icxh versuche abhängig von befüllten Readings eine Meldung zu einem bestimmten Zeitpunkt abzugeben. Die MP3s sind in /media/SonosMP3.
Sonos ist definiert:

define Sonos SONOS localhost:4711 30
attr Sonos ignoredIPs 192.168.178.1, 192.168.10.1
attr Sonos room Sonos
attr Sonos targetSpeakDir /media/SonosSpeak
attr Sonos targetSpeakFileTimestamp 1
attr Sonos targetSpeakMP3FileDir /media/SonosMP3
attr Sonos targetSpeakURL \\192.200.100.95\SonosSpeak
attr Sonos verbose 2


Nun zum Notify:

define Removal4Sonos notify Removal4Sonos {\
my $message = "Removal";;;;\
if (ReadingsVal("RemovalBlack", "state", "") eq "on") {$message .= "Black"};;;;\
if (ReadingsVal("RemovalBrown", "state", "") eq "on") {$message .= "Brown"};;;;\
if (ReadingsVal("RemovalBlue", "state", "") eq "on") {$message .= "Blue"};;;;\
if (ReadingsVal("RemovalYellow", "state", "") eq "on") {$message .= "Yellow"};;;;\
if ($message ne "Removal")\
{fhem("at 19:30:00 set Sonos_Buero PlayURITemp $message.mp3 35")}\
}


Die Readings werden gesetzt, das sehe ich aber um 19:30 kommt keine Meldung

Puschel74

#1968
Weil dein at-Befehl falsch aufgebaut ist.
Es fehlt das define und ein beliebiger Name vorne dran aber im Logfile sollte eine Fehlermeldung auftauchen.
Den Rest deines Codes hab ich mir erstmal nicht genauer angeschaut.

Das hat aber nichts mit Sonos zu tun sondern wäre eine simple Anfängerfrage gewesen.
Auserdem wirfst du beim bearbeiten der fhem.cfg ganz schön mit ; um dich aber da ich die fhem.cfg nicht bearbeite kann das durchaus auch passen (aber eher nicht).
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

raspklaus

Also dann so:

Removal4Sonos {
my $message = "Removal";;
if (ReadingsVal("RemovalBlack", "state", "") eq "on") {$message .= "Black"};;
if (ReadingsVal("RemovalBrown", "state", "") eq "on") {$message .= "Brown"};;
if (ReadingsVal("RemovalBlue", "state", "") eq "on") {$message .= "Blue"};;
if (ReadingsVal("RemovalYellow", "state", "") eq "on") {$message .= "Yellow"};;
if ($message ne "Removal")
{fhem("define SonosRemoval at 19:30:00 set Sonos_Buero PlayURITemp $message.mp3 35")}
}


hatte ich übersehen. Es ist einfach zu warm.

Ich editiere schon lange nicht mehr in der config, deshalb kommen die vielen Semicolon und Slashes auch nicht von mir.
Ich hab mir nur das gleiche angewöhnt wie viele hier. Ich definiere das Notify in Krzform, also

define Removal4Sonos notify Removal4Sonos {
attr Removal4Sonos room GarbageRemoval


und paste dann im Webinterface den Rest. Das fügt anscheinend automatisch dann die Semicolon und Slashes hinzu. Ob das so gewollt ist ????????

Puschel74

Im DEF genügt ein ;
Wenn du dort 2 ; eingibst (wozu eigentlich) macht FHEM 4 draus.
Du hast oben aber nicht das DEF gepostet sondern direkt aus der fhem.cfg
Aber auch das hat nichts mit Sonos zu tun.
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

ujaudio

Ich habe heute mal eine Frage, von der ich glaubte sie sei schon mal gestellt worden, ich konnte aber nichts dazu finden.
Wie wählt man via FHEM an der Connect den Aux-Eingang an - und wie kommt man dann wieder zurück auf die Musikbibliothek oder Radio?
Einen lieben Gruß
Jürgen

raspklaus

Ja, ich hatte den Abschnitt direct aus der conf kopiert. Die Def hatte ich aus einem anderen Threat übernommen, warum er da zwei ;; benutzt hatte kann keiner mehr nachvollziehen.

Da aber der Rest funktioniert, ich sehe die befüllten Variablen mit Hilfe von Hilfsdummys muss die fehlende Sprachausgabe ja an

define SonosRemoval at 19:30:00 set Sonos_Buero PlayURITemp $message.mp3 35

liegen und das ist ein Sonos Thema

Puschel74

Zitat von: raspklaus am 11 August 2015, 19:58:05
define SonosRemoval at 19:30:00 set Sonos_Buero PlayURITemp $message.mp3 35
liegen und das ist ein Sonos Thema
Nein ist es nicht.

$message.mp3 wird auch Sonos nicht abspielen.
Du baust die Übergabe einfach nur falsch zusammen.
{fhem("define SonosRemoval at 19:30:00 set Sonos_Buero PlayURITemp ".$message.".mp3 35")}
sollte eher zum Ziel führen.

Schaust du eigentlich auch mal ins FHEM-Logfile  ???
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

ujaudio

Eigentlich traue ich mich ja gar nicht zu fragen, 1 Stunde lang gelesen und wenig kapiert  :(
Es gibt eine readingsGroup "mm_sonos_WohnzimmerRG" (so heißt die bei mir) mit der Definition
mm_sonos_Wohnzimmer:<{SONOS_getCoverTitleRG($DEVICE)}@infoSummarize2>
die eine Ausgabe wie im ersten Bild liefert.
Wenn ich diese in meinen Flooplan einbringe, dann sieht die Ausgabe etwas anders aus (Bild2).

Ich möchte aber den Text gar nicht haben, sondern nur das Bild. Aber ich habe es nicht geschafft. Ich habe es mit InfoSummarize4 versucht, was ja leer ist und habe auch das sonos-device disabled/enabled um hier einen "Neustart" zu erzeugen. Aber so geht es wohl nicht.

Über einen Tipp würde ich mich freuen.
Einen lieben Gruß
Jürgen

raspklaus

Ich schaue ins Logfile, aber da steht nichts von der Aktion

Puschel74

Zitat von: raspklaus am 11 August 2015, 21:21:21
Ich schaue ins Logfile, aber da steht nichts von der Aktion
Freut mich (ich weiß aber nicht wo du im Logfile geschaut hast) aber mein Beispiel hast du auch nicht versucht, oder?
Aber egal.
Deine Versuche sind kein Sonso-Problem sondern ein Anfängerproblem daher wäre es besser (zumindest für den Sonso_thread hier) wenn du unter Anfängerfragen nochmal anfangen würdest.
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

ujaudio

Eigentlich traue ich mich ja gar nicht zu fragen, 1 Stunde lang gelesen und wenig kapiert  :(
Es gibt eine readingsGroup "mm_sonos_WohnzimmerRG" (so heißt die bei mir) mit der Definition
mm_sonos_Wohnzimmer:<{SONOS_getCoverTitleRG($DEVICE)}@infoSummarize2>
die eine Ausgabe wie im ersten Bild liefert.
Wenn ich diese in meinen Flooplan einbringe, dann sieht die Ausgabe etwas anders aus (Bild2).

Ich möchte aber den Text gar nicht haben, sondern nur das Bild. Aber ich habe es nicht geschafft. Ich habe es mit InfoSummarize4 versucht, was ja leer ist und habe auch das sonos-device disabled/enabled um hier einen "Neustart" zu erzeugen. Aber so geht es wohl nicht.

Über einen Tipp würde ich mich freuen.

So, jetzt hat es auch mit den Bildern geklappt - entschuldigt bitte das Duplikat.
Einen lieben Gruß
Jürgen

dantist

#1978
Ich habe grade ein Problem mit dem Unterbrechen von per "Speak"-Befehl abgespielten Dateien.

Folgendes Szenario:
- Sonos läuft nicht
- Aktion 1 triggert ein Speak
- Bei Aktion 2 soll das laufende Speak unterbrochen und ein Radiosender gestartet werden.

Das klappt nur hin und wieder. Wenn ich das Speak gegen Ende des vorzulesenden Textes unterbreche, sehe ich in der offiziellen Sonos-App, wie vom fhem MP3 kurz zum Radiosender gewechselt wird und dann plötzlich ein Titel angezeigt wird, der VOR dem speak-Befehl eingestellt war.

Kann es sein, dass der speak-Befehl am Ende versucht, den ursprünglichen Zustand wiederherzustellen und dabei den "StartRadio"-Befehl unterbricht? Lässt sich das irgendwie umschiffen? Ein "Stop" vor dem "StartRadio" löst es jedenfalls nicht.

ujaudio

Beim Versuch meine Floorplanausgabe hinzubekommen komme ich in kleinsten Schritten weiter, aber wenn ich die verschiedenen Attribute der readingsGroup verwenden möchte, muss ich die Bezeichner der einzelnen Readings kennen.

Die readingsGroup "mm_sonos_<Meinzimmer>_RG hat wohl 5 Elemente:
Die Grafik, sowie 4 Textfelder.

Wenn ich die 4 Bezeichner kennen würde, dann hoffe ich mit den diversen Attributen die Ausgabe in meinem Sinn formatieren zu können.
Einen lieben Gruß
Jürgen