NEWS
[Vorlage] upnp Media Player
-
Danke für das Skript
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 liegtab???
Wenn Du mir/uns da noch einen Schubs geben könntest, wäre ich überglücklich
-
@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.
-
@jey-cee
Zumindest die Home Minis sollen es angeblich können, ob es auch die Chromecast-Audios können, habe ich noch nicht nachgeschlagen. -
@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? -
@berchemer einfach über den Dateimanager dort hochgeladen.
-
@jey-cee sagte in [Vorlage] upnp Media Player:
@berchemer einfach über den Dateimanager dort hochgeladen.
DankeKann 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? -
@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.
-
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>"}
-
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
-
@berchemer sagte in [Vorlage] upnp Media Player:
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
-
@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. -
@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
-
@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 -
Btw: Die Einstellung automatisch erkennen kann ich ja nachvollziehen.
Was bedeutet aber die EInstellung "Automatisch Abonnement"? -
@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. -
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??? -
@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. -
@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 fritzboxIst 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 -
@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.
-
@jey-cee
Habe zuerst den Player nicht erhalten, da dachte ich das muss über die fritzbox gesteuert werden.
Nach einem neustart des adapters habe ich jetzt doch den Player.Wenn ich nun über die erstellen Buttons von dem script den player steuern möchte passiert folgendes:
1.javascript.0 2023-08-15 17:30:44.299 warn at Object.<anonymous> (script.js.upnp:81:25) javascript.0 2023-08-15 17:30:44.298 warn getState "upnp.0.HMT_600.MediaRenderer.RenderingControl.Mute" not found (3)
- Wenn ich den Volume Down button anklicke passiert nichts
- Wenn ich den Volume Up Button anklicke dann wirds stumm, wobei das "Mute" Logo nicht auf dem Display des Geräts angezeigt wird. Erst wenn ich mit der Fernbedienung die Lautstärke ändere kommt der Ton wieder
Wenn ich unter MediaControl auf Pause klicke dann unterbricht die Widergabe für ~1 Sekunde