Hallo ...
Im Prinzip brauchst Du nur der Ableitung folgen ... das Image für den RasPi gibt es hier:
https://www.raspberrypi.org/software/operating-systems/
das "Raspberry Pi OS Lite" sollte reichen.
Gruß Kai
Hallo ...
Im Prinzip brauchst Du nur der Ableitung folgen ... das Image für den RasPi gibt es hier:
https://www.raspberrypi.org/software/operating-systems/
das "Raspberry Pi OS Lite" sollte reichen.
Gruß Kai
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!
Grüße in die Runde und vielen Dank für die geniale Projekt-Idee!
Nach zwei langen, erfolglosen Abenden an Pi und Touchscreen schaffe ich heute mal den Sprung vom Mitleser zum Forennutzer und hoffe auf offene Ohren bei Thyraz No.Trace fazzo
Auch ich hänge daran, dass ich in Spotify zwar erfolgreich Such-Queries absetezn und diese auch dem Startbildschirm hinzufügen kann, aber keine Unique-Album-IDs nutzen kann, um einfach ausgewählte Alben hinzuzufügen.
Hier bekomme ich, wie hotspot_2 schlicht ein Undefined angezeigt. Beim Lesen des Threads zeigt sich, dass dies wohl öfter vorkommt, eine mögliche Problemlösung habe ich aber nicht gefunden.
beide Konfig sind soweit richtig mit ClientID und Secret bestückt (zig mal nachgelesen und probioert), dennoch tut sich nichts. Könnte mir einer der erfolgreichen Bastler einen Hinweis geben, wo ich letztendlich noch mal Hand angelegt habt?
Guten morgen zusammen,
ich hatte schon befürchtet, dass ich mich wegen eines Problems anmelden muss und habe jetzt doch endlich die "Nuss" geknackt...
Hier ein paar Tips für Leute wie mich, die eigentlich gar nicht wissen was sie tun aber zumindest das richtige googlen
Bzgl. Playlist No.Trace in der Tat wären Playlists interessant... ich wollte den Sonos Kids erstmal im "Eltern-Kind Mix Mode" nutzen. d.h. 3x musikalische Optionen 1. Apple Music Chillout Mix (eine von Apple regelmäßig aktualisierte Playlist) 2. WDR2 Radio via Apple Radio 3. Gruefello. Zu 1 und 2 sehen die Links wie folgt aus:
https://music.apple.com/de/playlist/ch…2a94ca375b8a633
https://music.apple.com/de/station/wdr…d/ra.1461552089
Thyraz Danke für den tollen Guide! ich liebe solche Projekte!
Hui.
Ich hab gar nicht mitbekommen, dass das auf iFun gepostet wurde, überfliege meist nur die Schwesterseite iPhone-Ticker.
Außerdem war mir nicht klar, dass wenn ich eine Emailbenachrichtigung vom Forum ignoriere, keine weiteren mehr kommen bis hier reingeschaut habe.
Dachte hier ist es schön ruhig, dabei hat sich einiges getan.
Schön zu sehen, dass es weitere User gibt.
Ich werde nach den Feiertagen mal versuchen das durchzugehen was offen geblieben ist.
Hier mal kurz zu ein paar Themen:
- Ich glaube ich habe bei Spotify die AlbumID Funktion nie genutzt, sondern immer nur die Queries.
Das ist also wahrscheinlich noch ungetesteter Code, blind nach dem URL Schema für node-sonos-http-api runterprogrammiert.
Werde das mal bei mir testen.
- Zum Thema mehrere Boxen und Spotify:
node-sonos-http-api kann ja leider nicht mehrere Spotify Accounts ansprechen.
Mich hat es aber schon immer genervt, dass da teils die Wiedergabe pausiert wird wenn jemand anderes was über die Sonos Suche über meinen Account startet.
Was bei uns als Workaround gut klappt: Einen eigenen Spotify Account für Sonos im Family Account und nur diesen zu Sonos hinzufügen.
Da wir keine 5 Personen im Haushalt sind, hatten wir noch einen Account übrig.
Startet man Wiedergaben über Sonos, werden zwar andere Wiedergaben mit dem selben Account z.B. auf dem Handy oder auf dem PC pausiert. Man kann über Sonos mit einem Account aus dem Family Account aber mehrere verschiedene Wiedergaben in verschiedenen Räumen starten, ohne dass die bisherigen abgebrochen werden.
Nutzt man hier also einen getrennten Account für Sonos, kann man verschiedene Wiedergaben starten und ist dabei nur durch die max. Anzahl gleichzeitiger Wiedergaben für Family Accounts beschränkt.
Nachteil ist, dass man eben nicht seine eigenen Lieblingslieder und Playlisten hat.
Kann man ggf. über Playlist Freigabe erreichen.
Aber ich nutze für die Wiedergabe vom Handy aus eh nicht die Sonos App, sondern mache das direkt über die Spotify App.
Daher stört mich das nicht.
- Wer Fehler beim Kompilieren hat:
Ihr müsst das an sich nicht auf dem Raspi kompilieren falls der zu schwach auf der Brust ist.
Das "www" Verzeichnis, welches dabei erstellt wird ist auf allen Plattformen gleich.
Ihr könnt das also auch am PC machen und dann das www Verzeichnis dann auf den Raspi ins Projektverzeichnis kopieren.
Werde das wohl noch detailliert beschrieben mit in die Doku als Alternative aufnehmen...
- Zu den Fragen ob man das auch ohne Sonos nutzen kann:
An sich ist das ja nur ein grafisches Frontend für node-sonos-http-api.
Der Code, der hier spezifische Kommandos absetzt ist diese Datei:
https://github.com/Thyraz/Sonos-K…ayer.service.ts
Wenn man also einen Medienplayer hat, der über eine HTTP-API steuerbar ist, könnte man hier entsprechend umleiten.
Am schönsten wäre natürlich das ganze dann so zu erweitern, dass man mehrere Ausgabedienste konfigurieren kann.
Ich muss aber zugeben, dass mir hier im Moment die Zeit dafür fehlt.
- Wegen Gehäuse für das eher ungewöhnliche 5" Display:
Das offizielle 7" Raspberry Display hat die selbe Auflösung und sollte somit auch ohne UI-Anpassungen nutzen lassen.
Hier finden sich sicher mehr Gehäuse-Lösungen im Netz.
- Tidal scheint von node-sonos-http-api nicht unterstützt zu werden.
Somit kann ich da wenig tun.
Zitat- Ich glaube ich habe bei Spotify die AlbumID Funktion nie genutzt, sondern immer nur die Queries.
Das ist also wahrscheinlich noch ungetesteter Code, blind nach dem URL Schema für node-sonos-http-api runterprogrammiert.
Werde das mal bei mir testen.
Super! Das freut mich sehr, bin bei dem Versuch hier (m)einen Fehler zu finden fast verrückt geworden Einzelne Alben Abhand der ID auf dem Homebildschirm zu platzieren wäre für unsere Zwecke perfekt.
Schön auch, dass der Zuspruch so groß ist. Das ist wirklich ein tolles Projekt und genau der richtige nächste Schritt nach dem TonUINO.
Kleiner Tipp noch für die Readme: Mir ist beim überfliegen erst gar nicht aufgefallen, dass du einen Fork der node-sonos-http-api nutzt. Ist es wichtig diesen und nicht das offizielle Release in Kombination mit der Sonos Kids Controller zu nutzen? Falls ja, verdient das evtl. noch einen Satz in der Anleitung.
Hi, ich wollte den Controller auch mal ausprobieren. Das Sonos Modul bekomme ich auch installiert und ans laufen. Bei der Installation des Sonos Kids Moduls kommt jedoch folgende Fehlermeldung nach dem Befehl:
FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory
Ich erhalte nun auf meinem Raspi 3B+ auch diesen Fehler. Habe schon gegoogled und dieses Kommando gefunden: "NODE_OPTIONS="--max-old-space-size=4096" node index.js". Bringt aber leider auch nichts, den das wird auch nicht ausgeführt wegen dem Heap Fehler.
Jemand eine Idee was ich da machen kann? Ich habe im Thread keine Lösung zum Problem von KingKahn mehr gefunden.
Komischerweise habe ich einen zweiten Raspberry Pi 3B+ zuvor neu gemacht (für den kleinen Sohn) und da kam dieser Fehler nicht.
Top zeigt das hier an:
MiB Mem : 924.8 total, 782.4 free, 39.8 used, 102.6 buff/cache
Alles anzeigenIch erhalte nun auf meinem Raspi 3B+ auch diesen Fehler. Habe schon gegoogled und dieses Kommando gefunden: "NODE_OPTIONS="--max-old-space-size=4096" node index.js". Bringt aber leider auch nichts, den das wird auch nicht ausgeführt wegen dem Heap Fehler.
Jemand eine Idee was ich da machen kann? Ich habe im Thread keine Lösung zum Problem von KingKahn mehr gefunden.
Komischerweise habe ich einen zweiten Raspberry Pi 3B+ zuvor neu gemacht (für den kleinen Sohn) und da kam dieser Fehler nicht.
Top zeigt das hier an:
MiB Mem : 924.8 total, 782.4 free, 39.8 used, 102.6 buff/cache
Hatte mit dem Pi 3B+ auch das Problem "JavaScript heap out of memory".
Mit diesem Befehl hat es dann funktioniert.
export NODE_OPTIONS=--max-old-space-size=3072
Hatte mit dem Pi 3B+ auch das Problem "JavaScript heap out of memory".
Hatte mit dem Pi 3B+ auch das Problem "JavaScript heap out of memory".
Mit diesem Befehl hat es dann funktioniert.
export NODE_OPTIONS=--max-old-space-size=3072
Perfekt, damit hat es dann geklappt.
Super, dass es doch eine Lösung gibt den Buildprozess auf dem 3B+ hinzubekommen.
Nur zum Verständnis:
Das einfach in der Shell eingeben bevor man
eingibt?
Dann würde ich das als Fehlerlösung in die Readme aufnehmen, falls man auf Systemen <= 1GB Ram Fehler beim Build erhält.
Super, dass es doch eine Lösung gibt den Buildprozess auf dem 3B+ hinzubekommen.
Nur zum Verständnis:
Das einfach in der Shell eingeben bevor man
eingibt?
Dann würde ich das als Fehlerlösung in die Readme aufnehmen, falls man auf Systemen <= 1GB Ram Fehler beim Build erhält.
Ja, genauso ist es. Und dann funktioniert es einwandfrei.
Was auch noch hilfreich wäre in der Readme wäre eine kurze Anleitung wie man Node.JS installiert.
Also:
curl -sL https://deb.nodesource.com/setup_15.x | sudo -E bash -
sudo apt install -y nodejs
Funktion und Version checken mit "node -v".
Und damit eventuell alles an einem Ort zusammen ist noch die Anregung die node-sonos-http-api Installation kurz zu beschreiben, genauso wie die Installation des Sonos-Kids-Controllers:
cd
wget https://github.com/Thyraz/node-sonos-http-api/archive/master.zip
unzip master.zip
cd node-sonos-http-api-master
npm install --production
Denke dann ist alles zusammen.
Kleiner Tipp noch für die Readme: Mir ist beim überfliegen erst gar nicht aufgefallen, dass du einen Fork der node-sonos-http-api nutzt. Ist es wichtig diesen und nicht das offizielle Release in Kombination mit der Sonos Kids Controller zu nutzen? Falls ja, verdient das evtl. noch einen Satz in der Anleitung.
Für die Suche in der lokalen Sonos Library verwendet node-sonos-http-api eine Fuzzy-Search.
Das Ganze ist durch Fuse.js implementiert.
Dies soll ermöglichen, dass man mit Suchbegriffen aus Teilen des Artists und des Albumnamens einen Treffer finden kann.
Allerdings wird eine uralte Version von Fuse.js verwendet die ziemliche Bugs zu haben scheint.
Gibt man Teile des Albumnamens ein, scheint das soweit zu klappen.
Wenn man aber den vollen Albumnamen eingibt, klappt es nicht.
Bei einem "Perfect Match" findet er also keinen Treffer, oder den falschen.
Daher habe ich das testweise mal in einem Fork auf eine aktuelle Fuse.js Version gebracht.
Damit klappt das Ganze einwandfrei.
Ist hoffentlich nur temporär, da ich hoffe dass die Änderung in die offizielle Version übernommen wird.
Ich bin gerade noch am überlegen ob es noch eine Möglichkeit gäbe das Editieren der JSON-Datei für die Alben usw. zu vereinfachen. Ich denke da z.B. an ein Tool das in einer Art Baukastensystem die JSON Datei zusammensetzt. Das Editieren über die Box ist speziell bei größeren und vielen Wünschen sehr mühsam.
Ein Anfang wäre z.B. geprüfte JSON Schnippsel irgendwo online zu stellen für die gängigsten Hröspiele Serien.
Was mich noch interessieren würde ob ich irgendwie in der JSON Datei direkt den Anbieter (z.B. Spotify, Amazon oder so vorgeben kann). Den im Moment gebe ich Interpret und Albumname an und wenn es dann mit Bild angezeigt wird auf der Box gehe ich davon aus das es passt. Woher es aber kommt, oder das ich es vielleicht steuern kann hab ich bisher nicht rausgefunden.
Das kannst du über den Type auch beim direkten editieren der data.json steuern:
Hallo,
die query für spotify hätte zur Folge das mir alle Alben (einzeln selektierbar am Touch) der Was ist Was Junior Reihe angezeigt werden?
Genau.
Dieses „Komfortfeature“ gibt es aber nur bei Spotify, da die eine offizielle API anbieten mit der solche Suchabfragen möglich sind.
Genau.
Dieses „Komfortfeature“ gibt es aber nur bei Spotify, da die eine offizielle API anbieten mit der solche Suchabfragen möglich sind.
Das funktioniert schon mal echt gut. Große Erleichterung. Gibt es da eine Anleitung zur der API?
Kann man z.B. so suchen über die query das man "Was ist Was Junior" und "Was ist was" getrennt angezeigt bekommt?
Kann man z.B. nach der Artist ID suchen? Conni hat z.B. "0jRC2uXx4hEpqNrBDJdY7l"?
Das funktioniert schon mal echt gut. Große Erleichterung. Gibt es da eine Anleitung zur der API?
Kann man z.B. so suchen über die query das man "Was ist Was Junior" und "Was ist was" getrennt angezeigt bekommt?
Kann man z.B. nach der Artist ID suchen? Conni hat z.B. "0jRC2uXx4hEpqNrBDJdY7l"?
Probier mal folgende query Abfragen:
Hier sind ein paar Beispiele:
https://github.com/Thyraz/Sonos-K…spotify-premium
Wenn man den Artist in Anführungszeichen setzt, muss die Zeichenfolge direkt so gefunden werden.
Ansonsten können die Wörter auch in anderer Reihenfolge matchen.
Falls man nicht über die UI hinzufügt, sondern direkt die data.json editiert,
muss man die Anführungzeichen dann escapen (mit Backslash).
Im obigen Link findet sich dann auch noch der Link zur Spotify API, mit der genaueren Beschreibung der Möglichkeiten innerhalb eines Such-Strings.
Noch ein paar Beispiele aus meiner Config:
Hi zusammen,
ich möchte mich noch einmal mit ein bisschen zeitlichem Abstand zu meinem ersten Post zurückmelden und bedanken! Hat leider etwas gedauert, da wir in der Familie vor Weihnachten auch noch zwei Geburtstage habe und wegen Kita-Schliessung und dem allseits bekannten Drumherum einfach null Zeit war
Ich habe nun auch die Suche über die Queries bei Spotify verwendet und es funktioniert! Vielen Dank, werde mich in den nächsten Tagen an das "Verpacken" des Players machen.
Viele Grüße
dnsdlx
Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!