Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Praktische Anwendungen (Showcase)
    4. tonieBroker - Toniebox Clone für iobroker + spotify

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    tonieBroker - Toniebox Clone für iobroker + spotify

    This topic has been deleted. Only users with topic management privileges can see it.
    • Newan
      Newan last edited by Newan

      Halo zusammen,

      ich habe für eine Tochter einen Tonieboxclone entwickelt der über iobroker steuerbar un kontrollierbar ist.
      Gerne würde ich das Projekt teilen und Nachahmer finden die mit mir zusammen ggf weitere Funktionen realisieren.
      Falls jemand weitere Infos benötig einfach fragen.

      Showcase:
      20-04-13 13-10-39 5823.jpg
      20-04-13 13-43-01 5824.jpg

      https://vimeo.com/443865729

      Inspirationen:
      https://www.voss.earth/tonuino/
      https://haus-automatisierung.com/projekt/2018/12/16/projekt-playbox-mqtt-fhem-spotify.html

      Meistertr 1 Reply Last reply Reply Quote 2
      • Meistertr
        Meistertr Developer @Newan last edited by

        @Newan cooles project. Habe 3 kleine Mädels zuhause rumlaufen für die wäre das was, hab nie eine tonibox holen wollen weil sie mir nciht smart genug ist. Unsere 4 jährige hat nun einen dot aber das klappt auch mehr schlecht als recht..
        A

        Newan 1 Reply Last reply Reply Quote 0
        • Newan
          Newan @Meistertr last edited by

          @Meistertr Ja bisher ist es so das Spotify-Adapter das abspielen übernimmt.
          Mqtt nimmt die Befehle entgegen:

          401d0a00-5ab3-4794-a384-8cc18f16e64c-image.png

          Script ist eigentlich überschaubar. Ergebnis aber gut ;-). Meine Tochter ist 2 und liebt ihr "Radio"

          Script alpha:

          //Übergeben der Playerid
          var player = 'spotify-premium.0.player.isPlaying';
          // Spotify Playobjekt template
          var objSpotifyPlay = {"context_uri":""}; 
          
          //Auflistung aller bekannten Karten und Ihrer Bedeutung
          var cards = new Array;
          // card[RFID der Karte] = [SpotifyID, Shuffel, Repeat]
          cards['1493891797'] = ['spotify:track:59fQzvSv0wPQorW2Bh0pns', false, false]   // Chip Testen
          cards['3347562067'] = ['spotify:playlist:78EvoaWugSqJjiR3XpUp5g', true, true]  // Enie Playlist
          cards['2597930531'] = ['spotify:album:6Kz2d2cZsjEQxN399a3Rwu', false, false]   // König der Löwen
          cards['449397539']  = ['spotify:album:5QUQ2ulIIcBekzS3sbwYuX', false, false]   // Grüffelo
          cards['2322744611'] = ['spotify:album:58R8K6q6fSMnQd0PimkhFK', false, false]   // GrüffeloKind
          cards['2327724323'] = ['spotify:album:6kxK855oq2suJxSRPcFdpI', false, false]   // Hund und Katz
          cards['1523274275'] = ['spotify:playlist:2c8nT5CQCR4GxG6hhcivsm', false, true] // Enie Party
          
          //Hören auf Control Änderungen
          on({id: 'mqtt.0.tonieBroker.Control', change: 'any'}, function (data) {
          
              switch (data.state.val) {
                  case "pause":
                      if (getState('spotify-premium.0.player.isPlaying').val) {
                          console.log("tonieBroker Pause gedrueckt");
                          setState('spotify-premium.0.player.pause', true);
                      } else {
                          console.log("tonieBroker Pause erneut gedrueckt = Wiedergabe");
                          setState('spotify-premium.0.player.play', true);
                      }                        
                      break;
                  case "next":
                      console.log("tonieBroker naechstes Lied");
                      setState('spotify-premium.0.player.skipPlus', true);
                      break;
                  case "prev":
                      console.log("tonieBroker voheriges Lied");
                      setState('spotify-premium.0.player.skipMinus', true);
                      break;
                  case "stop":
                      console.log("tonieBroker stoppe Wiedergabe");
                      setState('spotify-premium.0.player.pause', true);
                      break;
                  default:    
                      console.error("tonieBroker Control: " + data.state.val.toString() +" nicht bekannt");
                      break;
              }
          });
          
          //Kartenänderung
          on({id: 'mqtt.0.tonieBroker.Card', change: 'any'}, function (data) {
          
              objSpotifyPlay.context_uri = cards[data.state.val][0];
                  
              //objSpotifyPlay.context_uri = cards[data.state.val][0]; 
              console.log(objSpotifyPlay);
              setState('spotify-premium.0.player.playUri', JSON.stringify(objSpotifyPlay));
          
            console.log("Haben mqtt tonieBroker Card gefunden");
            console.log(cards[data.state.val][0]);
          });
          
          Meistertr 1 Reply Last reply Reply Quote 0
          • Meistertr
            Meistertr Developer @Newan last edited by

            @Newan ahh ok also quasi eine wlan Fernbedienung für Kinder. Müsste ich mal schauen ob ich dafür alles Da habe, glaube in meinem Bastelkasten müsste ich alles dafür haben...

            Newan 1 Reply Last reply Reply Quote 0
            • Newan
              Newan @Meistertr last edited by

              @Meistertr Wenn du hilfe brauchst meld dich einfach. Habe als "Radio" Mqtt-client ein Nodemcu, den Code dafür kann ich auch gerne teilen

              1 Reply Last reply Reply Quote 0
              • Feuersturm
                Feuersturm last edited by Feuersturm

                Ich hab für meine Tochter Weihnachten 2018 eine Musikbox gebaut, welche auf der Phoniebox Software basiert (Github https://github.com/MiczFlor/RPi-Jukebox-RFID). Die Musikbox hat später noch ein kleines Display bekommen. Spotify wird von Phoniebox auch unterstützt aber bisher reicht es für uns aus, dass die Musik als MP3 auf dem Pi vorliegt.

                Nachdem meine Box fertig war, machten sich auch mehrere Leute daran, die Phoniebox SW über MQTT steuerbar zu machen
                Da die Phoniebox eine fertige Webseite mitbringt um die Box steuern zu könne, habe ich diese aktuell einfach über ein iFrame in meine VIS eingeblendet
                52b10316-ae41-4869-b73c-37e9426c31f2-grafik.png .

                Wenn Nummer 2 dann da ist und in der Lage ist Musik selber hören zu wollen werde ich schauen, ob ich noch eine Box auf Basis der Phoniebox aufsetze oder ob ich TonUINO als Basis nehme.

                Newan Chaot 2 Replies Last reply Reply Quote 0
                • Newan
                  Newan @Feuersturm last edited by

                  @Feuersturm Auch ein cooles Projekt. Kannte ich noch gar nicht. Viele wege führen nach Rom 😉

                  1 Reply Last reply Reply Quote 0
                  • Chaot
                    Chaot @Feuersturm last edited by

                    @Feuersturm Das Projekt klingt ja richtig interessant.
                    Ist es möglich das wie eine Art Jukebox zu nutzen?
                    Also während des Abspielens eine Playlist zu erstellen und zu erweitern?
                    Sowas suche ich schon sehr lange für kleinere Gartenpartys.

                    Newan Feuersturm 2 Replies Last reply Reply Quote 0
                    • Newan
                      Newan @Chaot last edited by

                      @Chaot Wenn Spotify geht kannste das über dein Handy doch realisieren. Einfach in die Warteschleife neue Lieder reinlegen

                      1 Reply Last reply Reply Quote 0
                      • Feuersturm
                        Feuersturm @Chaot last edited by

                        @Chaot Ich hab die Weiterentwicklung der Phoniebox SW seit Dezember 2018 nur noch sehr sporadisch verfolgt, da für mich alle relevanten Funktionen umgesetzt waren und ich noch keine Zeit / Lust hatte die SW auf den aktuellen Stand zu bringen.

                        Bei meiner Version 1.1.9-rc7 werden die MP3s in einen Ordner gelegt und anschließen muss eine neue Indizierung der Ordner stattfinden, damit die neuen Lieder mit abgespielt werden. Über diesen Weg kannst du also nicht zur Laufzeit Lieder einfach hinzufügen.

                        Spotify hatte ich damals nur kurz ausprobiert. Mehrere User hatten damals (Ende 2018) das Problem, dass der Bootvorgang sehr lange gedauert hat (1 - 2 Minuten), wenn bei Spotify viele Alben / Playlists hinterlegt waren. Was sich seitdem getan hat weiß ich leider nicht. Aktuell ist die Phoniebox SW auf der Version 2.x Dort steht im Changelog "Migration to mopidy3 for Spotify and Google Music integration". Wenn ich gegen Herbst/Winter vielleicht etwas "Langeweile" habe, werde ich mich mal wieder an der Spotify Unterstützung versuchen und diese testen.

                        Chaot 1 Reply Last reply Reply Quote 0
                        • Chaot
                          Chaot @Feuersturm last edited by

                          @Feuersturm @Newan Danke schön, aber das nützt mir leider in der Form nichts.
                          Wo ich das einsetzen möchte ist nichtmal Funknetz verfügbar.
                          Da geht es wirklich um eine Jukebox von der Festplatte.

                          Aber ich habe auch schon sehr lange nicht mehr nach so einer Lösung gesucht. Eventuell gibt es ja bereits sowas.
                          Bisher hatte ich immer E-Jukebox auf dem Laptop dabei. Aber nachdem die letzen beiden male Bier und Schnaps drübergeschüttet wurde habe ich mir eine etwas billigere Lösung gewünscht.

                          Feuersturm 1 Reply Last reply Reply Quote 0
                          • Feuersturm
                            Feuersturm @Chaot last edited by

                            @Chaot Was ich gerade noch gesehen habe, dass sich die Classic Version und die Version mit Spotify wohl an der Stelle deutlich unterscheiden, wenn man neue Dateien hinzufügt. Bei der Spotify Version muss man den Ordner wohl zwingend neu indizieren. Bei der Classic Version ist das dann wohl vermutlich nicht notwendig. Ich glaub da hilft nur Manual lesen und ausprobieren ob die SW für deinen Anwendungsfall geeignet ist.

                            Chaot 1 Reply Last reply Reply Quote 0
                            • Chaot
                              Chaot @Feuersturm last edited by

                              @Feuersturm Danke.
                              Das Projekt nützt mir scheinbar doch nichts, aber das hat mich jetzt auf die richtige Idee gebracht.

                              ? 1 Reply Last reply Reply Quote 0
                              • ?
                                A Former User @Chaot last edited by

                                @chaot vielleicht suchst Du nach sowas:

                                https://www.voss.earth/tonuino/

                                1 Reply Last reply Reply Quote 1
                                • First post
                                  Last post

                                Support us

                                ioBroker
                                Community Adapters
                                Donate

                                904
                                Online

                                31.7k
                                Users

                                79.6k
                                Topics

                                1.3m
                                Posts

                                5
                                14
                                3753
                                Loading More Posts
                                • Oldest to Newest
                                • Newest to Oldest
                                • Most Votes
                                Reply
                                • Reply as topic
                                Log in to reply
                                Community
                                Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                The ioBroker Community 2014-2023
                                logo