Sonos Kids Controller (nun auch für andere Spotify Connect Geräte): Touchscreen Jukebox für nicht mehr ganz so kleine Kinder

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Sonos Kids Controller (nun auch für andere Spotify Connect Geräte): Touchscreen Jukebox für nicht mehr ganz so kleine Kinder? Schau mal ob du hier fündig wirst!

  • Servus zusammen,

    ich steh total auf dem Schlauch beim einpflegen von Alben. Das Spotify Konto ist verknüpft. Aber welche Datei muss ich wo erzeugen, und welchen Teil der Github Anleitung muss ich einpflegen, damit ich die Alben dann auch sehe?

    Sorry, aber hier hab ich eine totale Blockade.

    Vielen Dank für euren Denkanstoß

  • Vielen Dank Thyraz für dieses geniale Projekt!!

    Ich habe es gestern Abend zusammengebaut und installiert, mal gespannt, was der junge Herr dazu sagt, wenn er morgen von den Großeltern zurück kommt.

    Das Einzige was ich vermisst habe war eine Möglichkeit den Bildschirm auszuschalten, da er oft zum Einschlafen im Bett noch eine Folge hört und der doch recht hell ist.

    Ich habe das für mich mit einem Taster gelöst, den ich an den Raspberry klemme und mit einem kleinen Tool abfrage (siehe Anhang).

    Einmal kurz drücken schaltet die Hintergrundbeleuchtung des Monitors an oder aus (je nachdem wie der Zustand grad ist) und langes Drücken fährt den Raspberry runter.

    Ich habe das Ganze bei Github bereitgestellt, falls es noch jemandem hilft: https://github.com/soenkeliebau/screenbutton

  • Es gab bei node-sonos-http-api einen angenommenen Pull-Request der Probleme beim Abspielen beschreibt,

    falls man vorher z.B. über Sonos-Connect vom Handy aus auf den Sonos Lautsprecher gestreamt hat.

    Sowas hab ich auch schon beobachtet und wurde hier glaub auch schon erwähnt.

    Ich hab den Commit auch in meinen Fork übernommen.

    Es könnte sich also lohnen, node-sonos-http-api zu aktualisieren...

  • Ich hab mal generell dazu eine Frage:

    das Projekt ist ja auf Sonos abgestimmt, ist auch OK so. Das würde mich wenn eher in Richtung Alexa (Echo) oder wieder als eigenständige Box interessieren. Hatte mir den Code jetzt nicht angeschaut, aber werden da Sonos APIs abgegriffen, oder wie kann ich mir das technisch vorstellen?

  • Die Wiedergabesteuerung läuft über node-sonos-http-api.

    Eine Nodejs Bibliothek um Sonos zu steuern.

    Es wird auch noch die Spotify Web API angezapft, das ist aber nur für Komfort-Features von Content von Spotify wie z.B. automatisches Album Artwork laden.

    Die eigentlichen Kommando sind von der Anzahl her sehr begrenzt, weswegen man nicht viel ändern müsste um etwas anderes anzusprechen.

    Eine andere Lösung ist eine zur REST API von node-sonos-http-api kompatible Drop-In Lösung zu schreiben.

    Dann muss kann man Sonos-Kids-Controller ohne Modifikationen nutzen und hat so keine Probleme bei Updates.

    Hier hat andi82 schon so eine Bibliothek vorgestellt, über die man Spotify Connect Lautsprecher ansteuern kann:

    RE: Sonos Kids Controller (nun auch für andere Spotify Connect Geräte): Touchscreen Jukebox für nicht mehr ganz so kleine Kinder

    Das ganze nutzt die Spotify Web API und stellt dann eine handvoll Endoints bereit um die Komandos des Players dorthin umzulenken:

    https://github.com/amueller-tech/…tify-control.js

    Damit bekommt man schon so einiges an Hardware angesprochen.

    Amazon Echos sind ja auch Spotify Connect kompatibel.

    Man könnte auch eine zusätzliche Squeezebox Installation lokal auf die Kiste packen.

    Die kann man glaub ich auch für Spotify Connect konfigurieren.

    Dann könnte man lokale Audioausgabe nutzen und Lautsprecher mit in der Box integrieren.

    Wer ganz lokal Musik hören will könnte sich z.B. eines der npm Pakete zum Ansteuern von mplayer anschauen.

    Hier bekommt man sicher auch wieder recht schnell einen minimalen Wrapper als Dop-In Lösung drum herum gebaut...

    Einmal editiert, zuletzt von Thyraz (8. Februar 2021 um 21:05)

  • Ich habe das Problem mit dem Ein- und Ausschalten im Moment etwas anders gelöst: Das Raspi selbst läuft ständig, schaltet aber das Display (inkl. Beleuchtung ab). Ich hatte früher immer mal wieder Probleme mit defekten SD-Karten, wenn ich Raspberries ohne sauberes Herunterfahren abgeschaltet habe, daher bin ich da etwas vorsichtig...

    Dazu habe ich in der /etc/xdg/openbox/autostart the Befehle für den Bildschirmschoner angepasst:

    Code
    xset +dpms
    xset dpms 180 180 180
    xset s off

    Achja, ich nutze das 7-Zoll-Display von der Raspberry Foundation, ich hoffe das geht mit anderen auch...

    So, ich muss das nochmal ausgraben.
    Hab grad alles nochmal neu installier und alles nach der Anleitung gemacht, nix probiert, alles clean.

    Dann deinen Quellcode in die /etc/xdg/openbox/autostart

    Das display wird nach 180s schwarz, die Beleuchtung bleibt aber an. Auch nach 10 Minuten + :(

    Irgendwo muss du eine Einstellung gemacht haben, die das display ausschaltet. Könntest du nochmal schauen?
    VG Jens

  • So, größeres Update nachdem mich rogerimhof mit einer Implementierung für Playlists zu einem etwas größerem Umbau angeregt hat. ;)

    Es gibt nun Medienkategorien für Hörspiele, Musik, Playlists und Radiosender.

    Diese werden auf der Hauptseite als Reiter angezeigt, über die man die jeweiligen Medien dieser Kategorie anzeigen kann.

    Für Playlists und Musik kann man wieder Local Library, Spotify, Apple Music und Amazon Music Unlimited verwenden.

    Bisher hinzugefügte Medien werden als Hörspiel interpretiert.

    Es ist allerdings nur Spotify getestet bisher. Für Apple und Amazon ist die Doku von node-sonos-http-api nicht so ganz eindeutig.

    Falls es nicht geht bitte hier melden.

    Für Radiosender gibt es TuneIn, hier muss man die ID aus der URL von TuneIn auslesen.

    Z.B. https://tunein.com/radio/SWR3-996-s24896/ wäre dann 24896 (also ohne das "s" am Anfang).

    Doku auf Github zu dem Ganzen gibt es noch keine, ziehe ich die Tage nach.

    Bei Unklarheiten einfach hier fragen. :)

  • Ein neuer Test um die Software einfacher zu installieren / upzudaten.

    Es wird nun bei jedem Release ein vorkompiliertes Zip geben:

    https://github.com/Thyraz/Sonos-Kids-Controller/releases/

    Damit entfällt das ganze komplieren der Webapp etc ...

    - sonos-zip-controller.zip herunterladen

    - Euer altes Verzeichnis umbenennen, da dort noch der ganze alte Müll zum selber kompilieren drin ist

    - Ein neues Verzeichnis mit dem selben Namen erstellen

    - sonos-kids-controller.zip entpacken und den Inhalt in den Ordner kopieren

    - npm install in diesem Ordner ausführen um Abhängigkeiten zu installieren

    - eure config.json und data.json aus dem alten, umbenannten Ordner in die neue Installation rüberkopieren

    - fertig (dann eben starten wie bisher: entweder händisch über npm start oder falls ihr den Autostart konfiguriert habt einfach neu booten)

    Sehr gerne hier Rückmeldungen (erfolgreiche oder nicht erfolgreiche) hinterlassen,

    damit ich weiß ob ich die Installationsanleitung auf diesen einfacheren Installationsweg umbauen kann...

    2 Mal editiert, zuletzt von Thyraz (10. Februar 2021 um 12:46)

  • Hi ...

    Super, das ist ja klasse !

    Also brauche ich "nur noch" NodeJS und node-sonos-http-api installieren und

    dann die fertige Datei nach der Anleitung oben hinzuzufügen?

    CU Kai

    Meine Hard- und Software

    RasPi4 4GB - HomeAssistant mit HomeBridge (ersetzt auch den PiHolePi)

    RasPi4 4GB - LibreELEC Kodi

    RasPi3 1GB - Sonos-Kids-Controller mit 5" LCD-Touch-Display

    RasPi4 1GB - OctoPrintPi

  • Guten Morgen,

    eine kleine Rückmeldung von mir. Zuerst einmal ein riesen DANKESCHÖN an Thyraz für das tolle Update. Ich habe mich gestern Abend noch an das Update gemacht. Es hat im Prinzip ganz gut geklappt wie beschrieben. Allerdings funzt der Autostart der node-sonos-http-api und des Kids Controllers noch nicht ganz. Starte ich es per Hand an, ist alles in Ordnung. Auch hatte ich bei dem von Thyraz beschriebenen Vorgehen einige Fehlermeldungen beim "npm install".

    Mit einem:

    Code
    $ npm config rm proxy
    $ npm config rm https-proxy

    lief der Installationsprozess dann auch sauber durch. Auch habe ich ein Update des "node-sonos-http-api" gemacht. Auch das lief erst mit den beiden Befehlen sauber durch.

    Jetzt muss ich mich mal um den Autostart kümmern.

    Ich wünsche euch allen einen schönen Tag

    neo

  • Hi ...

    ich habe es auch versucht ... beim Autostart über pm2 habe ich aber keine Probleme gehabt ...

    ... nur kann ich irgendwie keine Inhalte hinzufügen.

    Wenn ich eine "CD" z.B. von Amazon einfüge und den Add-Button drücke, wird diese nicht übernommen.

    Wo sollte die "Data.json" Datei denn liegen, wenn sie erstellt wird?

    CU Kai

    Meine Hard- und Software

    RasPi4 4GB - HomeAssistant mit HomeBridge (ersetzt auch den PiHolePi)

    RasPi4 4GB - LibreELEC Kodi

    RasPi3 1GB - Sonos-Kids-Controller mit 5" LCD-Touch-Display

    RasPi4 1GB - OctoPrintPi

  • Danke ;) Nun muss ich nur mal sehen ob ich da über die Weboberfläche noch Musik hinzufügen kann,

    per data.json geht es schonmal.

    Meine Hard- und Software

    RasPi4 4GB - HomeAssistant mit HomeBridge (ersetzt auch den PiHolePi)

    RasPi4 4GB - LibreELEC Kodi

    RasPi3 1GB - Sonos-Kids-Controller mit 5" LCD-Touch-Display

    RasPi4 1GB - OctoPrintPi

  • So ... was mir nun aufgefallen ist (hoffe die treten nicht nur bei mir auf):

    - das die Alben seltsamerweise ab und zu mit Track 2 starten

    - TTS bei mir nicht funktioniert (in der config aber auf true steht"

    - kann keine Alben über das Webinterface hinzufügen ...

    Habe auch ein Album von Deezer hinzugefügt, das taucht auch in der Übersicht auf, wird aber nicht abgespielt,

    mal sehen ob ich das noch hinbekomme ... lt. node-sonos sollte es ja gehen ...

    https://github.com/jishi/node-son…es/deezerDef.js

    Habe bestimmt nur noch nicht die richtigen Daten gefunden ;)

    Meine Hard- und Software

    RasPi4 4GB - HomeAssistant mit HomeBridge (ersetzt auch den PiHolePi)

    RasPi4 4GB - LibreELEC Kodi

    RasPi3 1GB - Sonos-Kids-Controller mit 5" LCD-Touch-Display

    RasPi4 1GB - OctoPrintPi

    Einmal editiert, zuletzt von No.Trace (11. Februar 2021 um 19:47)

  • Hallo,

    das Problem mit TTS habe ich auch: keine Durchsagen ;( , ich weiß, ehrlich gesagt auch nicht, wo ich da nachsehen soll. Aber wäre schon cool, das hinzubekommen.

    Das Hinzufügen von Musik funzt bei mir problemlos, allerdings habe ich noch Probleme beim Hinzufügen von Playlists von Apple-Musik, aber das werde ich mir heute Abend noch einmal genauer ansehen. Im Prinzip ist das Einpflegen von Musik über die data.json doch etwas komfortabler, zumal man falsche, bzw. nicht funktionierende Einträge ändern kann und nicht gleich löschen und neu anlegen muss.

    Grüße

    neo

    Einmal editiert, zuletzt von neomorph (12. Februar 2021 um 08:49)

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!