Sonos steuern

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

Vorheriges Thema - Nächstes Thema

Ralli

Danke, Reiner.

Gerade hatte ich ein anderes Phänomen:

In dem betreffenden Player hatte ich eine Sonos-Playliste, die auf ein Spotify-Album referenziert, abgespielt. Dann auf Pause. Dann den SWR3-Radiostream aktiviert. Dann mit PlayURITemp ein MP3 eingeschoben.

Nach dem PlayURITemp wurde dann die Playliste wieder abgespielt :), aber nicht der Radio-Stream.

Zu dem Zeitpunkt war der Player übrigens solo unterwegs, nicht Teil einer Gruppe.
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

dantist

Ich versuche mich grade an der Sprachausgabe via Sonos, aber die Lautsprecher bleiben stumm. Folgendes habe ich gemacht:

- targetSpeakDir gesetzt auf /var/www/sonos_tts
- targetSpeakURL gesetzt auf \\192.168.1.10\www\sonos_tts
- Samba-Config angepasst und Gast-Zugang zum www-Share aktiviert

Wenn ich den speak-Befehl ausführe passiert allerdings nichts. Im Log steht folgendes:

Use of uninitialized value $text in substitution (s///) at ./FHEM/00_SONOS.pm line 3499, <$client> line 11.
Use of uninitialized value $text in substitution (s///) at ./FHEM/00_SONOS.pm line 3499, <$client> line 11.
binmode() on closed filehandle MPFILE at ./FHEM/00_SONOS.pm line 3999, <$client> line 11.
print() on closed filehandle MPFILE at ./FHEM/00_SONOS.pm line 4000, <$client> line 11.
Argument "Test" isn't numeric in numeric ne (!=) at ./FHEM/00_SONOS.pm line 4298, <$client> line 11.
Use of uninitialized value $text in substitution (s///) at ./FHEM/00_SONOS.pm line 3499, <$client> line 11.
Use of uninitialized value $text in substitution (s///) at ./FHEM/00_SONOS.pm line 3499, <$client> line 11.
binmode() on closed filehandle MPFILE at ./FHEM/00_SONOS.pm line 3999, <$client> line 11.
print() on closed filehandle MPFILE at ./FHEM/00_SONOS.pm line 4000, <$client> line 11.
Argument "Test" isn't numeric in numeric ne (!=) at ./FHEM/00_SONOS.pm line 4298, <$client> line 11.
Use of uninitialized value $text in substitution (s///) at ./FHEM/00_SONOS.pm line 3499, <$client> line 11.
Use of uninitialized value $text in substitution (s///) at ./FHEM/00_SONOS.pm line 3499, <$client> line 11.
binmode() on closed filehandle MPFILE at ./FHEM/00_SONOS.pm line 3999, <$client> line 11.
print() on closed filehandle MPFILE at ./FHEM/00_SONOS.pm line 4000, <$client> line 11.
Argument "Blubb" isn't numeric in numeric ne (!=) at ./FHEM/00_SONOS.pm line 4298, <$client> line 11.


Hat jemand eine Idee?

Reinerlein

Hi,

@Ralli: Ich habe das bei mir mal versucht nachzustellen. Das klappt alles normal (das bedeutet der Stream wird nach der Unterbrechung wieder angestartet). Wir bräuchten bei dir also mal ein paar Logs (möglichst auf Level 5) bei dem Versuch...

@Dantist: Nach den Logs würde ich sagen, dass du eine falsche Reihenfolge der Parameter hast. Der Speak-Aufruf hat erst eine Lautstärke, dann das Sprachkürzel und anschließend den Text...
z.B.:

set Sonos_Wohnzimmer Speak 15 de Dies ist ein Test

Außerdem solltest du nochmal prüfen, ob das Attribut targetSpeakURL wirklich noch das \www\ im Pfad braucht... aber da ist er ja auch noch gar nicht angekommen...

Grüße
Reiner

dantist

Zitat von: Reinerlein am 24 Juli 2015, 16:25:13
@Dantist: Nach den Logs würde ich sagen, dass du eine falsche Reihenfolge der Parameter hast. Der Speak-Aufruf hat erst eine Lautstärke, dann das Sprachkürzel und anschließend den Text...
z.B.:

set Sonos_Wohnzimmer Speak 15 de Dies ist ein Test

Außerdem solltest du nochmal prüfen, ob das Attribut targetSpeakURL wirklich noch das \www\ im Pfad braucht... aber da ist er ja auch noch gar nicht angekommen...
Hallo Reiner,

danke für die korrekte Syntax. Die Fehlermeldung sieht nun anders aus:

Use of uninitialized value in concatenation (.) or string at ./FHEM/00_SONOS.pm line 3992, <$client> line 11.
binmode() on closed filehandle MPFILE at ./FHEM/00_SONOS.pm line 3999, <$client> line 11.
print() on closed filehandle MPFILE at ./FHEM/00_SONOS.pm line 4000, <$client> line 11.


Das "www" gehört mit in den Pfad, da der Share so heißt und darin die Dateien liegen sollen. Bisher wird aber nicht einmal das mp3 generiert.

Hast du noch eine Idee?

Reinerlein

Hi Dantist,

dann würde ich mal die Dateirechte überprüfen. Das ist meistens das Problem dabei... Genau prüfen, als was fhem bei dir läuft, und dann die Rechte entsprechend anpassen...

Grüße
Reiner

dantist

Zitat von: Reinerlein am 24 Juli 2015, 22:13:45
dann würde ich mal die Dateirechte überprüfen. Das ist meistens das Problem dabei... Genau prüfen, als was fhem bei dir läuft, und dann die Rechte entsprechend anpassen...

Das war es tatsächlich. Um ganz sicher zu gehen, habe ich die Berechtigungen von /opt/fhem auf den neuen Ordner transferiert. Falls es jemanden interessiert, das geht mit

sudo chmod --reference=/opt/fhem /var/www/sonos_tts

Ralli

#1911
Hallo Reiner,

Zitat von: Reinerlein am 24 Juli 2015, 16:25:13
@Ralli: Ich habe das bei mir mal versucht nachzustellen. Das klappt alles normal (das bedeutet der Stream wird nach der Unterbrechung wieder angestartet). Wir bräuchten bei dir also mal ein paar Logs (möglichst auf Level 5) bei dem Versuch...

Ok. Bei mir lässt es sich definitiv dauerhaft reproduzieren.

Worauf brauchst Du ein Verbose 5, auf das Sonos-Device oder den Sonos-Player oder beides?

Noch eine kleine Anregung:
Ich mache jeden morgen ein "Init" auf meine ganzen Player, um einen Standardeinstellung wiederherzustellen. Es wäre hilfreich, wenn für jeden Player jegliche Gruppenzugehörigkeit einfach entfernt werden kann ohne zu wissen, ob überhaupt Gruppen-Mitglieder vorhanden sind und wenn ja, welche.

Ich würde daher gerne das Kommando


set Sonos_.*:FILTER=TYPE=SONOSPLAYER RemoveMember .*


absetzen. Momentan gibt das aber


2015.07.25 07:40:21 1: SONOS0: The Method 'SONOS_getDeviceDefHash' cannot find the FHEM-Device according to '.*'. This should not happen!
2015.07.25 07:40:21 1: SONOS0: The Method 'SONOS_getDeviceDefHash' cannot find the FHEM-Device according to '.*'. This should not happen!
2015.07.25 07:40:22 1: SONOS0: The Method 'SONOS_getDeviceDefHash' cannot find the FHEM-Device according to '.*'. This should not happen!
2015.07.25 07:40:22 1: SONOS0: The Method 'SONOS_getDeviceDefHash' cannot find the FHEM-Device according to '.*'. This should not happen!
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

justme1968

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

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

raspklaus

#1913
Hallo,

wenn ich einen Speaktest im Webinterface starte steht in Log:

2015.07.31 15:19:30 3: SONOS1: Load Google generated MP3 (1. Element) from "http://translate.google.com/translate_tts?tl=de&q=%20Dies%20ist%20ein%20Test." to "/media/SonosSpeak/RINCON_B8E9378B251401400_MR_Speak_20150731-151930.mp31"
2015.07.31 15:19:31 1: SONOS1: MP3 Download-Error: 503 Service Unavailable


Was mache ich falsch ?

Radio musik etc geht

justme1968

#1914
siehe hier: http://forum.fhem.de/index.php/topic,39570.0.html

weiter unten gibt es auch einen mögliche lösung durch ändernd der url. ich glaube nur der &client=t ist relevant.

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

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

Reinerlein

Hallo zusammen,

ich werde am Wochenende eine neue Version einchecken, wo die URL angepasst ist...

Grüße
Reinerlein

MandelHL

Hallo,

ich habe in meiner Log-Datei auch so viele Einträge wie ujaudio geschrieben hatte. Die habe ich aber erst, seit dem ich nach dem Wechsel auf einen neuen RPi Sonos neu installiert habe. Fehlermeldungen scheinen aber nicht zu kommen. Wie kann ich diese ganzen Log-Einträge von der Anzahl her reduzieren?

Danke für Eure Antwort.

MandelHL

raspklaus

Setze verbose auf 0

@ Reinerlein:

Habe gestern upgedatet, aber das speak bringt immer noch Fehlermeldungen und tut nichts

matzemoerk

Kann man den Nachtmodus der Playbar steuern? Entweder bin ich blind und es geht bereits oder ich lasse das mal als Featurewunsch hier stehen.

Grüße,
Matthias

Reinerlein

Hallo zusammen,

@raspklaus: Ich musste es auch erst einchecken, was ich gerade getan habe :)

@Matthias: Was ist das genau für ein Feature? Hast du vielleicht die Möglichkeit zu sniffen, was an der Sonos-Playbar dazu angesteuert wird?
Ich habe keine Playbar, und kann deshalb immer nur bedingt selber raten :) Manchmal geht das, aber eben nicht immer...

Grüße
Reiner