Sonos steuern

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

Vorheriges Thema - Nächstes Thema

mandeloh

Danke Reinerlein,

Gruppe bei 00_SONOS.pm ist "root", Eigentümer auch. Rechte sind 0644.

Im Ordner SonosSpeak sind keine Dateien. Die Gruppe ist ebenfalls "root", Eigentümer auch. Rechte sind hier 0755.

Was müsste ich hier ändern?

Danke für Deine Unterstützung.

MandelHL

Reinerlein

Hi MandelHL,

du musst halt schauen, als was dein Fhem läuft. Das muss dann zu den Dateierechten passen.

Wenn du ein

ps aux | grep perl
ausführst, siehst du, unter welchem Namen Fhem läuft...

Das der Ordner "SonosSpeak" leer ist, unterstützt meine Theorie...

Grüße
Reiner

MandelHL

Danke für Deine Unterstützung. Ich habe die Gruppe von 00_SONOS.pm auf dialout [20] und Eigentümer auf fhem [999] geändert.
Das entspricht den Eingaben der anderen Dateien.
Dein Befehl ergibt folgendes Ergebnis:
root@raspberrypi:~# ps aux | grep perl
fhem      3545  6.1  5.6  81804 54020 ?        Sl   23:46   0:44 /usr/bin/perl .                  /FHEM/00_SONOS.pm 4711 3 0
fhem      3549  2.4  4.0  40292 38216 ?        S    23:46   0:16 /usr/bin/perl f                  hem.pl fhem.cfg
root      3591  0.0  0.1   3552  1824 pts/0    S+   23:58   0:00 grep perl


Eine Sprachausgabe erhalte ich noch immer nicht.

Ich muss aber auch feststellen, dass ich bei Eingabe von 'set Sonos_Kueche Speak 45 de Hallo, hörst Du was?' keine Infos geloggt bekomme.

Allerdings wird auch weiterhin keine Datei angelegt. Ich kann aber auch die Rechte des Ordners \mnt nicht ändern.

Gibt es weitere Dateien, deren Rechte ich ändern muss? Oder was kann ich noch machen?

Dankeschön
MandelHL

Ralli

Hallo Reinerlein,

bei mir besteht immer noch das Problem, dass nach dem PlayURITemp bspw. von einem Alarm-Ton oder auch von einer Sprachdurchsage der vorher abgespielte Radio-Stream nicht weiter fortgesetzt wird. Stattdessen spielt der Player danach die Liste ab, die für ihn eingestellt ist (bzw. nichts, wenn die Liste leer ist).

Wenn mich meine Beobachtungen nicht täuschen, macht es einen Unterschied, ob der Radio-Stream per StartFavourite oder per StartRadio bzw. LoadRadio / Play gestartet wurde!

Wenn per StartFavourite (oder aus dem Sonos-Controller aus den Favouriten) gestartet, klappt es mit dem Wieder-Abspielen des Streams, wenn per StartRadio gestartet, klappt es nach dem PlayURITemp nicht mehr!
Gruß,
Ralli

Proxmox 8.4 Cluster mit HP ED800G2i7, Intel NUC11TNHi7+NUC7i5BNH, virtualisiertes fhem 6.4 dev, virtualisierte RaspberryMatic (3.83.6.20250705) mit HB-RF-ETH 1.3.0 / RPI-RF-MOD, HM-LAN-GW (1.4.1) und HMW-GW, FRITZBOX 7490 (07.59), FBDECT, Siri und Alexa

MacDad

Moin,

habe die Woche zwei meiner Boxen (Küche und Schlafzimmer) ins Wohnzimmer gepackt und diese als Stereo-Pärchen zusammen geführt.
Unser FHEM sehe ich aber weiterhin die "alten" Einstellungen, Küche und Schlafzimmer  :'(

Was muss ich hier ändern, um die NEUE Zuordnung der Boxen zu sehen?
Kann ich die Boxen "einfach" löschen?

Danke für Deine Zeit, Gruß Dirk
RPI 2 mit FHEM 5.8
FB 7390 OS 6.83 | Synology DS 214+ DSM
VU+: 1 x Solo4k & 2 Solo2 VTi 11.xx.xx
SONOS: BRIDGE | 8x PLAY:1 | 1x PLAY:5 | 1x SUB Vers. 8.1.1
HMLAN: HM-Sec-SC-2 |-Sec-RHS |-CC-RT-DN |-LC-Bl1PBU-FM |-LC-Sw1PBU-FM |-LC-Sw1-FM |-ES-PMSw1-Pl |-WDS10-TH-O |-PBI-4-F

WumpE

#2210
Ich habe auch ein ähnliches Problem wie Mandel

LOG:
Zitat2015.11.13 07:24:00 3: SONOS1: Event: End of Transport-Event for Zone "SS_SONOS_Kueche".
2015.11.13 07:24:05 3: SONOS1: Event: Received Transport-Event for Zone "SS_SONOS_Kueche".
2015.11.13 07:24:05 3: SONOS1: Event: End of Transport-Event for Zone "SS_SONOS_Kueche".
2015.11.13 07:24:09 3: SONOS1: Event: Received Transport-Event for Zone "SS_SONOS_Kueche".
2015.11.13 07:24:09 3: SONOS1: Event: End of Transport-Event for Zone "SS_SONOS_Kueche".
2015.11.13 07:24:13 3: SONOS1: Event: Received Transport-Event for Zone "SS_SONOS_Kueche".
2015.11.13 07:24:13 3: SONOS1: Event: End of Transport-Event for Zone "SS_SONOS_Kueche".
2015.11.13 07:24:15 3: SONOS1: Load Google generated MP3 (1. Element) from "http://api.voicerss.org/?key=XXXXXXXXXXXXXXXX&hl=de-de&f=16khz_8bit_mono&src=%20Das%20ist%20ein%20Text%20zum%20testen" to "/opt/fhem/SonosSpeak/RINCON_B8E937E5C09C01400_MR_Speak.mp31"
2015.11.13 07:24:16 3: SONOS1: Combine loaded chunks into "/opt/fhem/SonosSpeak/RINCON_B8E937E5C09C01400_MR_Speak.mp3"
2015.11.13 07:24:16 3: SONOS1: Start temporary playing of "\\10.10.10.11\SonosSpeak\RINCON_B8E937E5C09C01400_MR_Speak.mp3"
2015.11.13 07:24:17 3: SONOS1: Event: Received Transport-Event for Zone "SS_SONOS_Kueche".
2015.11.13 07:24:17 3: SONOS1: Event: End of Transport-Event for Zone "SS_SONOS_Kueche".
2015.11.13 07:24:17 3: SONOS1: Event: Received GroupRendering-Event for Zone "SS_SONOS_Kueche".
2015.11.13 07:24:17 3: SONOS1: Event: End of GroupRendering-Event for Zone "SS_SONOS_Kueche".
2015.11.13 07:24:17 3: SONOS1: Event: Received Rendering-Event for Zone "SS_SONOS_Kueche".
2015.11.13 07:24:17 3: SONOS1: Event: End of Rendering-Event for Zone "SS_SONOS_Kueche".
2015.11.13 07:24:17 3: SONOS1: Event: Received Transport-Event for Zone "SS_SONOS_Kueche".
2015.11.13 07:24:17 3: SONOS1: Event: End of Transport-Event for Zone "SS_SONOS_Kueche".
2015.11.13 07:24:18 3: SONOS3: Restorethread has found a job. Waiting for stop playing...
2015.11.13 07:24:18 3: SONOS0: Connection accepted from localhost:43021
2015.11.13 07:24:19 3: SONOS3: Restoring playerstate...
2015.11.13 07:24:22 3: SONOS1: Event: Received Transport-Event for Zone "SS_SONOS_Kueche".
2015.11.13 07:24:22 3: SONOS3: Playerstate restored!
2015.11.13 07:24:22 3: SONOS1: Event: End of Transport-Event for Zone "SS_SONOS_Kueche".
2015.11.13 07:24:22 3: SONOS1: Event: Received GroupRendering-Event for Zone "SS_SONOS_Kueche".
2015.11.13 07:24:22 3: SONOS1: Event: End of GroupRendering-Event for Zone "SS_SONOS_Kueche".
2015.11.13 07:24:22 3: SONOS1: Event: Received Rendering-Event for Zone "SS_SONOS_Kueche".
2015.11.13 07:24:22 3: SONOS1: Event: End of Rendering-Event for Zone "SS_SONOS_Kueche".
2015.11.13 07:24:22 3: SONOS1: Event: Received Transport-Event for Zone "SS_SONOS_Kueche".

ZitattargetSpeakDir /opt/fhem/SonosSpeak
targetSpeakFileTimestamp 1
targetSpeakMP3FileDir /opt/fhem/SonosSpeak
targetSpeakURL \\10.10.10.11\SonosSpeak

folgende set abgesetzt mit gleichem Ergebnis:

set SS_SONOS_Kueche Speak 40 de-de test text zum probieren
AUSGABE: lastActionResult = PlayURITemp: Error! UPnP-Fault-Fields: Code: "s:Client", String: "UPnPError", Actor: "-", Detail: "{UPnPError => {errorCode => 701}}"

set SS_SONOS_Kueche PlayURITemp waschmaschine.mp3 40
AUSGABE: lastActionResult = PlayURITemp Success -> hören tut man nichts

set SS_SONOS_Kueche Speak 40 de-de |waschmaschine| test text
AUSGABE: lastActionResult = PlayURITemp: Error! UPnP-Fault-Fields: Code: "s:Client", String: "UPnPError", Actor: "-", Detail: "{UPnPError => {errorCode => 701}}"

Ich lasse die mp3 mit voicerss erzeugen, das funktioniert auch und die mp3 ist mit zeitstempel vorhanden. Die waschmaschine.mp3 ist eine umbenannte vorher erzeugte mp3 von voicerss. Wenn ich sie mit VLC abspiele wird der text auch vorgelesen.

Auf die smb freigabe hat jedes gerät zugriff habe ich mit 2. lappi und Handy getestet.

vielleicht hat ja noch einer eine Idee

Gruß Stefan

UPDATE Fehler gefunden
wenn man beim Samba noch eine 2te Freigabe hat scheint das weglassen des Globalen Parameters security = share nicht zu gehen.
Ich habe es jetzt explizit angegeben und es geht
Über Mich: Stefan, Informatiker, Systementwicklung Prozessleittechnik
Server: NUC7i5 - Debian Docker
Container: FHEM,DEBMATIC,EMQX,NODERED,SONOS2MQTT,TRAEFIK,HOMEBRIDGE,DECONZ
Aktoren/Sensoren: HM-RF, HM-IP, EnergyCam, Shelly, MiLight, Hue, SONOS, OEG KMS-D+, Echo's, Worx
Frontends: Smartvisu 2.9

dev0

Zitat von: mandeloh am 12 November 2015, 23:00:42
Im Ordner SonosSpeak sind keine Dateien. Die Gruppe ist ebenfalls "root", Eigentümer auch. Rechte sind hier 0755.
Zitat von: MandelHL am 13 November 2015, 00:09:50
fhem      3549  2.4  4.0  40292 38216 ?        S    23:46   0:16 /usr/bin/perl f                  hem.pl fhem.cfg
Allerdings wird auch weiterhin keine Datei angelegt. Ich kann aber auch die Rechte des Ordners \mnt nicht ändern.
Der user fhem benötigt Schreibrechte in /mnt/SonosSpeak, da führt kein Weg dran vorbei. Und die Sonos Player benötigen mit ihrem Account mindestens lesenden Zugriff auf das Share.

Reinerlein

Hi MacDad,

am einfachsten ist es wohl, wenn du die beiden Player aus Fhem herauslöschst.
Dazu Config speichern, Fhem beenden, in der Config-Datei die beiden Player komplett mit den Attributen entfernen, und Fhem wieder starten...

Dann sollte die beiden fehlenden Player neuangelegt werden, und dann auch die passenden Namen zur neuen Konstellation erhalten.

Der andere Weg ist, die Fhem-Devices einfach umzubenennen. Dabei musst du aber u.U. die userReadings und andere Dinge mit anpassen...

Grüße
Reiner

MacDad

#2213
Moin Reiner,

OK, Danke für die Info.
Werde es am WE ausprobieren und dann wieder berichten.
Spiele gerade mit mehreren Playern in einem Raum rum um div. Einstellungen zu testen.

Gruß Dirk


EDIT sagt Danke Reiner, hat alles wunderbar geklappt  :)

Gruß Dirk
RPI 2 mit FHEM 5.8
FB 7390 OS 6.83 | Synology DS 214+ DSM
VU+: 1 x Solo4k & 2 Solo2 VTi 11.xx.xx
SONOS: BRIDGE | 8x PLAY:1 | 1x PLAY:5 | 1x SUB Vers. 8.1.1
HMLAN: HM-Sec-SC-2 |-Sec-RHS |-CC-RT-DN |-LC-Bl1PBU-FM |-LC-Sw1PBU-FM |-LC-Sw1-FM |-ES-PMSw1-Pl |-WDS10-TH-O |-PBI-4-F

Elektrolurch

Hallo Reinerlein,

noch Mal das Thema "Umschaltung auf externe Quelle":

Irgend etwas mache ich da falsch. So sieht das dann im log aus:

2015.11.13 18:15:59 2: main::SonosCC_Set: set Sonos_Marinas_Zimmer PlayURI Sonos_Marinas_Zimmer
2015.11.13 18:15:59 0: SONOS1: URI: x-rincon-stream:RINCON_000E5851F77201400
2015.11.13 18:15:59 0: SONOS1: Meta: <DIDL-Lite xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/" xmlns:r="urn:schemas-rinconnetworks-com:metadata-1-0/" xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/"><item id="" parentID="" restricted="true"><dc:title></dc:title><upnp:class>object.item.audioItem.musicTrack</upnp:class><desc id="cdudn" nameSpace="urn:schemas-rinconnetworks-com:metadata-1-0/">RINCON_AssociatedZPUDN</desc></item></DIDL-Lite>
2015.11.13 18:16:00 2: main::SonosCC_Player_notSonos_Marinas_Zimmer: LastActionResult: cmd PlayURI res PlayURI: Success!


Der Ton des angeschlossenen SAT-Receivers kommt nicht. Offensichtlich scheint das mit dem Raumnamen so nicht zu funktionieren, da wird irgendwie wohl eine URL erwartet.

Dann zur Info:
Habe mir jetzt zwei Play1 gekauft. Schön kompakt und sind vom Sound ok. Habe die über die SonosApp zu einem Stereo-Paar vereint.
Das sieht dann im fehm so aus:
Sonos_Arbeitszimmer
Sonos_Arbeitszimmer_RF

Ich hatte die zuerst im SonosController als Arbeitszimmer-links und Arbeitszimmer-rechts angelegt.
Nach der Vereinigung habe ich dann den Arbeitszimmer-link nach Arbeitszimmer umbenannt und dann fhem gestartet.
Sonos nennt den slave automatisch um nach Sonos_Arbeitszimmer_RF .
Den muss man in notifys in fhem dann ignorieren und immer nur mit dem Master sprechen, also mit "Arbeitszimmer".
Beim ersten Neustart des Pärchens kam dann allerdings nur der Master. Erst als ich den Controller aufgerufen habe, wurde der Slave des Pärchens dann auch atom. zugeschaltet.
Jetzt scheint aber die Info dauerhaft gespeichert zu sein, denn das Pärchen startet jetzt immer automatisch gruppiert.

Gruß

Elektrolurch
configDB und Windows befreite Zone!

Reinerlein

Hallo Elektrolurch,

eigentlich sieht das im Log erstmal gut aus. In der URI-Angabe steht eine RINCON-Adresse. Ist das denn die von dem Player selbst?
Funktioniert die Wiedergabe denn, wenn du das über den Controller machst?
Was für ein Player ist es denn?

Zu den Pärchen: Ich habe hier keins laufen, und kann dementsprechend nicht sagen, wie die sich beim anschalten zwischendurch melden. Ich denke mal, einer von beiden ist ja nunmal der erste, und müsste dann auf den anderen warten... ich gehe mal davon aus, dass er sich dann schon mal meldet, da er ja nicht weiß, ob der andere noch kommen wird.
Wenn der andere dann da ist, bauen die sich entsprechend um und melden dass dann auch...

Allerdings sollte das Modul keine Fhem-Devices umbenennen. Das kann es eigentlich auch nicht, sondern nur neuanlegen oder updaten. Es gibt allerdings Readings, die den aktuellen Zustand im Pärchen oder im Satellitenverbund widerspiegeln. Die werden natürlich korrekt gesetzt...

Mit den Notifies hast du recht. Allerdings ist es bei der Steuerung egal, welchen du ansprichst. Das Modul sendet die Befehle automatisch korrekt an den Master (das gilt ja auch für andere Gruppen oder Satelliten wie bei der Playbar).

Grüße
Reiner

MandelHL

#2216
Danke zusammen. Ich bin schon einen Tick weiter gewesen. Mit dem Befehl "set Sonos_Kueche Speak 45 de Hallo, hörst Du was?" kommt der Satz aus dem Lautsprecher ... Aber auch nicht immer, sondern nur manchmal. Wenn ich die Sprachausgabe über den Wohnzimmerlautsprecher ausgeben möchte, passiert nichts. Eben ging's, jetzt nicht mehr. Deshalb habe ich jetzt meine alten Dateien genommen, die auf dem alten RasPi funktioniert hatten.

Kann noch mal bitte jemand helfen? Danke.

Gestartet bekomme ich die jeweilige Musik über das WI von FHEM.

2015.11.14 20:19:30 1: SONOS0: Kein UPnP-Server gefunden... Starte selber einen und warte 1 Sekunde(n) darauf...
2015.11.14 20:19:30 1: HMLAN_Parse: HMLAN1 new condition ok
2015.11.14 20:19:31 3: CUL_HM set Markise statusRequest
2015.11.14 20:19:31 3: Opening Sonos device localhost:4711
2015.11.14 20:19:31 3: Can't connect to localhost:4711: Connection refused
Current: "./FHEM/00_SONOS.pm", gPath: ""
2015.11.14 20:19:32 0: SONOS0: Can't bind Port 4711: Bind failed: Address already in use at ./FHEM/00_SONOS.pm line 7856.

2015.11.14 20:19:32 0: SONOS0: Retries left (wait 30s): 9
2015.11.14 20:19:32 3: CUL_HM set SchalterBeleuchtungVorgarten statusRequest
2015.11.14 20:19:33 3: CUL_HM set Schuppen_Garten statusRequest
2015.11.14 20:20:02 0: SONOS0: Can't bind Port 4711: Bind failed: Address already in use at ./FHEM/00_SONOS.pm line 7856.

2015.11.14 20:20:02 0: SONOS0: Retries left (wait 30s): 8
2015.11.14 20:20:32 1: SONOS0: ./FHEM/00_SONOS.pm is listening to Port 4711

mandeloh

UPDATE: Sprachausgabe funzt jetzt wieder. Danke.

raspklaus

#2218
Ich weiss nicht ob ich hier richtig bin. Ein Threat mit 150 Seiten, da sieht man den Wald vor lauter Bäumen nicht mehr.

Ich habe Sonos definiert und mit den Attributen aus dem Wiki versehen:

define Sonos SONOS localhost:4711 30
attr Sonos ignoredIPs 192.168.178.1, 192.168.10.1, 192.168.178.2, 192.200.100.165
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 1


Die beiden Verzeichnisse SonosSpeak und SonosMP3 sind angelegt und haben jeweils die Berechtigung 777

Samba ist auch eingerichtet:

[SonosSpeak]
  comment = Audio-Files for SonosPlayer to Speak
  read only = false
  path = /media/SonosSpeak
  guest ok = yes


Ein

set Sonos_Buero Speak  45 de Hier dann die Textnachricht, wie sie auf dem Player ausgegeben werden soll.

bringt auch die gewünschte Sprachausgabe, wenn auch mit starker Verzögerung, und speichert sie im SonosSpeak Verzeichnis ab.

Im SonosMP3 Verzeichnis liegen folgende Dateien:

RemovalBlack.mp3
RemovalBlackYellow.mp3
RemovalBlue.mp3
RemovalBlueYellow.mp3
RemovalBrown.mp3
RemovalBrownYellow.mp3
RemovalYellow.mp3
Trockner.mp3
Waschmaschine.mp3


Wenn ich nun ein:

set Sonos_Buero PlayURITemp \\192.200.100.95\media\SonosMP3\RemovalYellow.mp3 50

absetze dann passiert nichts.

Auch ein:

set Sonos_Buero PlayURITemp RemovalYellow.mp3 50

bringt keinen Erfolg

Das Log sagt folgendes:

2015.11.15 14:46:48 3: SONOS1: Start temporary playing of "\\192.200.100.95\media\SonosMP3\RemovalYellow.mp3"
2015.11.15 14:46:49 3: SONOS1: Event: Received Transport-Event for Zone "Sonos_Buero".
2015.11.15 14:46:49 3: SONOS1: Event: End of Transport-Event for Zone "Sonos_Buero".
2015.11.15 14:46:49 3: SONOS1: Event: Received GroupRendering-Event for Zone "Sonos_Buero".
2015.11.15 14:46:49 3: SONOS1: Event: End of GroupRendering-Event for Zone "Sonos_Buero".
2015.11.15 14:46:49 3: SONOS1: Event: Received Rendering-Event for Zone "Sonos_Buero".
2015.11.15 14:46:49 3: SONOS1: Event: End of Rendering-Event for Zone "Sonos_Buero".
2015.11.15 14:46:49 3: SONOS1: Event: Received Transport-Event for Zone "Sonos_Buero".
2015.11.15 14:46:49 3: SONOS1: Event: End of Transport-Event for Zone "Sonos_Buero".
2015.11.15 14:46:50 3: SONOS3: Restorethread has found a job. Waiting for stop playing...
2015.11.15 14:46:51 3: SONOS3: Restoring playerstate...
2015.11.15 14:46:51 3: SONOS1: Event: Received Transport-Event for Zone "Sonos_Buero".
2015.11.15 14:46:51 3: SONOS1: Event: End of Transport-Event for Zone "Sonos_Buero".
2015.11.15 14:46:51 3: SONOS1: Event: Received Rendering-Event for Zone "Sonos_Buero".
2015.11.15 14:46:51 3: SONOS3: Playerstate restored!
2015.11.15 14:46:51 3: SONOS1: Event: End of Rendering-Event for Zone "Sonos_Buero".
2015.11.15 14:46:51 3: SONOS1: Event: Received GroupRendering-Event for Zone "Sonos_Buero".
2015.11.15 14:46:51 3: SONOS1: Event: End of GroupRendering-Event for Zone "Sonos_Buero".
2015.11.15 14:46:51 3: SONOS0: Connection accepted from localhost:44519
2015.11.15 14:47:21 3: SONOS0: Connection accepted from localhost:44523
2015.11.15 14:47:54 3: SONOS0: Connection accepted from localhost:44535
2015.11.15 14:48:24 3: SONOS0: Connection accepted from localhost:44539
2015.11.15 14:48:57 3: SONOS0: Connection accepted from localhost:44548
2015.11.15 14:49:27 3: SONOS0: Connection accepted from localhost:44553
2015.11.15 14:50:00 3: SONOS0: Connection accepted from localhost:44563

Reinerlein

Hi raspklaus,

das mit dem selber-abspielen der Dateien im MP3-Ordner geht auch nur, wenn du dafür eine eigene Samba-Freigabe einrichtest., wie du es ja für SonosSpeak auch gemacht hast...

Du kannst mal versuchen, diese Dateien in die Sprachausgabe einzubetten (wofür sie ja vielleicht auch gedacht sind):

set Sonos_Buero Speak 45 de Hier die Textnachricht mit |Trockner| Einbettung.


Grüße
Reiner