NEWS
Upnp v0.3.6
-
Hallo liebe Community,
Vor kurzem hab ich zufällig eine App gefunden die alle upnp Dienste im Netzwerk auflistet, dabei habe ich einige Dienste gefunden die teils sehr interessant sind.
Deswegen hab ich mich weiter damit beschäftigt und hab mir die XML Dateien die von den Geräten bereitgestellt werden angeschaut.
Diese Dateien enthalten eine Standardisierte API Beschreibung mit allen verfügbaren Befehlen und Datenpunkten. Diese kann man verwenden um die Geräte als Objekte in ioBroker ab zu bilden.
Warum einen upnp Adapter?
Möglichst viele Geräte mit einem einzigen Adapter steuern und das immer nach dem gleichen Schema.
Ressourcen schonen da nur ein Adapter benötigt wird.
Mögliche Anwendungsszenarien:
Wiedergabe von Sayit auf jedem upnp fähigen Audio Gerät.
Einen ioBroker basierten Media player erstellen der auf alle im Netzwerk verfügbaren upnp Medien server zugreifen kann und diese an jedes upnp fähige Gerät ausgeben kann.
Die Weckfunktion von Sonos nutzen.
…
Ich hab bereits mit der Entwicklung des Adapters begonnen. Leider bin ich nicht sehr schnell und auch kein Meister Entwickler.
Es tauchen immer neue Probleme auf und es frustriert mich zunehmend das es so langsam voran geht.
Deshalb hoffe ich das jemand mit mehr Erfahrung die Entwicklung unterstützt.
Übersicht:
1. Stufe: Schema für die Objekte festlegen
2. Stufe: Adapter Grundgerüst aufbauen
3. Stufe: XML Dateien lesen und nach dem festgelegten Schema die Objekte erstellen
4. Stufe: Abfragen der State Variablen
5. Stufe: Befehle senden
Stufe 1 ist bereits zu 100% erledigt, hier kommt immer mal wieder was dazu da jedes Gerät etwas andere Dienste/Befehle/Datenpunkte zur Verfügung stellt.
Stufe 2 ist zu 100% erledigt, hier fehlt noch der Admin bereich. Derzeit gibt es keine Notwendigkeit für den Admin bereich.
Stufe 3 ist zu 100% erledigt, Elemente die in jeder XML enthalten sind werden gelesen und in ioBroker als Objekt erstellt. Hier fehlt jetzt eine möglichkeit Sonderfälle (Hersteller eigene API's die auf upnp standard basieren) ein zu binden.
Stufe 4 und 5 sind zu 100% erledigt.
Update 09.12.2016:
Es ist soweit die erste Version mit der Geräte gelesen, gesteuert und Antworten ausgertet werden können ist veröffentlicht.
Hier: https://github.com/Jey-Cee/ioBroker.upn … /README.md findet ihr eine Doku zum Adapter. Noch ist diese Doku eine reine Erklärung wie der Adapter funktioniert und wie die Grundlegende Struktur ist.
Zur Funktion:
Der Gesamte Adapter ist so aufgebaut das die Objekte lediglich gelesen und beschrieben werden müssen, um den Rest kümmert er sich selbst. Das heisst wenn der Adapter gestartet ist, gibt es nichts weiter zu tun.
Zur Beachtung:
Der Adapter spricht derzeit nur Standard upnp, da viele Hersteller auf Basis von upnp eigene API's bereit stellen werden diese zwar gefunden, aber können noch nicht verwendet werden. Dieser Umstand führt dazu das Fehlermeldungen erzeugt werden die gar keine Fehler sind.
Weiterhin gibt es unvollständige/fehlerhafte oder dummy implementierungen die Ebenfalls fehler erzeugen die keine sind. Bekannte Geräte bei denen so etwas auftritt: Kindle, Hue Bridge 2
Außerdem kann es beim ersten Start des Adapters vorkommen das er keine Geräte/Dienste findet. In diesem Fall kann der Adapter einfach neu gestartet werden oder man wartet eine weile, da upnp Geräte/Dienste regelmäßig (>15 Minuten) einen Broadcast senden.
Beispiel zur Nutzung:
Als Gerät/Dienst verwende ich den Windows Media Player, das sollte jeder nachstellen können und daher scheint er mir am geeignetsten zu sein. Im Beispiel schalten wir den Media Player auf Lautlos, als Mute.
Hier das einfachst mögliche Skript:
setState("upnp.0.Jey_Cee_(JEYCEE-LENOVO_:_Windows_Media_Player).MediaRenderer.RenderingControl.SetMute.DesiredMute", 1); setState("upnp.0.Jey_Cee_(JEYCEE-LENOVO_:_Windows_Media_Player).MediaRenderer.RenderingControl.SetMute.InstanceID", 0); setState("upnp.0.Jey_Cee_(JEYCEE-LENOVO_:_Windows_Media_Player).MediaRenderer.RenderingControl.SetMute.Channel", 'Master'); setState("upnp.0.Jey_Cee_(JEYCEE-LENOVO_:_Windows_Media_Player).MediaRenderer.RenderingControl.SetMute"/*SetMute*/, 'send');
Die ersten 3 setStates können in jeder beliebigen reihenfolge beschrieben werden, hierbei handelt es sich um Argumente. Die sind zwingend notwendig.
Der 4te setState ist die Action und muss mit "send" beschrieben werden, erst wenn das passiert ist wird der Befehl an den Windows Media Player gesendet.
An diesem Punkt bitte ich darum die Doku auf Github zu lesen, dort habe ich versucht die Struktur zu erklären und dort wird auch erklärt woher man weiss wann welches Argument erfordelich ist und was man reinschreiben kann.
Es wird auf jedenfall Fragen geben, das ist absolut sicher
Dann dürft ihr gerne auf mich zurück kommen.
Und jetzt viel Spaß damit.
Gruß
Jey Cee
-
Kannst du dein Kode auf github sichtbar machen, dann kann ich mal schauen wie du XML Parser verwendest und dir helfen.
305_heizungsscript_220_b18_temp.txt -
Hi Bluefox,
ich hab den Code jetzt auf Github hochgeladen.
Mittlerweile hab ich herausgefunden das ein Element das in der XML Datei vorhanden ist beim Parsen nicht gefunden wird und deshalb der Adapter abstürtzt.
Ich denke es ist nötig alles um zu schreiben um solche Fehler ab zu fangen.
https://github.com/Jey-Cee/iobroker.upnp
Danke das du mal einen Blick drauf wirfst.
-
Ich habe pull request erzeugt.
-
Danke Bluefox, ich hab deine Änderungen übernommen.
Bis auf einen kleinen Formatierungsfehler funktioniert es.
-
Hört sich spannend an
waa gibt es eine Testversin zum Installieren? (über ioBroker aufruf)
Gruß
derAuge
-
Hi derAuge,
danke für dein Interesse. Zurzeit macht der Adapter noch nicht viel. Bis jetzt erstellt er nur ein paar Objekte die die Geräte im Netzwerk mit upnp service darstellen.
Wenn du ihn trotzdem installieren möchtest kannst du das mit dem link http://github.com/Jey-Cee/ioBroker.upnp.
Auf der Adapter Seite links oben das rechte Symbol ist zum installieren aus eigenen Quellen gedacht.
-
Danke für den Tipp
leider kommt Fehlermeldung:
! iobroker 2016-02-12 18:53:19 info exit 25
! iobroker 2016-02-12 18:53:19 error host.Pi2-3 Cannot install http://github.com/Jey-Cee/ioBroker.upnp: 34
! iobroker 2016-02-12 18:53:19 info /npm-debug.lognpm ERR! not ok code 0
! iobroker 2016-02-12 18:53:19 info npm ERR!
! iobroker 2016-02-12 18:53:19 info npm ERR! npm ERR! Additional logging details can be found in:
! iobroker 2016-02-12 18:53:19 info npm ERR! errno 34
! iobroker 2016-02-12 18:53:19 info path /tmp/npm-27628-zCtrky80/github.com/Jey-Cee/ioBroker.upnp-unpack/package.jsonnpm ERR! code ENOENT
! iobroker 2016-02-12 18:53:19 info npm ERR!
! iobroker 2016-02-12 18:53:19 info node -v v0.10.41npm ERR! npm -v 1.4.29
! iobroker 2016-02-12 18:53:19 info npm ERR!
! iobroker 2016-02-12 18:53:19 info npm ERR! command "/usr/bin/node" "/usr/bin/npm" "install" "http://github.com/Jey-Cee/ioBroker.upnp" "–production" "--prefix" "/opt/iobroker"npm ERR! cwd /
! iobroker 2016-02-12 18:53:19 info npm ERR! System Linux 4.1.13-v7+
! iobroker 2016-02-12 18:53:19 info npm ERR!
! iobroker 2016-02-12 18:53:19 info ERR! If you need help, you may report this entire log,npm ERR! including the npm and node versions, at:
! iobroker 2016-02-12 18:53:19 info npm
! iobroker 2016-02-12 18:53:19 info ERR! Error: ENOENT, open '/tmp/npm-27628-zCtrky80/github.com/Jey-Cee/ioBroker.upnp-unpack/package.json'
! iobroker 2016-02-12 18:53:19 info npm
! iobroker 2016-02-12 18:53:19 info ERR! not a package /tmp/npm-27628-zCtrky80/github.com/Jey-Cee/ioBroker.upnp
! iobroker 2016-02-12 18:53:19 info npm
! iobroker 2016-02-12 18:53:17 info WARN deprecated semver behavior.
! iobroker 2016-02-12 18:53:17 info npm
! iobroker 2016-02-12 18:53:17 info npm WARN deprecated backwards-incompatible changes made tonpm run-script
and
! iobroker 2016-02-12 18:53:17 info npm WARN deprecated Node.js 0.10 LTS, be aware that the next version of 0.10 LTSnpm WARN deprecated will be bundled with a version of npm@2, which has some small
! iobroker 2016-02-12 18:53:17 info npm WARN deprecated If you're running the version of npm bundled with
! iobroker 2016-02-12 18:53:17 info npm WARN deprecated
! iobroker 2016-02-12 18:53:17 info npm WARN deprecated on Windows, run them from an Administrator prompt.)
! iobroker 2016-02-12 18:53:17 info npm WARN deprecated may need to prefix the preceding commands withsudo
, or if
! iobroker 2016-02-12 18:53:17 info npm WARN deprecated (Depending on how Node.js was installed on your system, you
! iobroker 2016-02-12 18:53:17 info npm WARN deprecated npm -g install npm@latestnpm WARN deprecated
! iobroker 2016-02-12 18:53:17 info npm WARN deprecated
! iobroker 2016-02-12 18:53:17 info WARN deprecated npm WARN deprecated To upgrade to the latest stable version, run:
! iobroker 2016-02-12 18:53:17 info npm
! iobroker 2016-02-12 18:53:17 info npm WARN deprecated npm -g install npm@latest-2
! iobroker 2016-02-12 18:53:17 info npm WARN deprecated latest stable version. To upgrade to npm@2, run:npm WARN deprecated
! iobroker 2016-02-12 18:53:17 info npm WARN deprecated registry. Consider upgrading to at least npm@2, if not the
! iobroker 2016-02-12 18:53:17 info deprecated This version of npm lacks support for important features,npm WARN deprecated such as scoped packages, offered by the primary npm
! iobroker 2016-02-12 18:53:17 info WARN
! iobroker 2016-02-12 18:53:17 info npm
! iobroker 2016-02-12 18:53:14 info npm install http://github.com/Jey-Cee/ioBroker.upnp --production --prefix "/opt/iobroker" (System call)
! iobroker 2016-02-12 18:53:14 info install http://github.com/Jey-Cee/ioBroker.upnp
! iobroker 2016-02-12 18:53:12 info url "http://github.com/Jey-Cee/ioBroker.upnp" -
Ganz grob sagt die Fehlermeldung das npm veraltet ist und wichtige Funktionen nicht unterstützt werden.
Bei mir ist auf beiden ioBroker installationen mit denen ich arbeite npm version 2.14.x installiert.
Mit einer npm Version 2.x sollte es Funktionieren, garantieren kann ich das aber nicht da ich auch node 4.2.1 und 4.3.0 installiert hab.
Laut deinem log hast du node v0.10.41 und npm c 1.4.29 installiert.
-
Update: Version 0.2.0 steht auf Github zur Verfügung.
Es wäre schön wenn jemand den Adapter testen könnte und feedback gibt.
Darüber hinaus könnte ich die XML Dateien der gefundenen Geräte/Software brauchen, die links dazu sind im log zu finden wenn man das log level auf debug stellt.
Geräte/Software für die ich sie nicht mehr brauche:
-
Sonos
-
FritzBox
-
yamaha rx-v 473
-
Windows Mediaplayer
-
Bubble upnp
XML Dateien bitte je Gerät in eine ZIP packen und mit dem Namen des Geräts benennen.
Zurzeit wird nur beim Adapterstart nach Geräten gesucht und es kann sein das man mehrfach den Adapter neu starten muss um Geräte zu finden. Dieses Phänomen konnte ich auf meinem Windows host beobachten.
-
-
Hab ihn installiert hat alles funktioniert und hat alle Gräte gefunden
-
@Jey Cee:Update: Version 0.2.0 steht auf Github zur Verfügung.
Es wäre schön wenn jemand den Adapter testen könnte und feedback gibt.
Darüber hinaus könnte ich die XML Dateien der gefundenen Geräte/Software brauchen, die links dazu sind im log zu finden wenn man das log level auf debug stellt.
Geräte/Software für die ich sie nicht mehr brauche:
-
Sonos
-
FritzBox
-
yamaha rx-v 473
-
Windows Mediaplayer
-
Bubble upnp
XML Dateien bitte je Gerät in eine ZIP packen und mit dem Namen des Geräts benennen.
Zurzeit wird nur beim Adapterstart nach Geräten gesucht und es kann sein das man mehrfach den Adapter neu starten muss um Geräte zu finden. Dieses Phänomen konnte ich auf meinem Windows host beobachten.
Gesendet von meinem Tab2A7-10F mit Tapatalk `
Konntest du noch ein paar Geräte sammeln?Ich denke gerade an einer Idee so wie autoconfig.
Beim ersten Start von IoB werden solche Geräte gesammelt, die passende adapter dafür automatisch installiert und konfiguriert. Mindestens ping adapter für viele unbekannte Geräte kann man definitiv verwenden.
-
-
` > Konntest du noch ein paar Geräte sammeln?
Ich denke gerade an einer Idee so wie autoconfig.
Beim ersten Start von IoB werden solche Geräte gesammelt, die passende adapter dafür automatisch installiert und konfiguriert. Mindestens ping adapter für viele unbekannte Geräte kann man definitiv verwenden. `
Bis jetzt habe ich noch keine weiteren Geräte Sammeln können. Bis auf Patrick gab es keine weiteren Rückmeldungen. Hab schon lange nicht mehr am Adapter gearbeitet, weil mir einfach die Motivation und Zeit dazu gefehlt hat.
So eine art Autoconfig war eine der Anwendungen an die ich gedacht habe. Ich fände es toll wenn das mit hilfe des upnp Adapters umgesetzt würde.
-
@Jey Cee:Bis jetzt habe ich noch keine weiteren Geräte Sammeln können. Bis auf Patrick gab es keine weiteren Rückmeldungen. Hab schon lange nicht mehr am Adapter gearbeitet, weil mir einfach die Motivation und Zeit dazu gefehlt hat.
So eine art Autoconfig war eine der Anwendungen an die ich gedacht habe. Ich fände es toll wenn das mit hilfe des upnp Adapters umgesetzt würde. `
Ich wollte mir den Adapter anschauen und bekomme ihn momentan nicht installiert.
host-ubuntu1604server 2016-10-26 20:08:42.420 warn warning: Following packages cannot be read: upnp
-
Ich werd morgen mal einen host aufsetzen und testen.
Gesendet von meinem Jolla mit Tapatalk
-
Hallo,
ich habe den Adapter bei mir mal installiert. Die Fehlermeldung des fehlenden upnp Package hatte ich auch. Kurzerhand nachinstalliert, dann den Adpater neugestartet. Dann war bei mir erst mal eine ganze Weile das System richtig beschäftigt, sodass die Adminoberfläche unbedienbar war. nach etwa 5 Minuten hat sich das dann wieder gelegt. Dann hatte ich insgesamt 11 Geräte unterhalb von upnp.
Und nu? Was kann ich nun damit machen?Es werden keine states geschrieben, ausser den Standardstates des Adapters..
Das debug habe ich mal eingeschaltet um an die XML Dateien ranzukommen, aber da rauschen so viele logmeldungen durch, dass die Meldungen der ersten gefundenen Geräte nicht mehr sichtbar sind bis ich richtig auf den Tab "log" klicke.
BTW: Es wäre hilfreich, wenn der Übersicht der Objekte zumindest die IP Adresse des gefundenen Gerätes immer mit angelegt werden würde. Bei SONOS geschieht das, aber bei anderen Geräten wäre das auch hilfreich.
-
Hi Heinzelmänchen,
danke für deine Rückmeldung. Warum bei sonos die ip im namen auftaucht kann ich gerade nicht nachvollziehen.
Die ip der Geräte finden sich in den "natives" der Objekte, dort sind noch deutlich mehr Informationen abgelegt. Hintergrund ist das man die via script ansprechen kann. Dort findet sich auch die Information welchen Zweck das objekt hat.
-
Habe den Adapter jetzt auch installiert. Läuft.
Fehler im Log:
! ````
upnp-0 2016-10-27 21:41:02.561 error Cannot parse answer from http://172.16.130.150:54866/upnp/dev/xxxxxxxxxxxxxxxxxx/svc/dial-multiscreen-org/dial/desc: TypeError: Cannot read property 'length' of undefined
upnp-0 2016-10-27 21:41:02.306 error Cannot parse answer from http://172.16.130.118:37479/scpd_basic.xml: TypeError: Cannot read property '0' of undefined
upnp-0 2016-10-27 21:41:01.713 warn Error by parsing of http://172.16.130.170/DEVICE/PRINTER1.XML:http:/SCPD/PRINTBASIC1.XML
upnp-0 2016-10-27 21:41:01.692 warn Error by parsing of http://172.16.130.170/DEVICE/PRINTER1.XML:http:/SCPD/PRINTENHANCED1.XML
upnp-0 2016-10-27 21:41:01.575 error Cannot parse answer from 172.16.130.126: TypeError: Cannot read property '0' of undefined
upnp-0 2016-10-27 21:41:00.947 warn Error by parsing of http://172.16.130.252:5000/ssdp/dummy.xml
upnp-0 2016-10-27 21:41:00.920 error Cannot parse answer from http://172.16.130.254:49000/any.xml: TypeError: Cannot read property 'length' of undefined
upnp-0 2016-10-27 21:41:00.868 error Cannot parse answer from http://172.16.130.254:49000/any.xml: TypeError: Cannot read property 'length' of undefined
upnp-0 2016-10-27 21:41:00.125 info starting. Version 0.2.0 in /opt/iobroker/node_modules/iobroker.upnp
-
@ruhr70 und Heinzelmännchen: Kann es sein das ihr beide schon js-controller 0.13.0 installiert habt?
Dann war bei mir erst mal eine ganze Weile das System richtig beschäftigt, sodass die Adminoberfläche unbedienbar war. nach etwa 5 Minuten hat sich das dann wieder gelegt. Dann hatte ich insgesamt 11 Geräte unterhalb von upnp. `
Das hatte ich bisher noch nie. Ich habe aber gesehen das du einige Sonos Geräte hast und die erzeugen sehr viele Objekte.Was setzt du als Host ein?
Und nu? Was kann ich nun damit machen?
Es werden keine states geschrieben, ausser den Standardstates des Adapters.. `
Der Adapter sucht bis jetzt einmalig nach allen upnp-fähigen Geräten die gerade erreichbar sind. Darüber hinaus geht stand heute noch nix. Wollte gestern und heute das eigentlich ändern, aber ich hab noch einige Fehler gefunden. Die wollte ich erstmal beseitigen.Wer etwas mit den Objekten anfangen möchte kann das per Javascript Adapter tun. Dafür muss im Adapter das Modul node-upnp-subscription eingetragen werden.
Das Script im Spoiler abonniert die Lautstärke vom Windows Mediaplayer. Jedesmal wenn sich die Lautstärke ändert schickt der Mediaplayer das an das Script und das Script schreibt die aktuelle Lautstärke ins Log.
Beispielcode:
! ````
var Subscription = require('node-upnp-subscription');
! var device = "upnp.0.Jey Cee (JEYCEE-LENOVO : Windows Media Player).MediaRenderer"/Jey Cee (JEYCEE-LENOVO : Windows Media Player)/;
! var deviceObject = getObject(device);
var host = deviceObject.native.ip;
var port = deviceObject.native.port;
var service = device + ".RenderingControl";
var serviceObject = getObject(service);
var infoSubUri = serviceObject.native.eventSubURL;
! var infoSub = new Subscription(host, port, infoSubUri);
! infoSub.on('message', function(data){
var test;
var test2;
test = JSON.stringify(data.body['e:propertyset']['e:property']['LastChange']['_']);
test = test.match(/Volume .>/g );
test = test.toString();
test = test.replace(/.=\"/g, "");
test2 = test.replace(/\"/>.*/g, "");
log(test2)
});setTimeout(infoSub.unsubscribe, 120000);
~~@ruhr70:~~ > Fehler im Log: > > upnp-0 2016-10-27 21:41:00.947 warn Error by parsing of [http://172.16.130.252:5000/ssdp/dummy.xml](http://172.16.130.252:5000/ssdp/dummy.xml) > > upnp-0 2016-10-27 21:41:00.920 error Cannot parse answer from [http://172.16.130.254:49000/any.xml](http://172.16.130.254:49000/any.xml): TypeError: Cannot read property 'length' of undefined > > upnp-0 2016-10-27 21:41:00.868 error Cannot parse answer from [http://172.16.130.254:49000/any.xml](http://172.16.130.254:49000/any.xml): TypeError: Cannot read property 'length' of undefined ` Die Fehler mit dummy.xml kann ignoriert werden und werden in der nächsten Version gefiltert. Any.xml wird jetzt korrekt gelesen. ~~@ruhr70:~~ > upnp-0 2016-10-27 21:41:02.561 error Cannot parse answer from [http://172.16.130.150:54866/upnp/dev/xx … /dial/desc](http://172.16.130.150:54866/upnp/dev/xxxxxxxxxxxxxxxxxx/svc/dial-multiscreen-org/dial/desc): TypeError: Cannot read property 'length' of undefined ` Soweit ich das nachvollziehen kann handelt es sich hier um ein Office Produkt. Liege ich richtig damit das die IP zu einem Gerät gehört auf dem Office oder Sharepoint läuft und wenn ja welches? Wenn du den link im Browser aufrufst solltest du die xml sehen. Kannst du die Bitte hier Anhängen. ~~@ruhr70:~~ > upnp-0 2016-10-27 21:41:02.306 error Cannot parse answer from [http://172.16.130.118:37479/scpd_basic.xml](http://172.16.130.118:37479/scpd_basic.xml): TypeError: Cannot read property '0' of undefined > > upnp-0 2016-10-27 21:41:01.713 warn Error by parsing of [http://172.16.130.170/DEVICE/PRINTER1.X … BASIC1.XML](http://172.16.130.170/DEVICE/PRINTER1.XML:http:/SCPD/PRINTBASIC1.XML) > > upnp-0 2016-10-27 21:41:01.692 warn Error by parsing of [http://172.16.130.170/DEVICE/PRINTER1.X ... ANCED1.XML](http://172.16.130.170/DEVICE/PRINTER1.XML:http:/SCPD/PRINTENHANCED1.XML) ` Bitte hier ebenfalls die xml Anhängen. ~~@ruhr70:~~ > upnp-0 2016-10-27 21:41:01.575 error Cannot parse answer from 172.16.130.126: TypeError: Cannot read property '0' of undefined ` Weisst du was für ein Gerät oder Software auf der IP Addresse upnp fähig ist? Falls ja würde es mir helfen Hersteller und Model zu kennen, da außer ip gleich gar nix geliefert wird.
-
@Jey Cee:@ruhr70 und Heinzelmännchen: Kann es sein das ihr beide schon js-controller 0.13.0 installiert habt? `
Nein. Bei mir ist noch die 0.12.2 installiert.
@Jey Cee:upnp-0 2016-10-27 21:41:02.561 error Cannot parse answer from http://172.16.130.150:54866/upnp/dev/xx … /dial/desc: TypeError: Cannot read property 'length' of undefined `
Soweit ich das nachvollziehen kann handelt es sich hier um ein Office Produkt. Liege ich richtig damit das die IP zu einem Gerät gehört auf dem Office oder Sharepoint läuft und wenn ja welches?Wenn du den link im Browser aufrufst solltest du die xml sehen. Kannst du die Bitte hier Anhängen. `
Fast…
Die IP .150 ist ein Kindle
Viel kommt dabei nicht raus, wenn ich den Link im Browser eingebe. Daher hier komplett:
<scpd xmlns="urn:schemas-upnp-org:service-1-0"><specversion><major>1</major> <minor>0</minor></specversion> <servicestatetable></servicestatetable></scpd>
@Jey Cee:upnp-0 2016-10-27 21:41:02.306 error Cannot parse answer from http://172.16.130.118:37479/scpd_basic.xml: TypeError: Cannot read property '0' of undefined
upnp-0 2016-10-27 21:41:01.713 warn Error by parsing of http://172.16.130.170/DEVICE/PRINTER1.X … BASIC1.XML
upnp-0 2016-10-27 21:41:01.692 warn Error by parsing of http://172.16.130.170/DEVICE/PRINTER1.X ... ANCED1.XML
Bitte hier ebenfalls die xml Anhängen.
Die 1. XML:
! ````
<root xmlns="urn:schemas-upnp-org:device-1-0"><specversion><major>1</major>
<minor>0</minor></specversion>
<device><devicetype>urn:schemas-upnp-org:device:Printer:1</devicetype>
<friendlyname>EPSON3E6B02</friendlyname>
<manufacturer>EPSON</manufacturer>
<manufacturerurl>http://www.epson.com/</manufacturerurl>
<modeldescription>Inkjet Printer</modeldescription>
<modelname>Epson Stylus Photo PX830</modelname>
<modelnumber>Epson Stylus Photo PX830</modelnumber>
<modelurl>http://www.epson.com/</modelurl>
<serialnumber>XXXXXXXXXXXX</serialnumber>
<udn>uuid:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx</udn>
<dlna:x_dlnadoc xmlns:dlna="urn:schemas-dlna-org:device-1-0">DMPr-1.50</dlna:x_dlnadoc>
<dlna:x_dlnacap xmlns:dlna="urn:schemas-dlna-org:device-1-0">printProfiles-XHTML_Complex-XHTML_Baseline</dlna:x_dlnacap>
<iconlist><icon><mimetype>image/jpeg</mimetype>
<width>48</width>
<height>48</height>
<depth>24</depth>
<url>/ICON/JPEG_SM_ICO</url></icon>
<icon><mimetype>image/jpeg</mimetype>
<width>120</width>
<height>120</height>
<depth>24</depth>
<url>/ICON/JPEG_LRG_ICO</url></icon>
<icon><mimetype>image/png</mimetype>
<width>48</width>
<height>48</height>
<depth>24</depth>
<url>/ICON/PNG_SM_ICO</url></icon>
<icon><mimetype>image/png</mimetype>
<width>120</width>
<height>120</height>
<depth>24</depth>
<url>/ICON/PNG_LRG_ICO</url></icon></iconlist>
<servicelist><service><servicetype>urn:schemas-upnp-org:service:PrintBasic:1</servicetype>
<serviceid>urn:upnp-org:serviceId:1</serviceid>
<scpdurl>/SCPD/PRINTBASIC1.XML</scpdurl>
<controlurl>/CONTROL/PRINTBASIC1</controlurl>
<eventsuburl>/EVENT/PRINTBASIC1</eventsuburl></service>
<service><servicetype>urn:schemas-upnp-org:service:PrintEnhanced:1</servicetype>
<serviceid>urn:upnp-org:serviceId:3</serviceid>
<scpdurl>/SCPD/PRINTENHANCED1.XML</scpdurl>
<controlurl>/CONTROL/PRINTENHANCED1</controlurl>
<eventsuburl>/EVENT/PRINTENHANCED1</eventsuburl></service></servicelist>
<presentationurl>/PRESENTATION/</presentationurl></device></root>Die 2\. XML: >! ```` <root xmlns="urn:schemas-upnp-org:device-1-0"><specversion><major>1</major> <minor>0</minor></specversion> <device><devicetype>urn:schemas-upnp-org:device:Printer:1</devicetype> <friendlyname>EPSON3E6B02</friendlyname> <manufacturer>EPSON</manufacturer> <manufacturerurl>http://www.epson.com/</manufacturerurl> <modeldescription>Inkjet Printer</modeldescription> <modelname>Epson Stylus Photo PX830</modelname> <modelnumber>Epson Stylus Photo PX830</modelnumber> <modelurl>http://www.epson.com/</modelurl> <serialnumber>XXXXXXXXXXXX</serialnumber> <udn>uuid:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx</udn> <dlna:x_dlnadoc xmlns:dlna="urn:schemas-dlna-org:device-1-0">DMPr-1.50</dlna:x_dlnadoc> <dlna:x_dlnacap xmlns:dlna="urn:schemas-dlna-org:device-1-0">printProfiles-XHTML_Complex-XHTML_Baseline</dlna:x_dlnacap> <iconlist><icon><mimetype>image/jpeg</mimetype> <width>48</width> <height>48</height> <depth>24</depth> <url>/ICON/JPEG_SM_ICO</url></icon> <icon><mimetype>image/jpeg</mimetype> <width>120</width> <height>120</height> <depth>24</depth> <url>/ICON/JPEG_LRG_ICO</url></icon> <icon><mimetype>image/png</mimetype> <width>48</width> <height>48</height> <depth>24</depth> <url>/ICON/PNG_SM_ICO</url></icon> <icon><mimetype>image/png</mimetype> <width>120</width> <height>120</height> <depth>24</depth> <url>/ICON/PNG_LRG_ICO</url></icon></iconlist> <servicelist><service><servicetype>urn:schemas-upnp-org:service:PrintBasic:1</servicetype> <serviceid>urn:upnp-org:serviceId:1</serviceid> <scpdurl>/SCPD/PRINTBASIC1.XML</scpdurl> <controlurl>/CONTROL/PRINTBASIC1</controlurl> <eventsuburl>/EVENT/PRINTBASIC1</eventsuburl></service> <service><servicetype>urn:schemas-upnp-org:service:PrintEnhanced:1</servicetype> <serviceid>urn:upnp-org:serviceId:3</serviceid> <scpdurl>/SCPD/PRINTENHANCED1.XML</scpdurl> <controlurl>/CONTROL/PRINTENHANCED1</controlurl> <eventsuburl>/EVENT/PRINTENHANCED1</eventsuburl></service></servicelist> <presentationurl>/PRESENTATION/</presentationurl></device></root>
@Jey Cee:upnp-0 2016-10-27 21:41:01.575 error Cannot parse answer from 172.16.130.126: TypeError: Cannot read property '0' of undefined
Weisst du was für ein Gerät oder Software auf der IP Addresse upnp fähig ist? Falls ja würde es mir helfen Hersteller und Model zu kennen, da außer ip gleich gar nix geliefert wird.
Das ist die Philips hue Bridge, Version 2.