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

  • Servus zusammen,

    das mit den Alben hinzufügen habe ich mittlerweile erledigt. Jetzt habe ich nur noch das Problem, dass der pi den Autostart nicht hinlegt. Er bootet immer zum Desktop. Die Anleitung habe ich streng nach Script erledigt, und dabei keinerlei Fehlermeldungen erhalten.

    Wo könnte ich da ansetzen, bzw. welche Infos braucht ihr, um mir Tipps geben zu können? Es wäre echt klasse, wenn ich meinen Kids damit bald eine Freude machen könnte.

    Vielen Dank und beste Grüße

    Rainer

    Hallo

    freut mich zu hören, dass du das mit den Alben hinbekommen hast. Und das Startup Problem fixen wir auch noch ;)

    Was steht den bei dir im file /etc/xdg/openbox/autostart drin?
    sudo cat /etc/xdg/openbox/autostart

    und was im file .bash_profile

     sudo cat .bash_profile

    gruss

  • 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!

  • Rennsemme

    Welches Image hast Du denn für den RasPi genommen? Das mit Desktop?

    Ggf. kannst Du in der "sudo raspi-config" noch einstellen, dass er sich in den Konsole einloggt und nicht in den Desktop?

    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 für Deine Antwort rogerimhof - beide API-Aufrufe funzen problemlos, nur eben nicht im dem Kids-Controller-Kontext.

    Ich muss mich durch die Entwicklerkonsole arbeiten und den Aufruf mit TTS suchen. Bin mit Chrome unterwegs und konnte noch nicht die richtige Stelle finden.

    Ich wühle mich da mal durch und gebe Bescheid.

    Vielen Dank erstmal

    neo

  • mit direkt URL eingeben klappt meinst du .../RoomName/amazonmusic/now/album:{albumID}, oder?

    Da kommt nie der Track 2, auch bei mehrmaligem Testen?

    Hi ... Also wenn ich die Alben über den Browser am Mac aufrufe, dann starten sie mit dem ersten Track ... seltsam.

    Zwecks Deezer:

    in der Ausgabe kommt ja eine ID.

    Hast du mal versucht einen Aufruf damit zusammen zu basteln?

    Könnte ja evtl. so funktionieren:

    Habe schon diverse Konstellationen versucht, aber so recht noch zu keinem Ergebnis gekommen ...

    Ab und an wird was abgespielt, aber nie das Album passend zur ID ?!

    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

  • neomorph und No.Trace evtl. könnt ihr mal genau die Aufrufe raussuchen die Sonos Kids Controller macht und diese dann händisch nochmal im Browser einfügen.

    Damit man weiß, dass die Aufrufe wirklich identisch sind.

    Schaltet in Chrome dazu die Entwickertools ein und wechselt dort in den Network Tab.

    Dann navigiert zu der Stelle in Sonos Kids Controller, bei der ihr den Aufruf aktivieren könnt.

    Also neomorph für TTS einfach die Startseite um dann gleich einen Artistnamen anzuklicen,

    No.Trace für die Wiedergabe in der Albenansicht um dieses gleich wiederzugeben.

    Dann im Network Tab der Entwicklertools auf das "Parkverbot"-Icon ( :P ) klicken um den bisher geloggten Traffic auszublenden.

    Und danach die gewünscht Aktion im Kids Controller ausführen.

    Nun solltet ihr die Aufrufe an die node-sonos-http-api sehen.

    In meinem Beispiel ist das einmal ClearQueue und einmal der Aufruf des neuen Albums.

    Man kann den Link eines API Aufrufs auch kopieren:

    Dann einen neuen Tab öffnen und dort wieder einfügen.

    Wie sehen die Links aus und unterscheidet sich das Resultat wenn ihr die Links per Copy & Paste direkt im Browser ausführt ggü. dem Aufruf vom Kids-Controller?

    Und unterscheiden sich die Links zu denen die ihr händisch zusammengebastelt hattet?

    neomorph bei dir reicht ja an sich ein Aufruf um zu sehen ob es geht.

    No.Trace du kannst ja evtl. ein paarmal zwischen 2 Alben im Kids-Controller hin- und herwechseln und dann händisch mit den kopierten Links zwischen den selben Alben ein paarmal wechseln.

    Dann siehst du ja recht gut wo der problematische Effekt auftritt.

  • Thyraz : Danke für die Aufklärung. Soweit ich das überblicke werden die Links sauber generiert und sind, zumindest bei den Hörspielen, Radiosendern und Alben korrekt. Allerdings finde ich in den Aufrufen keinerlei Hinweise auf TTS (sollte ich überhaupt?) und bekomme komischerweise immer mal wieder folgende Meldung:

    Setze ich das "Pause" im Browser ab, bekomme ich einen "success". Dieser "Effekt" tritt nicht immer, aber hin und wieder auf. Das "Problem" bleibt also nur TTS.

    Eine Frage am Rande, gehen eigentlich Apple Music Playlists? Das habe ich irgendwie noch nicht hinbekommen.

    Das ist der Link:

    https://music.apple.com/de/playlist/chill-mix/pl.pm-20e9f373919da080158582408dbb201c

    und ich dachte ich bastle mir das so:

    http://192.168.1.32:5005/Kinderzimmer/applemusic/now/playlist/chill-mix/pl.pm-20e9f373919da080158582408dbb201c

    Leider bekomme ich die Playliste nicht zum laufen.

    Viele Grüße

    neo

    Einmal editiert, zuletzt von neomorph (16. Februar 2021 um 15:29)

  • Sehr komisch, dass pause ab und an Fehler wirft.
    Hast du dann auch den Effekt, dass die Wiedergabe weiter läuft nachdem du zurück zum Menu gehst, oder beendet er die Wiedergabe trotz des Fehlers?

    Beim Zurückgehen zum Menu sende ich ja nur diesen einen Befehl an node-sonos-http-api.
    Ein Timing Problem, von wegen zu viele Anfragen gleichzeitig kann es also auch nicht sein.

    Habe das gerade gefühlt 100x getestet bei mir.

    Immer rein in ein Album, dann wieder raus.

    Dann noch öfter mal Play / Pause in der Player Ansicht.

    Bekomme von node-sonos-http-api immer ein "200" (OK) zurück.

    Wegen TTS:

    Kannst du mal den genauen Inhalt deiner config.json posten?

    (Falls du Spotify credentials drin hast diese natürlich rausnehmen vorher.)

    Ich fürchte der geht bei dir irgendwie in die Codeverzweigung für deaktiviertes TTS.

    Denn da sollte man schon den Aufruf im Network Tab der Entwicklertools sehen:

  • No.Trace du kannst ja evtl. ein paarmal zwischen 2 Alben im Kids-Controller hin- und herwechseln und dann händisch mit den kopierten Links zwischen den selben Alben ein paarmal wechseln.

    Dann siehst du ja recht gut wo der problematische Effekt auftritt.

    So ...

    habe nun etliche Mal verschiedene Alben aufgerufen ... sowohl vom Amazon- als auch von Apple-Music ...

    Und wenn ich die Alben über den Kids-Controller starte, beginnt das Album nicht mit dem ersten Track.

    Kopiere ich die URL aus dem Weblog geht es direkt ... ?!

    Aber den Fehler bei "pause" habe ich auch ab und zu im log ...

    Gruß 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

  • Thyraz - vielen Dank für Deine Antwort. Ich verwende Spotify nur als nicht Premium-Dienst, deshalb hab ich es noch drin. Meine config.json sieht so aus:

    und ja, ich habe den Effekt, dass die Musik, trotz "zurück" weiterläuft und Pause nicht "aktiviert" wird

    viele Grüße

    neo

    Einmal editiert, zuletzt von neomorph (16. Februar 2021 um 14:03)

  • Im file /etc/xdg/openbox/autostart stet drin:

    im file .bash

    Code
    [[ -z $DISPLAY && $XDG_VTNR -eq 1 ]] && startx -- -nocursor

    Vielen Dank für die Unterstützung schon vorab.

    Rainer :danke_ATDE:

  • neomorph  No.Trace ich hab mal eine Testversion für euch an diesen Post angehängt.

    Einfach das www Verzeichnis in eurer Installation in http://www.old umbenennen und dann das www Verzeichnis aus dem angehängten Zip dafür reinkopieren.

    Dann eben alles neu starten.

    neomorph beim Anklicken eines Artist-Namens im Hörbuch-Reiter der App gibt es jetzt 2 Logausgaben in der Console.

    Einmal die abgerufene und geparste Config.

    Wenn man die Objektstruktur mit den kleinen Pfeilen aufklappt, sieht man die TTS Konfiguration.

    Als zweites wird noch geloggt ob die App die TTS Funktion aufruft oder nicht.

    Im Network Tab sollte man bei aktivem TTS dann eben auch gleich den Aufruf an node-sonos-http-api sehen.


    No.Trace ich hab in der Version außerdem ein kleines Delay zwischen Queue löschen und Album laden eingefügt.

    Für den Fall, dass der Titel Nr. 1 irgendwie zu schnell drin landet und aus der Queue gelöscht wird.

    Glaube aber noch nicht so recht daran, dass das dein Problem löst...

  • Thyraz - super, Danke, ich werde das heute Nachmittag/Abend testen und berichten.

  • Thyraz

    SUPER ... nun geht es ;) Bei jedem Album wird nun mit Track 01 gestartet ! Perfekt und vielen Dank ;)

    Dann kann es so langsam was werden mit dem Live-Betrieb bei den Kids ;)

    Nun muss ich nur noch rausfinden, wie ich das mit Deezer hinbekomme ... das wäre dann perfekt.

    Und dann muss noch ein passendes Gehäuse her, wo auch Display und RasPi reinpassen ;)

    Vielleicht hat ja schon wer ein 3D Druck File für sowas erstellt?

    Gruß 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

  • Super, dann werde ich das in die offizielle Version übernehmen. :)

    Gern ;)

    Jetzt müssen wir uns nur noch mit Deezer "einigen" ;) Hoffe das klappt auch noch ...

    Mein kostenloses Apple-Music-Abo läuft leider auch bald ab ...

    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

  • Thyraz - super, Danke, ich werde das heute Nachmittag/Abend testen und berichten.

    Also Zwischenstand,

    ich bekomme die Debugausgaben leider nicht angezeigt (oder ich bin zu doof, was ich nicht ausschließe).

    Thyraz ich habe Dein angehängtes "www" Verzeichnis heruntergeladen, das alte umbenannt und das neue ausgepackt. Dann habe ich, wie von Dir beschrieben in Hörbüchern einen "Künstler" angeklickt und mir die Ausgaben angesehen.

    In der Anlage 2 Screenschots, einmal vom neuen www-Verzeichnis, einmal von meiner Ausgabe in Chrome.

    Viele Grüße neo und Danke für die viele Arbeit!

    UPDATE: Also, ich habe gestern Abend noch ne Menge getestet und komme der Sache einfach nicht auf die Spur. Eben gerade habe ich eine(!) TTS-Ansage bekommen. Bei Klick zurück und auf den nächsten Künstler - wieder nichts, kein TTS. Weiterhin habe ich auch gesehen, dass in dem Ordner der api (siehe nächster Screenshot) einige TTS-Dateien rumliegen. Hier ist auch gut zu erkennen, wann es mal geklappt hat und wann nicht.

    Ich bleibe dran und wünsche einen tollen Tag.

    neo

    UPDATE 2: alles gut und Kommando zurück. Das Problem sitzt vor dem Bildschirm - großes Sorry. Mir war nicht klar, dass man nicht das Coverbild, sondern den Namen des Künstlers anklicken muss. Ich bitte um Entschuldigung für die Aufregung. :wallbash: - jetzt läuft's.

    Ich hänge mich mal an No.Trace : Wenn wir jetzt noch Apple-Playlists hinbekommen bin ich noch glücklicher ;)

    Liebe Grüße

    neo

    3 Mal editiert, zuletzt von neomorph (18. Februar 2021 um 08:26)

  • 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

    Raabensohn: konntest Du das mit der Beleuchtung des Displays eigentlich lösen? Ich habe das gleiche Verhalten.

    Bzw. noch eine ganz andere Frage: Kennt jemand eine Möglichkeit nach einer voreingestellten Zeit einen Screensaver z.B "xscreensaver" zu integrieren, so dass das Display hübsche Sachen z.B. eine Slideshow, oder z.B. "cmatrix" anzeigen kann? Das wäre doch hübsch 8)

    Viele Grüße

    neo

    Einmal editiert, zuletzt von neomorph (18. Februar 2021 um 11:19)

  • Welche Displays besitzt ihr denn?

    Und seid ihr sicher, dass diese sich dimmen lassen?

    Weil bei meinem geht das definitiv nicht.

    Mit dem Original 7" Pi Display ist es aber meines Wissens nach möglich.

    Thyraz : ich habe das Display aus Deinem initialen Post (https://www.amazon.de/gp/product/B07YCBWRQP/?tag=psblog-21 [Anzeige]) und es kann gut sein, dass es sich nicht dimmen lässt. Grundsätzlich ist das unproblematisch und deshalb die Frage nach dem Bildschirmschoner.

  • Hallo,

    ich hab das probiert. Aber "npm install" bricht dann so ab:

    Code
    pm ERR! code ERR_SOCKET_TIMEOUT
    npm ERR! errno ERR_SOCKET_TIMEOUT
    npm ERR! request to https://registry.npmjs.org/bl/-/bl-4.1.0.tgz failed, reason: Socket timeout
    
    npm ERR! A complete log of this run can be found in:
    npm ERR!     /home/pi/.npm/_logs/2021-02-19T18_44_09_998Z-debug.log

Jetzt mitmachen!

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