Sonos: Neue Features und Bugfixes

Begonnen von Reinerlein, 14 Februar 2015, 16:24:22

Vorheriges Thema - Nächstes Thema

Reinerlein

Hallo zusammen,

so... ich bin mal dazu gekommen, die Sache rund zu machen, und einzuchecken.

Folgendes ist enthalten:

  • Festen Lib-Pfad für Synology-Stations hinzugefügt.
  • Im Modul 21_SONOSPLAYER wurde ein require auf das Modul 00_SONOS eingefügt.
  • Es gibt jetzt einen neuen Setter "ResetAttributesToDefault", mit dem man die Attribute eines Devices auf den Standard beim Anlegen zurücksetzen lassen kann. Die notwendigen Informationen werden frisch vom Player angefordert, und können sich somit, auf den ursprünglichen Anlege-Zeitpunkt bezogen, verändert haben.
  • Ein Fehler bei der Verarbeitung von Devicebeschreibungen wurde in der Datei "Common.pm" des UPnP-Moduls behoben.
  • Es gibt jetzt zwei neue Readings "GroupVolume" und "GroupMute", die automatisch aktualisiert werden. Damit passt jetzt auch die Anzeige des Slider beim Setter "GroupVolume" und die Vorauswahl beim Setter "GroupMute".
  • Fehlermeldungen für Speak wurden erweitert.
  • Bei der Verwendung von "targetSpeakFileHashCache" wird nun auch Digest::SHA versucht, wenn Digest::SHA1 nicht funktioniert.
  • Es gibt zwei neue Reading "currentTrackProvider" und "nextTrackProvider", in dem die 'Quelle' der aktuellen (bzw. nächsten) Wiedergabe abgelegt wird. Damit kann man sich Anzeigen lassen, ob der aktuelle Titel z.B. von Spotify oder aus der hausinternen Bibliothek kommt.
Hervorzuheben sind wohl die neuen Readings "GroupVolume" und "GroupMute", die nun aktiv vom Player geliefert werden, und dafür sorgen, dass man auf der Oberfläche beim Setzen der Werte den aktuellen Wert als Basis hat.

Außerdem die neuen Readings "...TrackProvider". Dazu benötige ich noch die Unterstützung von euch bzgl. der möglichen Anbieter:
Momentan enthalten sind "Radio", "Bibliothek", "Spotify" und "Napster". Zum Hinzufügen von anderen Anbietern benötige ich den Inhalt von currentTrackURI und den Namen des Anbieters.

Und natürlich noch der Wunsch die Attribute zurücksetzen zu können. Die Werte werden frisch vom Player besorgt, und können sich natürlich, bezogen auf den ursprünglichen Erkennungszeitpunkt, verändert haben. Über einen Parameterr kann man steuern, ob vorher alle Attribute entfernt werden sollen...

Wie immer: Gleich im SVN oder ab Morgen im Update...

Grüße
Reinerlein

50watt

Sollten Beispiele für ...TrackProvider noch akzeptiert werden, hier ein paar Beispiele. Würde mich freuen, wenn die noch aufgenommen werden können.

currentTrackProvider: Apple Music Sender: CurrentTrackURI: x-sonosprog-http:song%3a316189317.mp4?sid=204&flags=8224&sn=3
currentTrackProvider: Apple Music Sender: CurrentTrackURI: x-sonosprog-http:song%3a276530119.mp4?sid=204&flags=8224&sn=3
currentTrackProvider: Apple Music Interpret bzw. Album: CurrentTrackURI: x-sonos-http:song%3a990947174.mp4?sid=204&flags=8224&sn=3
currentTrackProvider: Amazon Prime Interpret btw. Album: CurrentTrackURI: x-sonosapi-hls-static:catalog%2ftracks%2fB00X2Z9I76%2f?sid=201&flags=8224&sn=4
currentTrackProvider: Amazon Prime Sender (Wird als "Amoazon Musik" bereits angezeigt): CurrentTrackURI: x-sonosapi-hls-static:catalog%2fstations%2fA9M9LL38AKG6D%2fba8b456d-8911-46f0-a275-f27483008f37%2f0%2f%23chunk%2b0?sid=201&flags=8224&sn=4
RaspberryPi, EnOcean PI
Sonos Play1, Connect
Eltako FT55, FSB61, FAM12, FSR12-4x

Reinerlein

Hi 50watt,

Danke für die Info, aber in der neuen Version wird der Trackprovider aus der von Sonos bereitgestellten MusicServices-Liste (das sind alle die Einträge, die man seinem Sonos-System hinzufügen kann) ermittelt.

Damit sollten wir das Thema ein für alle Mal vom Tisch haben :)

Grüße
Reiner

jual

Erst einmal riesigen Dank für das tolle Modul, welches ich schon recht lange nutze.

Heute ist mir ein kleines Problem in meinem Log-File aufgefallen. Hier tauchen lauter Fehlermeldungen bzgl. "currentTrackProvider" auf.

Use of uninitialized value $trackProviderRoundURL in concatenation (.) or string at ./FHEM/00_SONOS.pm line 7185.
Use of uninitialized value $trackProviderQuadraticURL in concatenation (.) or string at ./FHEM/00_SONOS.pm line 7185.
Use of uninitialized value $trackProviderRoundURL in concatenation (.) or string at ./FHEM/00_SONOS.pm line 7187.
Use of uninitialized value $trackProviderQuadraticURL in concatenation (.) or string at ./FHEM/00_SONOS.pm line 7188.


Wahrscheinlich liegt das daran, dass ich über Alexa und den Sonos Skill z.B. gesagt habe "Alexa, spiele aktuelle Hits im Wohnzimmer". Nachdem die Musik läuft, sieht in dem Sonos Player auch alles ganz gut aus. Nur die Readings "currenTrackProvider..." sind alle leer.

Hier mal eine Track-URI bei der das passiert:

https://d2lg00fehdyg04.cloudfront.net/DigitalMusicDeliveryService/HPS.m3u8?m=m&dmid=281912157&c=cf&f=ts&t=10&bl=256k&s=true&e1=1509471000000&e2=1509471900000&v=V2&h=06d826a330cfeda6deb17f8f96cc17276ae135501f6c1841e0ad1ab4225278ff


Gibt es ansonsten eine Möglichkeit, die Fehlermeldung "auszuschalten", ggf. mit verbose?

Schon mal Danke vorab.

Reinerlein

Hi jual,

das habe ich auch schon bemerkt... ich werde mir das mal anschauen...

Grüße
Reinerlein