Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. Steuerung günstiges Audio Multiroom-System (Silvercrest)

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.3k

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    9.3k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    14
    1
    2.6k

Steuerung günstiges Audio Multiroom-System (Silvercrest)

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
33 Beiträge 15 Kommentatoren 11.7k Aufrufe 3 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • EisbaeeerE Offline
    EisbaeeerE Offline
    Eisbaeeer
    Developer
    schrieb am zuletzt editiert von
    #6

    @Desa:

    Vorschlag. Ihr Baut Adapter und ich Kauf mir auch eine mini Box :D `

    Gegenvorschlag: Du kaufst dir 2 und schenkst uns eine zum Adapter bauen ;)

    Kein support per PM. Bitte im Forum Fragen stellen!

    1 Antwort Letzte Antwort
    0
    • D Offline
      D Offline
      Desa
      schrieb am zuletzt editiert von
      #7

      ähh warte ich schau mal in meine Geldbörse …. warte .... warte .... hm iwie sagt das Dunkle Loch da drinne NEEEEE ^^

      Ich glaube da warte ich dann doch lieber ^^

      5x Rpi3, 2xRpi4 4gb, 4x HMThermostat, 4x MaxThermostat, 12x HMFensterkontakt, 2x MaxFensterkontakt, 2x RauchmelderZwave, 3x SteckdoseZwave, 14x Steckdose Elro433MHz, 2x HM 4FachSchaltaktor, 3x FS20Bewegungsmelder, 1xCul433, 1xCul862, 1xCulMAX, 1xZwave und HMO, MI Home Gateway 2x, 7x Mi Smoke, 1x MiGas, 3x Temp, 3x Sens

      1 Antwort Letzte Antwort
      0
      • M Offline
        M Offline
        manne01
        schrieb am zuletzt editiert von
        #8

        +1 wäre an so einem Adapter auch sehr interessiert und habe mal eine Trello Karte erstellt.

        1 Antwort Letzte Antwort
        0
        • S Offline
          S Offline
          spielberger32
          schrieb am zuletzt editiert von
          #9

          Also ich habe es mit meinen rudimentären JavaScript-Skills ;) geschafft eine kleine Steuerung für meine Radios zu bauen. Ich kann über den ioBroker, also per viz-Oberfläche oder Alexa-Befehle aktuell die Radios mit folgenden Eigenschaften steuern:

          • Ein/Ausschalten

          • Gruppieren

          • Radiosender auswählen

          • Bestimmte Lautstärke setzen

          Generell ist es bei mir konzeptioniert wie "Szenen" die ich als Befehlsabfolge in einem JavaScript gespeichert habe: z.B. "Standard Lautstärke", "Party Modus", "Morgen Radio" … etc ... Es werden aber "nur" meherere HTTP-Request-Befehle mit festen IP's gesendet. Es gibt keine Kommunikation zurück und erst recht keinen festen Adapter - Zustände werden nicht abgerufen und gespeichert. Das ist immerhin ein Anfang und ich kann es nutzen :oops:

          Beispiele folgen ;)

          <size size="85">„Alte Knaben haben genauso ihr Spielzeug wie die jungen, der Unterschied liegt lediglich im Preis.“

          Benjamin Franklin</size>

          1 Antwort Letzte Antwort
          0
          • D Offline
            D Offline
            Desa
            schrieb am zuletzt editiert von
            #10

            Is ja Gut :D , dann will ich mir mal nach dem Urlaub ein set holen und dann sehen wir mal ob die was taugen. :lol:

            5x Rpi3, 2xRpi4 4gb, 4x HMThermostat, 4x MaxThermostat, 12x HMFensterkontakt, 2x MaxFensterkontakt, 2x RauchmelderZwave, 3x SteckdoseZwave, 14x Steckdose Elro433MHz, 2x HM 4FachSchaltaktor, 3x FS20Bewegungsmelder, 1xCul433, 1xCul862, 1xCulMAX, 1xZwave und HMO, MI Home Gateway 2x, 7x Mi Smoke, 1x MiGas, 3x Temp, 3x Sens

            1 Antwort Letzte Antwort
            0
            • S Offline
              S Offline
              spielberger32
              schrieb am zuletzt editiert von
              #11

              Wie versprochen hier ein Beispiel Skript mit dem das Gerät eingeschaltet und ein Radiosender ausgewählt wird. Notwendig ist die Script-Bibliothek xml2js um die Antworten der Geräte auswerten zu könenn. Ihr dürft gerne lachen was meine JavaScript-Kenntnisse angeht ;) … hoch professionell ist das nicht

              Was passiert ist folgendes:

              • das Radio mit der festen IP wird angefragt ob es läuft und reagiert. Leider nötig, weil die Erreichbarkeit im Netzwerk einer der größten Bugs der günstigen Lautsprecher sind. Manchmal sind trotz Standby-Funktion einfach offline.

              WENN ERREICHBAR:

              • SET/netRemote.sys.power Gerät wird eingeschaltet

              • SET/netRemote.sys.mode Modus wird auf Radio gesetzt

              DANN 2 SEKUNDEN WARTEN BIS DER LAUTSPRECHER DIESE SCHRITTE AUSGEFÜHRT HAT

              • CREATE_SESSION Eine Session-ID holen, damit durch die Optionen navigiert werden kann

              DANN 2 SEKUNDEN WARTEN BIS DER LAUTSPRECHER DIESE SCHRITTE AUSGEFÜHRT HAT UND DIE ID GELSEN WURDE

              • SET/netRemote.nav.state "Virtuelle" Menü-Navigation mit Session-ID einschalten

              • SET/netRemote.nav.action.selectPreset Das entsprechende Radio-Preset wählen

              DAS SCRIPT WIRD GESTOPPT

              
              var request = require('request');
              var parseString = require('xml2js').parseString;
              
              var ip              ='192.168.XXX.XXX';
              var pin             ='1234';
              var radiostation    ='3';
              var volume          ='3';
              var link;
              var sessionID;
              
              //Check connection, if true activate fs_command function
                request(
                  { method: 'GET'
                  , uri: 'http://' + ip
                  , timeout: 1500
                  }
                , function (error, response, body) {
                    // connection check
                  }).on('error', function(error) {
                  console.log(error);
                  }).on('response', function(response) {
                      if (response.statusCode == "200") {
                      console.log('Status Code ' + response.statusCode + ': sending command');
              
                      timeout = setTimeout(function () {fs_power_mode();     }, 1000);
              
                      }
                  }
                 );
              
              function fs_power_mode(){ 
                  link = 'http://' + ip + '/fsapi/SET/netRemote.sys.power' + "?pin=" + pin + '&value=1';
                  log(link);
              
                  request(link, function (error, response, body) {
                          var xml, result;
                              parseString(body, function (err, result) {
                                  xml = JSON.stringify(result);
                                  //log("XML Objekt: " + xml); 
                                  xml=JSON.parse(xml); 
                                  log (xml.fsapiResponse.status);
                              });
              
                              link = 'http://' + ip + '/fsapi/SET/netRemote.sys.mode' + "?pin=" + pin + '&value=0';
                              log(link);
              
                              request(link, function (error, response, body) {
                                      var xml, result;
                                          parseString(body, function (err, result) {
                                              xml = JSON.stringify(result);
                                              //log("XML Objekt: " + xml); 
                                              xml=JSON.parse(xml); 
                                              log ('test '+xml.fsapiResponse.status);
              
                                              timeout = setTimeout(function () {fs_session();    }, 2000);
              
                                          });
                              });
              });
              }  
              
              function fs_session(){
              
                  link = "http://" + ip + '/fsapi/CREATE_SESSION' + "?pin=" + pin;
                  //log(link);
              
                      request(link, function (error, response, body) {
                          var xml, result;
                              parseString(body, function (err, result) {
                                  xml = JSON.stringify(result);
                                  //log("XML Objekt: " + xml); 
                                  xml=JSON.parse(xml); 
                                  //log (xml.fsapiResponse.sessionId);
                                  log (link + ' ' + xml.fsapiResponse.status);
                                  sessionID = xml.fsapiResponse.sessionId;
                                  log ('Neue Session: ' + sessionID);
              
                                  timeout = setTimeout(function () {fs_navigate();     }, 2000);
              
                          });            
              
                  });
              }
              
              function fs_navigate(){
              
                              link = 'http://' + ip + '/fsapi/SET/netRemote.nav.state' + "?pin=" + pin + '&sid=' + sessionID + '&value=1';
                              log(link);
              
                              request(link, function (error, response, body) {
                                      var xml, result;
                                          parseString(body, function (err, result) {
                                              xml = JSON.stringify(result);
                                              xml=JSON.parse(xml); 
                                              log (xml.fsapiResponse.status);
                                          });
              
                                      link = 'http://' + ip + '/fsapi/SET/netRemote.nav.action.selectPreset' + "?pin=" + pin + '&value=' + radiostation;
                                      log(link);
              
                                       request(link, function (error, response, body) {
                                              var xml, result;
                                                  parseString(body, function (err, result) {
                                                      xml = JSON.stringify(result);
                                                      xml=JSON.parse(xml); 
                                                      log (xml.fsapiResponse.status);
              
                                                  });
              
                                       });
                          });
              }
              
              stopScript();
              
              

              Die meisten einfachen Funktionen Power, Lautstärke etc gehen ohne Session-ID. Alles was mit Navigation zu tun hat, also Sender setzen, Gruppieren etc. muss mit einer Session-ID erfolgen.

              Im Skript oben wird die HTTP-Antwort des Gerätes geloggt. Das kostet oft unnötig Ressourcen im Skript. Bei einfachen Dingen wie Lautstärke setzen habe ich die Funktion raus gelassen. Wie im nächsten Beispiel:

              Beispiel 2: Lautstärke aller Lautsprecher auf Standard

              Was passiert?

              • 4 Lautsprecher und deren Lautstärke werden definiert

              • SET/netRemote.sys.audio.volume Lautstärke wird gesetzt

              var request = require('request');
              var parseString = require('xml2js').parseString;
              
              var ip1              ='192.168.XXX.1';
              var volume1          ='6';
              
              var ip2              ='192.168.XXX.2';
              var volume2          ='6';
              
              var ip3              ='192.168.XXX.3';
              var volume3          ='10';
              
              var ip4              ='192.168.XXX.4';
              var volume4          ='7';
              
              var pin             ='1234';
              
              var link;
              
                          link = 'http://' + ip1 + '/fsapi/SET/netRemote.sys.audio.volume' + "?pin=" + pin + '&value=' + volume1;
                          log(link);
              
                          request(link, function (error, response, body) {
              
                              link = 'http://' + ip2 + '/fsapi/SET/netRemote.sys.audio.volume' + "?pin=" + pin + '&value=' + volume2;
                              log(link);
              
                              request(link, function (error, response, body) {
              
                                  link = 'http://' + ip3 + '/fsapi/SET/netRemote.sys.audio.volume' + "?pin=" + pin + '&value=' + volume3;
                                  log(link);
              
                                  request(link, function (error, response, body) {
              
                                      link = 'http://' + ip4 + '/fsapi/SET/netRemote.sys.audio.volume' + "?pin=" + pin + '&value=' + volume4;
                                      log(link);
              
                                      request(link, function (error, response, body) {
              
                          });     
                          }); 
                          }); 
                          }); 
              
                  log('Laustärke gesetzt');
              
              stopScript();
              
              

              Vielleicht ist das hilfreich für euch. Wundert euch beim Ausprobieren nicht: die Steuerung der Lautsprecher ist offenbar VOLLER BUGS. Ständig funktioniert irgendwas nicht - vollkommen unabhängig ob via IOS-App, Android-App oder über direkte HTTP-Befehle.

              Die HTTP-Request-Befehle an die Lautsprecher sehen also immer etwa so aus:

              http://192.168.XXX.XXX/fsapi/SET/netRem … 34&value=5

              Das kann man in jedem Browser im Netzwerk testen. Eine Liste der meisten Befehle gibt's hier: https://github.com/flammy/fsapi/blob/master/FSAPI.md

              <size size="85">„Alte Knaben haben genauso ihr Spielzeug wie die jungen, der Unterschied liegt lediglich im Preis.“

              Benjamin Franklin</size>

              1 Antwort Letzte Antwort
              0
              • M Offline
                M Offline
                mystic
                schrieb am zuletzt editiert von
                #12

                Bin überhaupt nicht mit dem Lidl System zufrieden geworden http://multiroom-lautsprecher-test.org !

                Hab das sofort entsorgt und was qualitativ-hochwertiges besorgt.

                Würde ich dir auch empfehlen lieber etwas mehr hinzublättern.

                1 Antwort Letzte Antwort
                0
                • S Offline
                  S Offline
                  spielberger32
                  schrieb am zuletzt editiert von
                  #13

                  Ja auch bei mir ist der Test nicht aufgegangen. Zu viele Kleinigkeiten, die ständig nicht funktionieren.

                  Habe dazu auch ein Video gemacht, weil es trotzdem ein gutes Beispiel ist: https://youtu.be/7BlBhHJG6_U

                  <size size="85">„Alte Knaben haben genauso ihr Spielzeug wie die jungen, der Unterschied liegt lediglich im Preis.“

                  Benjamin Franklin</size>

                  1 Antwort Letzte Antwort
                  0
                  • BBTownB Online
                    BBTownB Online
                    BBTown
                    schrieb am zuletzt editiert von
                    #14

                    @mystic:

                    Bin überhaupt nicht mit dem Lidl System zufrieden geworden http://multiroom-lautsprecher-test.org ` meinem Verständnis nach ist der Echo kein Multiroom-Lautsprechersystem :|

                    ioBroker auf NUC (VM debian v13 (Trixie ), node v22.21.0 npm v10.9.4, js-controller v7.1.0 jsonl/jsonl / HomeMatic CCU-2 (Wired und Funk) / Philips HUE / echo.DOT / Broadlink RM pro / SONOS

                    1 Antwort Letzte Antwort
                    0
                    • D Offline
                      D Offline
                      deejay
                      schrieb am zuletzt editiert von
                      #15

                      Gibt es hier noch Neuigkeiten? Mich interessiert das Thema auch. Habe ebenfalls die Lautsprecher und Alexa und würde gerne mit ein paar einfachen Befehlen starten…

                      1 Antwort Letzte Antwort
                      0
                      • B Offline
                        B Offline
                        Berchemer
                        schrieb am zuletzt editiert von
                        #16

                        @spielberger32

                        Danke für den Hinweis mit "FSRadio-Remote" 8-)

                        Jetzt werde ich mal schauen, ob ich auch mit Deinen Vorschlägen zur Steuerung in VIS zurechtkomme :?

                        1 Antwort Letzte Antwort
                        0
                        • K Offline
                          K Offline
                          klmf2
                          schrieb am zuletzt editiert von
                          #17

                          super, vielen Dank.

                          Meine Frau und ich können uns morgens im Bad immer nicht auf einen Radiosender einigen. Jetzt kann jeder über den Homematic Lichtschalter den Seiner schnell auswählen, den er möchte :-)

                          1 Antwort Letzte Antwort
                          0
                          • C Offline
                            C Offline
                            chemieka
                            schrieb am zuletzt editiert von
                            #18

                            Ich habe ein Anua KR-200. Das Radio wäre auch wie oben beschrieben steuerbar. Gibt es hier eine Adapterlösung?

                            1 Antwort Letzte Antwort
                            0
                            • DiginixD Offline
                              DiginixD Offline
                              Diginix
                              schrieb am zuletzt editiert von
                              #19

                              Bisher nichts in Sicht, aber über die http requests kann ich mein Medion Radio wunderbar steuern.

                              Man hat halt nur keine Datenpunkte mit dem tatsächlichen Status. Falls es mal manuell eingeschaltet wurde, weiß ioBroker das nicht.

                              Das bekommt man aber auch mit einem http request raus, nur wie oft will man den sinnlos ausführen um es immer zeitnah zu wissen.

                              Seit ich das Radio aber nur noch per Alexa steuer, ist das für mich nicht so wichtig.

                              Dennoch würde ich mich auch über einen Frontier-Silicon Adapter freuen. Immerhin gibt es nicht wenig Geräte die damit funktionieren würden.

                              Wundert mich echt, dass den noch keiner geschrieben hat.

                              @Ingo (https://forum.iobroker.net/memberlist.php?mode=viewprofile&u=378): Ist das Trello Board noch relevant?

                              Sieht alles recht veraltet aus. Wo wäre ein Adapter Request am sinnvollsten platziert?

                              ..:: So long! Tom ::..

                              NUC7i3 (Ubuntu Proxmox VM) | Echo Dots 2+3. Gen | Xiaomi Sensoren | Mi Robot 1S | Yeelight | Sonoff | Shelly | H801 RGB | Gosund SP1 | NodeMCU+ESP32 | Kostal Plenticore PV+BYD | openWB

                              1 Antwort Letzte Antwort
                              0
                              • C Offline
                                C Offline
                                chemieka
                                schrieb am zuletzt editiert von
                                #20

                                Och ich würde da schon einen Sinn sehen. Man kann den Titel/Interpret/Cover auslesen.

                                Und man könnte auch seine Favoriten auslesen und natürlich wäre die Steuerung besser.

                                Aber Grundsätzlich wäre es schon toll wenigstens Titel/Interpret/Cover in eine IObroker Systemvariable zu bekommen um das dann Visualisieren zu können. Für jemanden der das kann ist das bestimmt einfach für mich leider nicht.

                                Trotzdem mal im Code die Wichtigsten HTTP Requests in Sammlung, wenn wer was dazu tragen möchte gern.

                                http://192.168.1.59:80/fsapi/SET/netRemote.sys.power?pin=1234&sid=570007566&value=1
                                DAB
                                http://192.168.1.59/fsapi/SET/netRemote.sys.Mode?pin=1234&sid=570007566&value=4
                                Internetradio
                                http://192.168.1.59/fsapi/SET/netRemote.sys.Mode?pin=1234&sid=570007566&value=0
                                Senderwahl Favariten
                                http://192.168.1.59/fsapi/SET/netRemote.nav.state?pin=1234&sid=1541669613&value=1
                                http://192.168.1.59/fsapi/SET/netRemote.nav.action.selectPreset?pin=1234&sid=1426318513&value=0
                                
                                Albumcover URL
                                http://192.168.1.59/fsapi/GET/netRemote.play.info.graphicUri?pin=1234&sid=1541669613
                                
                                Interpret/Song
                                http://192.168.1.59/fsapi/GET_NOTIFIES?pin=1234&sid=1541669613
                                
                                http://192.168.1.59/fsapi/LIST_GET_NEXT/netRemote.sys.caps.validModes/-1?pin=1234&sid=1541669613&maxItems=65536
                                
                                Lautstärke
                                http://192.168.1.59/fsapi/SET/netRemote.sys.audio.volume?pin=1234&sid=1426318513&value=5
                                
                                Neue SID erzeugen
                                http://192.168.1.59/fsapi/CREATE_SESSION?pin=1234
                                
                                1 Antwort Letzte Antwort
                                0
                                • C Offline
                                  C Offline
                                  chemieka
                                  schrieb am zuletzt editiert von
                                  #21

                                  Hat jemand eine Idee wie ich mit diesem http Befehl die Cover URL in eine Variable schreiben könnte um das Cover dann zur VISU zu nutzen.

                                  Das Ergebnis des http Befehls schaut so aus:

                                  
                                  - <fsapiresponse><status>FS_OK</status>
                                  
                                  - <value><c8_array>http://auna2.wifiradiofrontier.com/setupapp/setup1/logo/logo-82098.png</c8_array></value></fsapiresponse> 
                                  

                                  <size size="150">Ich schreibe die Frage mal unter Skripte rein, passt hier nicht so richtig.</size>

                                  1 Antwort Letzte Antwort
                                  0
                                  • EisbaeeerE Offline
                                    EisbaeeerE Offline
                                    Eisbaeeer
                                    Developer
                                    schrieb am zuletzt editiert von
                                    #22

                                    @chemieka:

                                    Hat jemand eine Idee wie ich mit diesem http Befehl die Cover URL in eine Variable schreiben könnte um das Cover dann zur VISU zu nutzen. `

                                    What?

                                    Da seh ich keinen Befehl. Was genau willst du machen?

                                    DIE URL zeigt ja auf eine externe Seite.

                                    Imho kannst du die url direkt in der Visualisierung verwenden. Internet vorausgesetzt.

                                    Gruß Eisbaeeer

                                    Gesendet von meinem SM-G950F mit Tapatalk

                                    Kein support per PM. Bitte im Forum Fragen stellen!

                                    1 Antwort Letzte Antwort
                                    0
                                    • C Offline
                                      C Offline
                                      claus1993
                                      schrieb am zuletzt editiert von
                                      #23

                                      Habe beim mir die URL für das Logo mittels Node Red ausgelesen und in einen Datenpunkt geschrieben.

                                      Die Rückmeldung habe ich auf "c8_array" selektiert.

                                      1 Antwort Letzte Antwort
                                      0
                                      • C Offline
                                        C Offline
                                        chemieka
                                        schrieb am zuletzt editiert von
                                        #24

                                        Das wäre toll wenn du mir schreiben könntest wie das genau geht.

                                        Der Befehl ist:

                                        http://192.168.1.59/fsapi/GET/netRemote.play.info.graphicUri?pin=1234&sid=1541669613
                                        

                                        Die Anwort steht oben mit der URL wo dann das Cover liegt. Diese URL müsste in eine Variable zur weiteren Verwendung gespeichert werden.

                                        Das sind Informationen welche auch einem Internet/DAB Radio kommen.

                                        Also Node Red habe ich jetzt drauf allerdings mit massig Fehlermeldungen. Könnte mir vorstellen das geht mit Blocky auch. Bin aber für jeden Vorschlag dankbar.

                                        1 Antwort Letzte Antwort
                                        0
                                        • C Offline
                                          C Offline
                                          chemieka
                                          schrieb am zuletzt editiert von
                                          #25

                                          Ich bekomme im Blocky schon mal eine Antwort. Aber wie kann ich das FS_OK raus gefiltert?
                                          1867_radio.jpg

                                          1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate
                                          FAQ Cloud / IOT
                                          HowTo: Node.js-Update
                                          HowTo: Backup/Restore
                                          Downloads
                                          BLOG

                                          687

                                          Online

                                          32.5k

                                          Benutzer

                                          81.7k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe