Unterstützung für Sonos-Geräte
Hallo zusammen ![]()
Diese Funktion wird häufig nachgefragt (Top 5 der Wünsche), aber man muss leider feststellen, dass sich niemand daran macht ![]()
Meine persönliche Meinung ist, dass wir vielleicht zu gierig und ehrgeizig waren, was die verschiedenen gewünschten Funktionen in diesem Thema angeht.
Wenn ich die verschiedenen Anfragen lese, muss man im Grunde die gesamte Sonos-App in Gladys neu programmieren (vollständiger Musikplayer, Playlist-Verwaltung, Quellenverwaltung) und zusätzlich Nebenfunktionen hinzufügen (Musik in Szenen, TTS, etc.).
Aber Sonos hat 2022 einen Umsatz von 1,7 Milliarden Dollar gemacht ![]()
… Und wir erwarten, dass ein Unbekannter dieses Thema übernimmt und das Ganze besser umsetzt ![]()
Kommen wir auf den Boden der Tatsachen zurück
Ich schlage vor, dass wir bei diesem Thema von vorne beginnen (auch wenn wir alle alten Nachrichten löschen müssen) und beschreiben, was eine minimale Sonos-Integration wäre.
Im Grunde eine kleine Liste der verschiedenen Grundfunktionen, die in Gladys nützlich wären und nur einige Tage/Wochen Entwicklungszeit in Anspruch nehmen würden.
Alles, was mit Musikplayer usw. zu tun hat, vergessen wir mal.
Wer Sonos bereits mit Gladys über Node-RED nutzt, was macht ihr damit? ![]()
Freue mich auf euer Feedback!
Meine Nutzung:
Du tts und Radio
Meine Sonos-Geräte haben Sprachassistenten, um Musik abzuspielen.
Meine zukünftige Nutzung (wie bei Gladys v3)
Anzeigen und Play, Pause, Next, Previous mit einem Widget, um sie auf den Wandtablets zu steuern, wenn viele Leute da sind (und sie nicht „ok Google“ sagen).
Ok! Welche API nutzt du aktuell für TTS?
das ist auf jeden Fall machbar ![]()
Weitere Rückmeldungen?
Oui TTS,
wir hatten diesen Tutorial mit @spenceur gemacht, um zu einem bestimmten Zeitpunkt über die Szenen Ton zu übertragen.
- Möglichkeit, einen Ton (Sirenen, Hundegebell, …) herunterzuladen
- Madame nutzt die Sonos-App überhaupt nicht, daher wäre es für sie gut, die Möglichkeit zu haben, die Musik auf dem Wandtablett abzuspielen.
Ja, das hatte ich gesehen, aber ich habe nicht herausgefunden, welche API ihr verwendet. Das wird im Tutorial nicht erwähnt. Wenn ich die Dokumentation von ultimate-tts lese, sprechen sie von vielen verschiedenen APIs (AWS Polly, Google, etc…)
Das denke ich allerdings nicht, dass das möglich ist. Tut mir leid, aber die Sonos-App neu zu programmieren, ist einfach unrealistisch, wie ich in meiner Nachricht gesagt habe ![]()
Hallo zusammen !!
Nach dem Live-Stream von heute (Live-Coding der Sonos-Integration), hier die Wiederholung:
Ein Docker-Image ist verfügbar, um diese Integration zu testen.
Ich freue mich über jedes Feedback, bevor ich diese Integration veröffentliche ![]()
Ich konnte insbesondere die Multi-Raumfunktion nicht testen, da ich nur eine Sonos-Box habe !
Das Docker-Image:
gladysassistant/gladys:sonos-integration
Wie starte ich ein Test-Image? → Tutoriel: Lancer une image Docker de test
Leider habe ich keine Sonos-Box zum Testen.
Aufruf an einen großzügigen Spender
, ausschließlich zu Debugging-Zwecken !!!
Super das Live-Event, ich habe es in kleinen Häppchen verfolgt, aber es ist super interessant und belebt die Community ![]()
Ich habe meine auf Leboncoin gekauft, die Sonos One Gen 2 für 150€, quasi neu (229€ neu verkauft)
Ansonsten haben sie ein Black-Friday-Angebot, wie auf ihrer Website während des Livestreams gesehen ![]()
Und ja, ich hoffe, das inspiriert andere !!
Ich kann es kaum erwarten, es auszuprobieren. Ich werde sehen, ob ich am Sonntag Zeit habe, etwas zu tun. Ich habe einen Pi3 auf Lager.
Ich werde das Multi-Room-Audio-System testen, wenn möglich.
- Im Entdecker-Tab gibt es den Raumauswahl, aber man kann nichts auswählen, ist das wirklich nützlich?
- Gladys holt den „Raumnamen“ aus der Sonos-App und setzt ihn in den „Gerätenamen“ ein. In der App ist das Produkt tatsächlich erwähnt, können diese Informationen abgerufen werden?
- Wenn man die Seite wechselt und zur Dashboard zurückkehrt, auf der sich die Musikbox befindet, springt der Lautstärkeregler immer wieder auf 50% zurück (nicht immer, ich konnte den Fehler nicht systematisch reproduzieren).
- Wenn man auf Pause drückt, wird der Play-Button nicht angezeigt, um die Musik wieder zu starten.
- Was die Gerätekennung betrifft, erkennt sie Ihre Konfiguration in der App. Ich habe eine Gruppe aus 2 Play 1, einer Playbar und einem Sub in der App und in Gladys ebenfalls. Sie hat sogar meinen Sonos Port von meiner Plattenspieler entdeckt.
Alles funktioniert für mich.
Hier ist die Reihenfolge:
System:
- Produkte (Esszimmer und Wohnzimmer)
-
- Esszimmer
-
-
- Produkt (Port)
-
-
- Wohnzimmer
-
-
- Produkt (Play 1, Play 1, Playbar, Sub)
-
Ich würde mir in der Musikbox zusätzlich nur den Titel und den Interpreten anzeigen lassen.
Ok danke für das Feedback @Tlse-vins! ![]()
Tatsächlich, das muss raus!
Wie im Live gesehen, glaube ich nicht, dass wir diese Informationen im JSON haben, leider!
Diese Zustände stammen vom Statusrücklauf von Sonos. Vielleicht ist dieser Statusrücklauf nicht zuverlässig, in diesem Fall kann ich den Zustand in Gladys erzwingen, wenn du ihn steuerst, was diese Fehler vermeiden würde.
Fantastisch ![]()
Vielleicht für eine nächste Version! ![]()
Die Idee dieses POC war, ein bisschen Leute für diese Integration zu motivieren, jetzt würde ich gerne den Staffelstab für diese Integration an jemanden weitergeben, denn wenn ich mich der Sonos-Integration widme, wer kümmert sich dann um Gladys?! ![]()
Ich habe gerade ein Docker-Image mit den Rückmeldungen von @Tlse-vins erstellt!
gladysassistant/gladys:sonos-integration
Ich stoppe und starte den Container neu, reicht das?
Nein! Folge diesem Tutorial → Tutoriel: Lancer une image Docker de test
Der Play/Pause-Button funktioniert jetzt.
- Es gibt eine Verzögerung beim Anzeigen des Pause-Buttons nach dem Klicken auf Play, die ziemlich lang ist, ich hatte bis zu 10 Sekunden.
- Im Entdeckungs-Tab gibt es den Raumauswahl-Button, aber man kann nichts auswählen. Immer noch vorhanden.
Kann ich mit der Dokumentation für die Integration beginnen? Kann ich auch https://www.notion.so/ verwenden?
Du läufst immer noch die alte Version, diese beiden Punkte sind in der neuen Version behoben! (Es waren übrigens die einzigen beiden Korrekturen)
Ja, du kannst! Wirst du danach in der Lage sein, einen Pull Request von Notion aus zu erstellen oder wirst du dabei Hilfe benötigen?
Kannst du mir deine Notion-E-Mail per DM schicken?
Ich habe gemacht:
docker stop gladys
docker pull gladysassistant/gladys:sonos-integration
docker start Gladys
Ist das nicht richtig?
In der ersten Version wurde der Stopp-Button überhaupt nicht angezeigt, jetzt funktioniert es, aber ich finde die Reaktionszeit ziemlich lang.
Das sehen wir dann bei der PR.
docker stop gladys
docker rm gladys
docker pull gladysassistant/gladys:sonos-integration
docker run -d --log-driver json-file --log-opt max-size=10m --cgroupns=host --restart=always --privileged --network=host --name gladys -e NODE_ENV=production -e SERVER_PORT=80 -e TZ=Europe/Paris -e SQLITE_FILE_PATH=/var/lib/gladysassistant/gladys-production.db -v /var/run/docker.sock:/var/run/docker.sock -v /var/lib/gladysassistant:/var/lib/gladysassistant -v /dev:/dev -v /run/udev:/run/udev:ro gladysassistant/gladys:sonos-integration
Achte darauf, den letzten Befehl anzupassen, wenn du eine Testdatenbank, einen anderen Port oder einen anderen Containernamen möchtest


