Da ich überlege, Standalone-Apps zu bauen, die sich vom Server dann daten holen, wenn es etwas zu aktualisieren gibt, möchte ich per IPS Broadcasts / Multicasts aussenden (wenn etwas passiert ist), damit die Devices wissen, dass sie sich Daten (z.B. per Client/Server Socket) abholen müssen.
Habe einfach einen „UDP Socket“ angelegt. Dort als Host die IP „239.255.255.250“ und Port „1900“. Dann das passende Paket per USCK_SendText gesendet und alle uPNP-Devices haben sich gemeldet.
Allerdings habe ich es andersherum noch nicht geschafft…
Also Devicediscover funktioniert. Auslesen und Ansteuern der Funktionen klappt soweit auch. Soweit ich das sehe kann man eigentlich alle Funktionen mit PHP abbilden. Ist natürlich nicht so komfortabel wie ein eigenständiges Plugin u.Ä.
Ich hab mir dazu einen kleinen „Wrapper“ geschrieben der die SOAP-Requests zu den einzelnen Funktionen generiert. Man kann dann z.B. sämtliche angeschlossene USB-Devices einer FritzBox auslesen. Oder einen Mediaserver auslesen…
Sieht sehr interessant aus, allerdings muss ich da noch ne steile Lernkurve hinlegen. Habe mich mit Objekten in PHP noch nicht beschäftigt, das wäre jetzt das nächste.
Würdest Du Deine Scripte zu dem Thema auch im Code einstellen? Vielleicht kriege ich so ne schnellere Lernkurve hin.
Bei mir geht es (zunächst) darum, Upnp Geräte, in mienem Fall Media-Abspielgeräte zu steuern. Der Hersteller (LINN) hat zwar auch eine „eigene“ Prallelimplementierung mit Sockets gemachtm die viel einfacher zu benutzen wäre, hat aber leider in der Implementierung geschlampt und so gibt es bestimmte Befehle (wie z.B. simples ein- und ausschalten) bei einigen der Geräte nicht.
Die UPNP Oberfläche des Open Source (allerdings .Net) kann ds aber. Insofern werde ich wohl um „the hard way“ nicht rumkommen.