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. Skripten / Logik
  4. JavaScript
  5. [Vorlage] upnp Media Player

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

[Vorlage] upnp Media Player

Geplant Angeheftet Gesperrt Verschoben JavaScript
javascripttemplate
21 Beiträge 3 Kommentatoren 1.9k Aufrufe 7 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.
  • Jey CeeJ Online
    Jey CeeJ Online
    Jey Cee
    Developer
    schrieb am zuletzt editiert von Jey Cee
    #1

    In letzter Zeit sehe ich wieder Häufiger Fragen wie "mp3 auf Gerät XY Wiedergeben" und mein Sonos Adapter treibt mich in den Wahnsinn mit den Abstürzen.
    Deswegen hab ich mal wieder ein altes Projekt von mir raus gekramt, ein Skript mit dem man upnp fähige Geräte zumindest rudimentär steuern kann.
    Das Skript ist von 2017 und ich hab es nur so viel angepasst das es wieder läuft. Es sollte euch vor allem auch dazu dienen zu verstehen wie man mit dem upnp Adapter arbeiten kann.
    Oder halt nur um eine mp3 Wieder zu geben :grin:

    Vorasusetzungen:

    • upnp Adapter
    • upnp Fähiges Gerät

    Was gibt es zu beachten?

    • device: Hier muss der Pfad zum "Media Renderer" angegeben werden
    • control: Hier den gewünschten Pfad angeben in dem die Objekte angelegt werden sollen. Der Pfad muss existieren!
    • mp3's müssen an einem Ort liegen der vom Netzwerk aus erreichbar ist.
    • es funktionieren NUR mp3 oder andere vom Gerät Unterstütze Audio Fomrate, Widergabelisten wie m3u funktionieren NICHT.
    • Bei manchen Geräten, in der Regel TV's, muss die Upnp Steuerung Frei gegeben bzw. bei der ersten Benutzung bestätigt werden. Einfach einmal Steuern, taucht ein Pop-up auf.
    const device = "upnp.0.Büro_-_Sonos_Connect:Amp_Media_Renderer"; //Hier das upnp Gerät eintragen das gesteuert werden soll. 
    const control = '0_userdata.0.Buero.Sonos_amp'; //Hier das Objekt eintragen wo die Steuerobjekte angelegt werden sollen
    let oldVol;
    //createState(name, initialValue, forceCreation, common, native, callback);
    createState(control + '.MediaControl.Play', false, {type: 'boolean', read: true, write: true, role: 'button.play'});
    createState(control + '.MediaControl.Pause', false, {type: 'boolean', read: true, write: true, role: 'button.pause'});
    createState(control + '.MediaControl.Stop', false, {type: 'boolean', read: true, write: true, role: 'button.stop'});
    createState(control + '.AudioControl.Vol_UP', false, {type: 'boolean', read: true, write: true, role: 'button.volume_up'});
    createState(control + '.AudioControl.Vol_Down', false, {type: 'boolean', read: true, write: true, role: 'button.volume_down'});
    createState(control + '.AudioControl.Mute', false, {type: 'boolean', read: true, write: true, role: 'button.mute'});
    createState(control + '.MediaControl.MediaURL', '', {type: 'string', read: true, write: true, role: 'media.url'});
    on({id: control + '.MediaControl.Play', val: true
        }, function(obj) {
            //Wiedergabe starten
            setState(device +  '.MediaRenderer.AVTransport.Play.InstanceID', '0');
            setState(device +  '.MediaRenderer.AVTransport.Play.Speed', '1');
            setState(device + '.MediaRenderer.AVTransport.Play.request', true);
            setTimeout(function(){setState(obj.id, false);}, 150);
        });
     
    on({id: control + '.MediaControl.Pause', val: true
        }, function(obj) {
     
            //Wiedergabe pausieren
            setState(device +  '.MediaRenderer.AVTransport.Pause.InstanceID', '0');
            setState(device + '.MediaRenderer.AVTransport.Pause.request', true);
            setTimeout(function(){setState(obj.id, false);}, 150);
        });
     
    on({id: control + '.MediaControl.Stop', val: true
        }, function(obj) {
     
            //Wiedergabe stoppen
            setState(device +  '.MediaRenderer.AVTransport.Stop.InstanceID', '0');
            setState(device + '.MediaRenderer.AVTransport.Stop.request', true);
            setTimeout(function(){setState(obj.id, false);}, 150);
        });
     
    on({id: control + '.AudioControl.Vol_UP', val: true
        }, async function(obj){
            setState(device + '.MediaRenderer.RenderingControl.GetVolume.Channel', 'Master');
            setState(device +  '.MediaRenderer.RenderingControl.GetVolume.InstanceID', '0');
            setState(device + '.MediaRenderer.RenderingControl.GetVolume.request', true);
            await wait(150);
            oldVol = getState(device + '.MediaRenderer.RenderingControl.Volume').val;
     
            newVol = parseInt(oldVol) + 5; //der Wert um den die Lautstärke geändert wird, kann beliebig geändert werden
     
            //neue Lautstärke senden
            setState(device + '.MediaRenderer.RenderingControl.SetVolume.Channel', 'Master');
            setState(device + '.MediaRenderer.RenderingControl.SetVolume.DesiredVolume', newVol.toString());
            setState(device +  '.MediaRenderer.RenderingControl.SetVolume.InstanceID', '0');
            setState(device + '.MediaRenderer.RenderingControl.SetVolume.request', true);
            setTimeout(function(){setState(obj.id, false);}, 150);
        });
     
    on({id: control + '.AudioControl.Vol_Down', val: true
        }, async function(obj){
            setState(device + '.MediaRenderer.RenderingControl.GetVolume.Channel', 'Master');
            setState(device +  '.MediaRenderer.RenderingControl.GetVolume.InstanceID', '0');
            setState(device + '.MediaRenderer.RenderingControl.GetVolume.request', true);
            await wait(150);
            oldVol = getState(device + '.MediaRenderer.RenderingControl.Volume').val;
     
            newVol = parseInt(oldVol) - 5; //der Wert um den die Lautstärke geändert wird, kann beliebig geändert werden
     
            //neue Lautstärke senden
            setState(device + '.MediaRenderer.RenderingControl.SetVolume.Channel', 'Master');
            setState(device + '.MediaRenderer.RenderingControl.SetVolume.DesiredVolume', newVol.toString());
            setState(device +  '.MediaRenderer.RenderingControl.SetVolume.InstanceID', '0');
            setState(device + '.MediaRenderer.RenderingControl.SetVolume.request', true);
            setTimeout(function(){setState(obj.id, false);}, 150);
        });
     
    on({id: control + '.AudioControl.Mute', val: true
        }, async function(obj){
            setState(device + '.MediaRenderer.RenderingControl.GetMute.InstanceID', '0');
            setState(device + '.MediaRenderer.RenderingControl.GetMute.Channel', 'Master');
            setState(device + '.MediaRenderer.RenderingControl.GetMute.request', true);
            await wait(150);
            const oldMute = getState(device + '.MediaRenderer.RenderingControl.Mute').val;
     
            if(oldMute == '0'){
                setState(device + '.MediaRenderer.RenderingControl.SetMute.InstanceID', '0');
                setState(device + '.MediaRenderer.RenderingControl.SetMute.Channel', 'Master');
                setState(device + '.MediaRenderer.RenderingControl.SetMute.DesiredMute', '1');
                setState(device + '.MediaRenderer.RenderingControl.SetMute.request', true);
                //oldVol = getState(device + '.MediaRenderer.RenderingControl.Volume').val;
            }else{
                setState(device + '.MediaRenderer.RenderingControl.SetMute.InstanceID', '0');
                setState(device + '.MediaRenderer.RenderingControl.SetMute.Channel', 'Master');
                setState(device + '.MediaRenderer.RenderingControl.SetMute.DesiredMute', '0');
                setState(device + '.MediaRenderer.RenderingControl.SetMute.request', true);
            }
            setTimeout(function(){setState(obj.id, false);}, 150);
        });
     
    on({id: control + '.MediaControl.MediaURL'
        }, function(obj){
        setState(device + '.MediaRenderer.AVTransport.SetAVTransportURI.CurrentURI', obj.state.val);
        setState(device + '.MediaRenderer.AVTransport.SetAVTransportURI.InstanceID', '0');
        setState(device + '.MediaRenderer.AVTransport.SetAVTransportURI.request', true);
    });
    

    Wer das Skript erweitert oder verbessert darf es gerne Zeigen.
    Und jetzt Viel Spaß damit.

    Persönlicher Support
    Spenden -> paypal.me/J3YC33

    B 1 Antwort Letzte Antwort
    1
    • Jey CeeJ Jey Cee

      In letzter Zeit sehe ich wieder Häufiger Fragen wie "mp3 auf Gerät XY Wiedergeben" und mein Sonos Adapter treibt mich in den Wahnsinn mit den Abstürzen.
      Deswegen hab ich mal wieder ein altes Projekt von mir raus gekramt, ein Skript mit dem man upnp fähige Geräte zumindest rudimentär steuern kann.
      Das Skript ist von 2017 und ich hab es nur so viel angepasst das es wieder läuft. Es sollte euch vor allem auch dazu dienen zu verstehen wie man mit dem upnp Adapter arbeiten kann.
      Oder halt nur um eine mp3 Wieder zu geben :grin:

      Vorasusetzungen:

      • upnp Adapter
      • upnp Fähiges Gerät

      Was gibt es zu beachten?

      • device: Hier muss der Pfad zum "Media Renderer" angegeben werden
      • control: Hier den gewünschten Pfad angeben in dem die Objekte angelegt werden sollen. Der Pfad muss existieren!
      • mp3's müssen an einem Ort liegen der vom Netzwerk aus erreichbar ist.
      • es funktionieren NUR mp3 oder andere vom Gerät Unterstütze Audio Fomrate, Widergabelisten wie m3u funktionieren NICHT.
      • Bei manchen Geräten, in der Regel TV's, muss die Upnp Steuerung Frei gegeben bzw. bei der ersten Benutzung bestätigt werden. Einfach einmal Steuern, taucht ein Pop-up auf.
      const device = "upnp.0.Büro_-_Sonos_Connect:Amp_Media_Renderer"; //Hier das upnp Gerät eintragen das gesteuert werden soll. 
      const control = '0_userdata.0.Buero.Sonos_amp'; //Hier das Objekt eintragen wo die Steuerobjekte angelegt werden sollen
      let oldVol;
      //createState(name, initialValue, forceCreation, common, native, callback);
      createState(control + '.MediaControl.Play', false, {type: 'boolean', read: true, write: true, role: 'button.play'});
      createState(control + '.MediaControl.Pause', false, {type: 'boolean', read: true, write: true, role: 'button.pause'});
      createState(control + '.MediaControl.Stop', false, {type: 'boolean', read: true, write: true, role: 'button.stop'});
      createState(control + '.AudioControl.Vol_UP', false, {type: 'boolean', read: true, write: true, role: 'button.volume_up'});
      createState(control + '.AudioControl.Vol_Down', false, {type: 'boolean', read: true, write: true, role: 'button.volume_down'});
      createState(control + '.AudioControl.Mute', false, {type: 'boolean', read: true, write: true, role: 'button.mute'});
      createState(control + '.MediaControl.MediaURL', '', {type: 'string', read: true, write: true, role: 'media.url'});
      on({id: control + '.MediaControl.Play', val: true
          }, function(obj) {
              //Wiedergabe starten
              setState(device +  '.MediaRenderer.AVTransport.Play.InstanceID', '0');
              setState(device +  '.MediaRenderer.AVTransport.Play.Speed', '1');
              setState(device + '.MediaRenderer.AVTransport.Play.request', true);
              setTimeout(function(){setState(obj.id, false);}, 150);
          });
       
      on({id: control + '.MediaControl.Pause', val: true
          }, function(obj) {
       
              //Wiedergabe pausieren
              setState(device +  '.MediaRenderer.AVTransport.Pause.InstanceID', '0');
              setState(device + '.MediaRenderer.AVTransport.Pause.request', true);
              setTimeout(function(){setState(obj.id, false);}, 150);
          });
       
      on({id: control + '.MediaControl.Stop', val: true
          }, function(obj) {
       
              //Wiedergabe stoppen
              setState(device +  '.MediaRenderer.AVTransport.Stop.InstanceID', '0');
              setState(device + '.MediaRenderer.AVTransport.Stop.request', true);
              setTimeout(function(){setState(obj.id, false);}, 150);
          });
       
      on({id: control + '.AudioControl.Vol_UP', val: true
          }, async function(obj){
              setState(device + '.MediaRenderer.RenderingControl.GetVolume.Channel', 'Master');
              setState(device +  '.MediaRenderer.RenderingControl.GetVolume.InstanceID', '0');
              setState(device + '.MediaRenderer.RenderingControl.GetVolume.request', true);
              await wait(150);
              oldVol = getState(device + '.MediaRenderer.RenderingControl.Volume').val;
       
              newVol = parseInt(oldVol) + 5; //der Wert um den die Lautstärke geändert wird, kann beliebig geändert werden
       
              //neue Lautstärke senden
              setState(device + '.MediaRenderer.RenderingControl.SetVolume.Channel', 'Master');
              setState(device + '.MediaRenderer.RenderingControl.SetVolume.DesiredVolume', newVol.toString());
              setState(device +  '.MediaRenderer.RenderingControl.SetVolume.InstanceID', '0');
              setState(device + '.MediaRenderer.RenderingControl.SetVolume.request', true);
              setTimeout(function(){setState(obj.id, false);}, 150);
          });
       
      on({id: control + '.AudioControl.Vol_Down', val: true
          }, async function(obj){
              setState(device + '.MediaRenderer.RenderingControl.GetVolume.Channel', 'Master');
              setState(device +  '.MediaRenderer.RenderingControl.GetVolume.InstanceID', '0');
              setState(device + '.MediaRenderer.RenderingControl.GetVolume.request', true);
              await wait(150);
              oldVol = getState(device + '.MediaRenderer.RenderingControl.Volume').val;
       
              newVol = parseInt(oldVol) - 5; //der Wert um den die Lautstärke geändert wird, kann beliebig geändert werden
       
              //neue Lautstärke senden
              setState(device + '.MediaRenderer.RenderingControl.SetVolume.Channel', 'Master');
              setState(device + '.MediaRenderer.RenderingControl.SetVolume.DesiredVolume', newVol.toString());
              setState(device +  '.MediaRenderer.RenderingControl.SetVolume.InstanceID', '0');
              setState(device + '.MediaRenderer.RenderingControl.SetVolume.request', true);
              setTimeout(function(){setState(obj.id, false);}, 150);
          });
       
      on({id: control + '.AudioControl.Mute', val: true
          }, async function(obj){
              setState(device + '.MediaRenderer.RenderingControl.GetMute.InstanceID', '0');
              setState(device + '.MediaRenderer.RenderingControl.GetMute.Channel', 'Master');
              setState(device + '.MediaRenderer.RenderingControl.GetMute.request', true);
              await wait(150);
              const oldMute = getState(device + '.MediaRenderer.RenderingControl.Mute').val;
       
              if(oldMute == '0'){
                  setState(device + '.MediaRenderer.RenderingControl.SetMute.InstanceID', '0');
                  setState(device + '.MediaRenderer.RenderingControl.SetMute.Channel', 'Master');
                  setState(device + '.MediaRenderer.RenderingControl.SetMute.DesiredMute', '1');
                  setState(device + '.MediaRenderer.RenderingControl.SetMute.request', true);
                  //oldVol = getState(device + '.MediaRenderer.RenderingControl.Volume').val;
              }else{
                  setState(device + '.MediaRenderer.RenderingControl.SetMute.InstanceID', '0');
                  setState(device + '.MediaRenderer.RenderingControl.SetMute.Channel', 'Master');
                  setState(device + '.MediaRenderer.RenderingControl.SetMute.DesiredMute', '0');
                  setState(device + '.MediaRenderer.RenderingControl.SetMute.request', true);
              }
              setTimeout(function(){setState(obj.id, false);}, 150);
          });
       
      on({id: control + '.MediaControl.MediaURL'
          }, function(obj){
          setState(device + '.MediaRenderer.AVTransport.SetAVTransportURI.CurrentURI', obj.state.val);
          setState(device + '.MediaRenderer.AVTransport.SetAVTransportURI.InstanceID', '0');
          setState(device + '.MediaRenderer.AVTransport.SetAVTransportURI.request', true);
      });
      

      Wer das Skript erweitert oder verbessert darf es gerne Zeigen.
      Und jetzt Viel Spaß damit.

      B Offline
      B Offline
      Berchemer
      schrieb am zuletzt editiert von
      #2

      @jey-cee

      Danke für das Skript :+1: :grinning:

      Habe nun für jeden vom UPNP-Adapter gefundenen Player eingebunden in Form eines einzelnen Skriptes eingebunden.

      Bei mir waren es die WLAN-Lautsprecher und ein Internetradio von Silvercrest und ein Symfonisk-Lautsprecher, den ich normalerweise mit dem SONOS-Adapter anspreche.
      Die Google Home Minis und die Cromecast Audios wurden nicht gefunden, obwohl UPNP bei denen standardmäßig eingeschaltet sein sollte. Habe allerdings in der Home-App auch noch nicht die Stelle gefunden, wo ich diese Einstellung überprüfen kann.

      Die Menupunkte unter "0_userdata" sind erstellt und nun kommt DIE große Frage nach dem:

      Wie spiele ich

      eine mp3-Datei, die auf der ioBroker-Maschine in einem bestimmten Verzeichnis liegt oder
      eine mp3-Datei, die auf einem an der Fritzbox angeschlossenem Stick liegt oder
      eine mp3-Datei, die in einem für das Netzwerk freigegebenen Verzeichnis eines Windows-Rechners liegt

      ab???

      Wenn Du mir/uns da noch einen Schubs geben könntest, wäre ich überglücklich ;-)

      Jey CeeJ 1 Antwort Letzte Antwort
      0
      • B Berchemer

        @jey-cee

        Danke für das Skript :+1: :grinning:

        Habe nun für jeden vom UPNP-Adapter gefundenen Player eingebunden in Form eines einzelnen Skriptes eingebunden.

        Bei mir waren es die WLAN-Lautsprecher und ein Internetradio von Silvercrest und ein Symfonisk-Lautsprecher, den ich normalerweise mit dem SONOS-Adapter anspreche.
        Die Google Home Minis und die Cromecast Audios wurden nicht gefunden, obwohl UPNP bei denen standardmäßig eingeschaltet sein sollte. Habe allerdings in der Home-App auch noch nicht die Stelle gefunden, wo ich diese Einstellung überprüfen kann.

        Die Menupunkte unter "0_userdata" sind erstellt und nun kommt DIE große Frage nach dem:

        Wie spiele ich

        eine mp3-Datei, die auf der ioBroker-Maschine in einem bestimmten Verzeichnis liegt oder
        eine mp3-Datei, die auf einem an der Fritzbox angeschlossenem Stick liegt oder
        eine mp3-Datei, die in einem für das Netzwerk freigegebenen Verzeichnis eines Windows-Rechners liegt

        ab???

        Wenn Du mir/uns da noch einen Schubs geben könntest, wäre ich überglücklich ;-)

        Jey CeeJ Online
        Jey CeeJ Online
        Jey Cee
        Developer
        schrieb am zuletzt editiert von Jey Cee
        #3

        @berchemer sagte in [Vorlage] upnp Media Player:

        Die Google Home Minis und die Cromecast Audios wurden nicht gefunden, obwohl UPNP bei denen standardmäßig eingeschaltet sein sollte.

        Wusste gar nicht das die upnp können, da muss ich mal bei meinen schauen.

        @berchemer sagte in [Vorlage] upnp Media Player:

        Wie spiele ich
        eine mp3-Datei, die auf der ioBroker-Maschine in einem bestimmten Verzeichnis liegt oder
        eine mp3-Datei, die auf einem an der Fritzbox angeschlossenem Stick liegt oder
        eine mp3-Datei, die in einem für das Netzwerk freigegebenen Verzeichnis eines Windows-Rechners liegt
        ab???

        Du brauchst nur die URL zur mp3 in MediaURL schreiben und dann Play auf true setzen.

        Beispiel URL die im VIS abgelegt ist:

        http://192.168.0.3:8082/vis.0/test.mp3
        

        Lokal geht wie gesagt nicht, du musst die Datei in ein Verzeichnis Kopieren das im Netzwerk erreichbar ist.

        Persönlicher Support
        Spenden -> paypal.me/J3YC33

        B 2 Antworten Letzte Antwort
        0
        • Jey CeeJ Jey Cee

          @berchemer sagte in [Vorlage] upnp Media Player:

          Die Google Home Minis und die Cromecast Audios wurden nicht gefunden, obwohl UPNP bei denen standardmäßig eingeschaltet sein sollte.

          Wusste gar nicht das die upnp können, da muss ich mal bei meinen schauen.

          @berchemer sagte in [Vorlage] upnp Media Player:

          Wie spiele ich
          eine mp3-Datei, die auf der ioBroker-Maschine in einem bestimmten Verzeichnis liegt oder
          eine mp3-Datei, die auf einem an der Fritzbox angeschlossenem Stick liegt oder
          eine mp3-Datei, die in einem für das Netzwerk freigegebenen Verzeichnis eines Windows-Rechners liegt
          ab???

          Du brauchst nur die URL zur mp3 in MediaURL schreiben und dann Play auf true setzen.

          Beispiel URL die im VIS abgelegt ist:

          http://192.168.0.3:8082/vis.0/test.mp3
          

          Lokal geht wie gesagt nicht, du musst die Datei in ein Verzeichnis Kopieren das im Netzwerk erreichbar ist.

          B Offline
          B Offline
          Berchemer
          schrieb am zuletzt editiert von
          #4

          @jey-cee
          Zumindest die Home Minis sollen es angeblich können, ob es auch die Chromecast-Audios können, habe ich noch nicht nachgeschlagen.

          1 Antwort Letzte Antwort
          0
          • Jey CeeJ Jey Cee

            @berchemer sagte in [Vorlage] upnp Media Player:

            Die Google Home Minis und die Cromecast Audios wurden nicht gefunden, obwohl UPNP bei denen standardmäßig eingeschaltet sein sollte.

            Wusste gar nicht das die upnp können, da muss ich mal bei meinen schauen.

            @berchemer sagte in [Vorlage] upnp Media Player:

            Wie spiele ich
            eine mp3-Datei, die auf der ioBroker-Maschine in einem bestimmten Verzeichnis liegt oder
            eine mp3-Datei, die auf einem an der Fritzbox angeschlossenem Stick liegt oder
            eine mp3-Datei, die in einem für das Netzwerk freigegebenen Verzeichnis eines Windows-Rechners liegt
            ab???

            Du brauchst nur die URL zur mp3 in MediaURL schreiben und dann Play auf true setzen.

            Beispiel URL die im VIS abgelegt ist:

            http://192.168.0.3:8082/vis.0/test.mp3
            

            Lokal geht wie gesagt nicht, du musst die Datei in ein Verzeichnis Kopieren das im Netzwerk erreichbar ist.

            B Offline
            B Offline
            Berchemer
            schrieb am zuletzt editiert von
            #5

            @jey-cee sagte in [Vorlage] upnp Media Player:

            Du brauchst nur die URL zur mp3 in MediaURL schreiben und dann Play auf true setzen.

            Beispiel URL die im VIS abgelegt ist:

            http://192.168.0.3:8082/vis.0/test.mp3
            

            Sorry für die vielleicht banalen Fragen, aber ich scheine eine Form der Denkblokade zu haben :-(
            Was meinst Du mit im VIS abgelegt?
            Über ein Widget?
            Wenn ja, über welches Widget?

            Jey CeeJ 1 Antwort Letzte Antwort
            0
            • B Berchemer

              @jey-cee sagte in [Vorlage] upnp Media Player:

              Du brauchst nur die URL zur mp3 in MediaURL schreiben und dann Play auf true setzen.

              Beispiel URL die im VIS abgelegt ist:

              http://192.168.0.3:8082/vis.0/test.mp3
              

              Sorry für die vielleicht banalen Fragen, aber ich scheine eine Form der Denkblokade zu haben :-(
              Was meinst Du mit im VIS abgelegt?
              Über ein Widget?
              Wenn ja, über welches Widget?

              Jey CeeJ Online
              Jey CeeJ Online
              Jey Cee
              Developer
              schrieb am zuletzt editiert von
              #6

              @berchemer einfach über den Dateimanager dort hochgeladen.

              Persönlicher Support
              Spenden -> paypal.me/J3YC33

              B 1 Antwort Letzte Antwort
              0
              • Jey CeeJ Jey Cee

                @berchemer einfach über den Dateimanager dort hochgeladen.

                B Offline
                B Offline
                Berchemer
                schrieb am zuletzt editiert von
                #7

                @jey-cee sagte in [Vorlage] upnp Media Player:

                @berchemer einfach über den Dateimanager dort hochgeladen.

                :face_palm: :face_palm: :face_palm:
                Danke :+1:

                Kann man mit dem Aufruf des Web-Adapters eigentlich auch auf höhere Verzeichnisse der ioBroker-Installation zugreifen???
                Irgendwie bekomme ich das nämlich nicht hin. Liegt aber wahrscheinlich an Restriktionen oder bestimmten Einstellungen des web-Adapters oder?

                Jey CeeJ 1 Antwort Letzte Antwort
                0
                • B Berchemer

                  @jey-cee sagte in [Vorlage] upnp Media Player:

                  @berchemer einfach über den Dateimanager dort hochgeladen.

                  :face_palm: :face_palm: :face_palm:
                  Danke :+1:

                  Kann man mit dem Aufruf des Web-Adapters eigentlich auch auf höhere Verzeichnisse der ioBroker-Installation zugreifen???
                  Irgendwie bekomme ich das nämlich nicht hin. Liegt aber wahrscheinlich an Restriktionen oder bestimmten Einstellungen des web-Adapters oder?

                  Jey CeeJ Online
                  Jey CeeJ Online
                  Jey Cee
                  Developer
                  schrieb am zuletzt editiert von
                  #8

                  @berchemer sagte in [Vorlage] upnp Media Player:

                  Kann man mit dem Aufruf des Web-Adapters eigentlich auch auf höhere Verzeichnisse der ioBroker-Installation zugreifen???

                  Sollte nicht möglich sein, das wäre ein Sicherheitsrisiko.

                  Persönlicher Support
                  Spenden -> paypal.me/J3YC33

                  B 2 Antworten Letzte Antwort
                  0
                  • Jey CeeJ Jey Cee

                    @berchemer sagte in [Vorlage] upnp Media Player:

                    Kann man mit dem Aufruf des Web-Adapters eigentlich auch auf höhere Verzeichnisse der ioBroker-Installation zugreifen???

                    Sollte nicht möglich sein, das wäre ein Sicherheitsrisiko.

                    B Offline
                    B Offline
                    Berchemer
                    schrieb am zuletzt editiert von Berchemer
                    #9

                    @jey-cee

                    Kannst Du etwas mit den folgenden Meldungen anfangen?

                    Unexpected answer from upnp service: {"statusCode":500,"body":"<s:Envelope xmlns:s=\"http://schemas.xmlsoap.org/soap/envelope/\" s:encodingStyle=\"http://schemas.xmlsoap.org/soap/encoding/\"><s:Body><s:Fault><faultcode>s:Client</faultcode><faultstring>UPnPError</faultstring><detail><UPnPError xmlns=\"urn:schemas-upnp-org:control-1-0\"><errorCode>701</errorCode></UPnPError></detail></s:Fault></s:Body></s:Envelope>","headers":{"content-length":"347","content-type":"text/xml; charset=\"utf-8\"","ext":"","server":"Linux UPnP/1.0 Sonos/67.1-25031 (ZPS21)","connection":"close"},"request":{"uri":{"protocol":"http:","slashes":true,"auth":null,"host":"192.168.0.73:1400","port":"1400","hostname":"192.168.0.73","hash":null,"search":null,"query":null,"pathname":"/MediaRenderer/AVTransport/Control","path":"/MediaRenderer/AVTransport/Control","href":"http://192.168.0.73:1400/MediaRenderer/AVTransport/Control"},"method":"POST","headers":{"Content-Type":"text/xml; charset=\"utf-8\"","SOAPAction":"\"urn:schemas-upnp-org:service:AVTransport:1#Play\"","USER-AGENT":"UPnP/1.0, ioBroker.upnp","content-length":298}}} Sent message: {"uri":"http://192.168.0.73:1400/MediaRenderer/AVTransport/Control","headers":{"Content-Type":"text/xml; charset=\"utf-8\"","SOAPAction":"\"urn:schemas-upnp-org:service:AVTransport:1#Play\"","USER-AGENT":"UPnP/1.0, ioBroker.upnp"},"method":"POST","body":" \n <s:Envelope s:encodingStyle=\"http://schemas.xmlsoap.org/soap/encoding/\" xmlns:s=\"http://schemas.xmlsoap.org/soap/envelope/\">\n <s:Body><u:Play xmlns:u=\"urn:schemas-upnp-org:service:AVTransport:1\"><InstanceID>0</InstanceID><Speed>1</Speed></u:Play></s:Body>\n </s:Envelope>"}
                    
                    Unexpected answer from upnp service: {"statusCode":405,"body":"<html><head><title>405 Method Not Allowed</title></head><body><h1>Method Not Allowed</h1><p>The requested URL cannot be accessed with the requested method.</p></body></html>","headers":{"content-type":"text/html","content-length":"173"},"request":{"uri":{"protocol":"http:","slashes":true,"auth":null,"host":"192.168.0.81","port":80,"hostname":"192.168.0.81","hash":null,"search":null,"query":null,"pathname":"/:8080AVTransport/control","path":"/:8080AVTransport/control","href":"http://192.168.0.81/:8080AVTransport/control"},"method":"POST","headers":{"Content-Type":"text/xml; charset=\"utf-8\"","SOAPAction":"\"urn:schemas-upnp-org:service:AVTransport:1#SetAVTransportURI\"","USER-AGENT":"UPnP/1.0, ioBroker.upnp","content-length":431}}} Sent message: {"uri":"http://192.168.0.81:8080AVTransport/control","headers":{"Content-Type":"text/xml; charset=\"utf-8\"","SOAPAction":"\"urn:schemas-upnp-org:service:AVTransport:1#SetAVTransportURI\"","USER-AGENT":"UPnP/1.0, ioBroker.upnp"},"method":"POST","body":" \n <s:Envelope s:encodingStyle=\"http://schemas.xmlsoap.org/soap/encoding/\" xmlns:s=\"http://schemas.xmlsoap.org/soap/envelope/\">\n <s:Body><u:SetAVTransportURI xmlns:u=\"urn:schemas-upnp-org:service:AVTransport:1\"><InstanceID>0</InstanceID><CurrentURI>http://192.168.0.131:8082/vis.0/Sounds01/google.tts.mp3</CurrentURI><CurrentURIMetaData></CurrentURIMetaData></u:SetAVTransportURI></s:Body>\n </s:Envelope>"}
                    
                    B 1 Antwort Letzte Antwort
                    0
                    • Jey CeeJ Jey Cee

                      @berchemer sagte in [Vorlage] upnp Media Player:

                      Kann man mit dem Aufruf des Web-Adapters eigentlich auch auf höhere Verzeichnisse der ioBroker-Installation zugreifen???

                      Sollte nicht möglich sein, das wäre ein Sicherheitsrisiko.

                      B Offline
                      B Offline
                      Berchemer
                      schrieb am zuletzt editiert von Berchemer
                      #10

                      @jey-cee

                      Und beim Sonos (die obere der beiden o.g. Meldungen) kommt noch folgende Fehlermeldung im Log von ioBroker:

                      Cannot remove track: RequestFailedError: Got status 500 when invoking /MediaRenderer/AVTransport/Control
                      
                      Jey CeeJ 1 Antwort Letzte Antwort
                      0
                      • B Berchemer

                        @jey-cee

                        Kannst Du etwas mit den folgenden Meldungen anfangen?

                        Unexpected answer from upnp service: {"statusCode":500,"body":"<s:Envelope xmlns:s=\"http://schemas.xmlsoap.org/soap/envelope/\" s:encodingStyle=\"http://schemas.xmlsoap.org/soap/encoding/\"><s:Body><s:Fault><faultcode>s:Client</faultcode><faultstring>UPnPError</faultstring><detail><UPnPError xmlns=\"urn:schemas-upnp-org:control-1-0\"><errorCode>701</errorCode></UPnPError></detail></s:Fault></s:Body></s:Envelope>","headers":{"content-length":"347","content-type":"text/xml; charset=\"utf-8\"","ext":"","server":"Linux UPnP/1.0 Sonos/67.1-25031 (ZPS21)","connection":"close"},"request":{"uri":{"protocol":"http:","slashes":true,"auth":null,"host":"192.168.0.73:1400","port":"1400","hostname":"192.168.0.73","hash":null,"search":null,"query":null,"pathname":"/MediaRenderer/AVTransport/Control","path":"/MediaRenderer/AVTransport/Control","href":"http://192.168.0.73:1400/MediaRenderer/AVTransport/Control"},"method":"POST","headers":{"Content-Type":"text/xml; charset=\"utf-8\"","SOAPAction":"\"urn:schemas-upnp-org:service:AVTransport:1#Play\"","USER-AGENT":"UPnP/1.0, ioBroker.upnp","content-length":298}}} Sent message: {"uri":"http://192.168.0.73:1400/MediaRenderer/AVTransport/Control","headers":{"Content-Type":"text/xml; charset=\"utf-8\"","SOAPAction":"\"urn:schemas-upnp-org:service:AVTransport:1#Play\"","USER-AGENT":"UPnP/1.0, ioBroker.upnp"},"method":"POST","body":" \n <s:Envelope s:encodingStyle=\"http://schemas.xmlsoap.org/soap/encoding/\" xmlns:s=\"http://schemas.xmlsoap.org/soap/envelope/\">\n <s:Body><u:Play xmlns:u=\"urn:schemas-upnp-org:service:AVTransport:1\"><InstanceID>0</InstanceID><Speed>1</Speed></u:Play></s:Body>\n </s:Envelope>"}
                        
                        Unexpected answer from upnp service: {"statusCode":405,"body":"<html><head><title>405 Method Not Allowed</title></head><body><h1>Method Not Allowed</h1><p>The requested URL cannot be accessed with the requested method.</p></body></html>","headers":{"content-type":"text/html","content-length":"173"},"request":{"uri":{"protocol":"http:","slashes":true,"auth":null,"host":"192.168.0.81","port":80,"hostname":"192.168.0.81","hash":null,"search":null,"query":null,"pathname":"/:8080AVTransport/control","path":"/:8080AVTransport/control","href":"http://192.168.0.81/:8080AVTransport/control"},"method":"POST","headers":{"Content-Type":"text/xml; charset=\"utf-8\"","SOAPAction":"\"urn:schemas-upnp-org:service:AVTransport:1#SetAVTransportURI\"","USER-AGENT":"UPnP/1.0, ioBroker.upnp","content-length":431}}} Sent message: {"uri":"http://192.168.0.81:8080AVTransport/control","headers":{"Content-Type":"text/xml; charset=\"utf-8\"","SOAPAction":"\"urn:schemas-upnp-org:service:AVTransport:1#SetAVTransportURI\"","USER-AGENT":"UPnP/1.0, ioBroker.upnp"},"method":"POST","body":" \n <s:Envelope s:encodingStyle=\"http://schemas.xmlsoap.org/soap/encoding/\" xmlns:s=\"http://schemas.xmlsoap.org/soap/envelope/\">\n <s:Body><u:SetAVTransportURI xmlns:u=\"urn:schemas-upnp-org:service:AVTransport:1\"><InstanceID>0</InstanceID><CurrentURI>http://192.168.0.131:8082/vis.0/Sounds01/google.tts.mp3</CurrentURI><CurrentURIMetaData></CurrentURIMetaData></u:SetAVTransportURI></s:Body>\n </s:Envelope>"}
                        
                        B Offline
                        B Offline
                        Berchemer
                        schrieb am zuletzt editiert von
                        #11

                        @berchemer sagte in [Vorlage] upnp Media Player:

                        http://192.168.0.73:1400/MediaRenderer/AVTransport/Control

                        könnte es damit zusammenhängen, dass der UPNP-Adapter anscheinend die URL falsch aufbaut?

                        http://192.168.0.81/:8080AVTransport/control
                        

                        statt

                        http://192.168.0.81:8080/AVTransport/control
                        
                        1 Antwort Letzte Antwort
                        0
                        • B Berchemer

                          @jey-cee

                          Und beim Sonos (die obere der beiden o.g. Meldungen) kommt noch folgende Fehlermeldung im Log von ioBroker:

                          Cannot remove track: RequestFailedError: Got status 500 when invoking /MediaRenderer/AVTransport/Control
                          
                          Jey CeeJ Online
                          Jey CeeJ Online
                          Jey Cee
                          Developer
                          schrieb am zuletzt editiert von
                          #12

                          @berchemer Status 500 ist die Rückmeldung vom Gerät das es ein internes Problem gab. Die Sonos gibt den Fehler Code 701 als Nachricht zurück, was soweit ich das auf die schnelle herausgefunden habe auf ein Verbindungsproblem hindeutet.
                          https://en.community.sonos.com/troubleshooting-228999/an-error-occurred-while-adding-songs-to-the-queue-701-6795301

                          @berchemer sagte in [Vorlage] upnp Media Player:

                          könnte es damit zusammenhängen, dass der UPNP-Adapter anscheinend die URL falsch aufbaut?

                          Ja der zweite Fehler dürfte daraus resultieren. Die Frage ist warum das falsch ist.
                          Kannst du mal das entsprechende Objekt AVTransport öffnen und hier posten.

                          Persönlicher Support
                          Spenden -> paypal.me/J3YC33

                          B 2 Antworten Letzte Antwort
                          0
                          • Jey CeeJ Jey Cee

                            @berchemer Status 500 ist die Rückmeldung vom Gerät das es ein internes Problem gab. Die Sonos gibt den Fehler Code 701 als Nachricht zurück, was soweit ich das auf die schnelle herausgefunden habe auf ein Verbindungsproblem hindeutet.
                            https://en.community.sonos.com/troubleshooting-228999/an-error-occurred-while-adding-songs-to-the-queue-701-6795301

                            @berchemer sagte in [Vorlage] upnp Media Player:

                            könnte es damit zusammenhängen, dass der UPNP-Adapter anscheinend die URL falsch aufbaut?

                            Ja der zweite Fehler dürfte daraus resultieren. Die Frage ist warum das falsch ist.
                            Kannst du mal das entsprechende Objekt AVTransport öffnen und hier posten.

                            B Offline
                            B Offline
                            Berchemer
                            schrieb am zuletzt editiert von
                            #13

                            @jey-cee sagte in [Vorlage] upnp Media Player:

                            Ja der zweite Fehler dürfte daraus resultieren. Die Frage ist warum das falsch ist.
                            Kannst du mal das entsprechende Objekt AVTransport öffnen und hier posten.

                            Gerne, aber das System sagt mir etwas von "Payload too large" und verweigert das Absenden :-(

                            1 Antwort Letzte Antwort
                            0
                            • Jey CeeJ Jey Cee

                              @berchemer Status 500 ist die Rückmeldung vom Gerät das es ein internes Problem gab. Die Sonos gibt den Fehler Code 701 als Nachricht zurück, was soweit ich das auf die schnelle herausgefunden habe auf ein Verbindungsproblem hindeutet.
                              https://en.community.sonos.com/troubleshooting-228999/an-error-occurred-while-adding-songs-to-the-queue-701-6795301

                              @berchemer sagte in [Vorlage] upnp Media Player:

                              könnte es damit zusammenhängen, dass der UPNP-Adapter anscheinend die URL falsch aufbaut?

                              Ja der zweite Fehler dürfte daraus resultieren. Die Frage ist warum das falsch ist.
                              Kannst du mal das entsprechende Objekt AVTransport öffnen und hier posten.

                              B Offline
                              B Offline
                              Berchemer
                              schrieb am zuletzt editiert von
                              #14

                              @jey-cee sagte in [Vorlage] upnp Media Player:

                              @berchemer Status 500 ist die Rückmeldung vom Gerät das es ein internes Problem gab. Die Sonos gibt den Fehler Code 701 als Nachricht zurück, was soweit ich das auf die schnelle herausgefunden habe auf ein Verbindungsproblem hindeutet.
                              https://en.community.sonos.com/troubleshooting-228999/an-error-occurred-while-adding-songs-to-the-queue-701-6795301

                              @berchemer sagte in [Vorlage] upnp Media Player:

                              könnte es damit zusammenhängen, dass der UPNP-Adapter anscheinend die URL falsch aufbaut?

                              Ja der zweite Fehler dürfte daraus resultieren. Die Frage ist warum das falsch ist.
                              Kannst du mal das entsprechende Objekt AVTransport öffnen und hier posten.

                              Habe es hier als Anhang gepostet:
                              https://github.com/iobroker-community-adapters/ioBroker.upnp/issues/104

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

                                Btw: Die Einstellung automatisch erkennen kann ich ja nachvollziehen.
                                Was bedeutet aber die EInstellung "Automatisch Abonnement"?

                                Jey CeeJ 1 Antwort Letzte Antwort
                                0
                                • B Berchemer

                                  Btw: Die Einstellung automatisch erkennen kann ich ja nachvollziehen.
                                  Was bedeutet aber die EInstellung "Automatisch Abonnement"?

                                  Jey CeeJ Online
                                  Jey CeeJ Online
                                  Jey Cee
                                  Developer
                                  schrieb am zuletzt editiert von
                                  #16

                                  @berchemer upnp sieht vor das ein Dienst seinen Aktuellen Zustand mitteilt wenn ein Client ihn Abonniert.
                                  So muss er nicht immer Abfragen.
                                  Aber was übermittelt wird hängt vom Dienst ab. Bei MediaRender war das soweit ich mich erinnere nur infos über die Wiedergabe, also was gespielt wird, play, pause, stop.

                                  Persönlicher Support
                                  Spenden -> paypal.me/J3YC33

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

                                    Und weitere Frage zum Adapter:
                                    Im Objekte-Tab von ioBroker ist unter den Einstellungen, wo man auch die History-Daten einstellen kann, auch UPNP mit der Möglichkeit "Aktiviert/Nicht aktiviert" auswählbar. Was bewirkt denn das Aktivieren???

                                    1 Antwort Letzte Antwort
                                    0
                                    • Jey CeeJ Online
                                      Jey CeeJ Online
                                      Jey Cee
                                      Developer
                                      schrieb am zuletzt editiert von
                                      #18

                                      @berchemer funktioniert nur bei dem dp request und bietet die Möglichkeit den Zyklisch aus zu führen.
                                      Das wurde für die Fritzbox fraktion eingebaut die damit den Aktuellen traffic überwachen. Da die FritzBox die Werte nicht von sich aus preis gibt, auch wenn Abonniert.

                                      Persönlicher Support
                                      Spenden -> paypal.me/J3YC33

                                      1 Antwort Letzte Antwort
                                      1
                                      • J Offline
                                        J Offline
                                        jensven
                                        schrieb am zuletzt editiert von
                                        #19

                                        @Jey-Cee
                                        wollte das script jetzt auch mal ausprobieren.
                                        Ich habe in der fritzbox den upnp dienst aktiviert und dort auch eine Stream für internet Dario eingestellt.
                                        Mit meinem Gerät kann ich so auch direkt drauf zugreifen.
                                        Adapter läuft und finde dann auch im Objekt Baum einige pfade zu der fritzbox

                                        Ist es nun möglich über das Script den Media Player zu steuern?
                                        Du schreibt dass Widergabelisten nicht funktionieren, bin mir aber nun nicht sicher ob ein eingesteller stream als solche Widergabeliste deklariert wird

                                        Jey CeeJ 1 Antwort Letzte Antwort
                                        0
                                        • J jensven

                                          @Jey-Cee
                                          wollte das script jetzt auch mal ausprobieren.
                                          Ich habe in der fritzbox den upnp dienst aktiviert und dort auch eine Stream für internet Dario eingestellt.
                                          Mit meinem Gerät kann ich so auch direkt drauf zugreifen.
                                          Adapter läuft und finde dann auch im Objekt Baum einige pfade zu der fritzbox

                                          Ist es nun möglich über das Script den Media Player zu steuern?
                                          Du schreibt dass Widergabelisten nicht funktionieren, bin mir aber nun nicht sicher ob ein eingesteller stream als solche Widergabeliste deklariert wird

                                          Jey CeeJ Online
                                          Jey CeeJ Online
                                          Jey Cee
                                          Developer
                                          schrieb am zuletzt editiert von
                                          #20

                                          @jensven sagte in [Vorlage] upnp Media Player:

                                          Ist es nun möglich über das Script den Media Player zu steuern?

                                          Welchen Media Player? Die FritzBox selber ist ja kein Media Palyer.

                                          Persönlicher Support
                                          Spenden -> paypal.me/J3YC33

                                          J 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

                                          682

                                          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