FHEM meets UPnP?

Begonnen von crazystone, 14 August 2013, 21:28:36

Vorheriges Thema - Nächstes Thema

crazystone

Hallo,

ich habe mich gefragt, ob schon mal jemand das Thema UPnP Integration angedacht hat. Nachdem ja einige AV-Player und Devices hier diskutiert wurden, läge das eigentlich nahe. UPnP beitet schließlich eine (weitestgehend) herstellerunabhängige Steuerschnittstelle für eine große Vielzahl von Geräten. Man könnte die universelle Fernbedienung in FHEM integrieren und einen Teil der Ansteuerung eben automatisieren.

Leider bin ich jetzt kein Perl-Experte (der Satz stand hier vermutlich schon häufig...) jedoch habe ich unter

http://search.cpan.org/~skonno/Net-UPnP-1.2.1/

und

http://perlupnp.sourceforge.net/

oder auch unter

http://perl-upnp.soft112.com/download.html

eine UPnP-Controlpoint Implementierung in Perl gefunden. Wie schwierig wäre es / kann es sein, das einzubinden? Idealerweise kann man hinterher in FHEM ein

define <Media-Control> UPnP-ControlPoint

definieren, der dann alle UPnP-Devices findet und das Mediastreaming von Server A auf Renderer B steuern kann. Abspielsteuerung, Lautstärke Interface sollten alles schon standardisiert und implementiert sein.

Meinungen? Interessenten?

Viele Grüße

UliM

Hiho,
interessante Idee.

Für mich fallen leider beide Varianten aus, da ich fhem auf ner Fritzbox betreibe, auf der man keine Perl-Module nachinstallieren kann.

http://search.cpan.org/~skonno/Net-UPnP-1.2.1/ -> Net::UPnP -> krieg ich also nicht drauf
http://perl-upnp.soft112.com/download.html -> benötigt LWP::UserAgent (auf FB7390 vorhanden), HTTP::Daemon (ebenfalls vorhanden), SOAP::Lite (NICHT vorhanden).

Es lässt sich also keine der beiden Lösungen "mal eben" in ein fhem-Modul verpacken - zumindest nicht zur Nutzung auf ner FB. Auf RPi usw kann man Perl-Module nachladen, da mag's gehen.

V.a. der erste Ansatz sollte leicht sein, da eigentlich in fhem nix geändert werden müsste. Es sollte dann reichen, nen dummy zu definieren, dessen Kommandos die Befehle aus Net::UPnP aufrufen.

Vielleicht findet sich ja jemand der das installieren und austesten kann.

Gruß, Uli
RPi4/Raspbian, CUL V3 (ca. 30 HomeMatic-devices), LAN (HarmonyHub, alexa etc.).  Fördermitglied des FHEM e.V.

betateilchen

Ich halte UPnP, genau wie Landhausstil und Laminatfußboden, für einen Irrweg. Ich werde mich mit der Frage trotzdem mal beschäftigen. Was mich allerdings irritiert: an dem Net::UPnP ist seit 4 Jahren nix mehr passiert.

Und die Fritzbox ist für mich ganz sicher nicht das Maß aller Dinge :)


Nachtrag: das verlinkte Perl Modul bei CPAN läßt sich bei mir nichtmal manuell installieren, geschweige denn automatisch...
Die sourceforge Lösung ist von 2004 - da habe ich noch weniger Hoffnung, etwas sinnvolles rauszubekommen.

---
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

crazystone

Hallo,

danke für die schnelle und begeisterte Rückmeldung!

Also das mit dem Nachinstallieren der Perl Module für die FB würde ich ggf. mal mit dem AVM Support verfolgen, sobald klar ist, welche Perl Module da zusätzlich benötigt würden. Ich denke nicht, dass die sich nachhaltig sträuben, da sich auch denen neue Möglichkeiten eröffnen und die ja voll auf den FHEM Zug aufgesprungen sind. In einer Laborversion dürfte das schon mal drin sein.

@betateilchen: über Geschmack lässt sich bekanntlich ja nicht streiten und zu Laminat und Landhaus kann (und will) ich auch nichts sagen, aber was spricht gegen UPnP? Aus meiner Sicht nimmt Dir das genau die Guideline Diskussion, die ich in einem anderen Multimedia Thread verfolgt hab ab, oder? Und du sprichst auf Anhieb eine Großzahl an Geräten an, wenn auch nur mit einem subset der Möglichkeiten? Bin aber offen, wenn es da Blocker gibt...

Das mit dem Alter der Implementierungen ist mir schon auch aufgefallen. Aus anderer Ecke habe ich immer wieder erlebt, dass UPnP zu Anfang nur unzureichend von den HW Herstellern unterstützt wurde. Inzwischen kann es aber fast jedes AV Gerät, selbst Windows-Rechner können ein bisschen UPnP. Vielleicht könnt ihr ja aus den Code/Modul-Schnipseln etwas herausholen. Sind die Module komplett selbstgeschnitzt?

Ich habe inzwischen ganz zufriedenstellend einen MediaTomb Server laufen, der die Inhalte von einem Linux-Server (war bis vor kurzem noch Windows SMB-Freigabe) katalogisiert und per UPnP bereitstellt. Meine clients u.a. Philips Streamium NP-2900 und XBMC (auf Windows-Rechner) können auf diese UPnP Freigabe zugreifen. Es fehlt der zentrale ControlPoint, wofür sich FHEM einfach anbietet, weil es dann alle Fernbedienungen ersetzt.

Viele Grüße
Thorsten

betateilchen

Das Problem am UPnP-"Standard" ist, dass jeder Hersteller seinen eigenen Standard daraus abgeleitet hat. Das fängt schon bei den Zeichensätzen an. Ich habe auch angeblich UPnP fähige Geräte unterschiedlichster Hersteller bei mir zu Hause, aber ich habe den Versuch, die wirklich darüber zu nutzen, schon lange aufgegeben. Sonst hätte ich vermutlich die meisten von denen inzwischen verschrottet.


-----
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Elektrolurch

Hallo,

bin gerade auf diese Diskussion gestiegen und muss mein heftiges Interesse anmelden.
Habe eine Reihe von UPNP - Fähigen Geräten, wie Sonos und SamsungTVs. Die würde ich zumindest im Zuge der Hausautomatisierung  dazu nutzen wollen, um aakustische Meldungen auszugeben (z.B. Alarmanlage oder andere Dinge).
Zur Fritzbox: Die bietet ja selber eine UPNP-Schnittstelle an. Zumindest kann man ganz leidlich z.B. mit einem Nokia N86 die dortigen Quellen wie Musik, Bilder oder Filme auf beliebige andere Geräte im Netzwerk zuweisen und auch die Lautstärke regeln.
Somit hätte man ja schon mal für fhem-Zwecke ein paar sinnvolle Funktionen.
Es gibt ja hier im Forum das sonos - Beispiel (ev. nutzt das ja auch schon UPNP). Leider läuft es wg. mangelndem Multitasking der perl-Installation auf der FB nicht, zumindest sagt das der Autor.
Wenn jemand herausfindet, welche UPNP-Module (perl) geeignet sind auch auf eine FB zu übernehmen, dann würde ich auch den Support von AVM etwas nerven. Je mehr sich da melden, desto eher sind die wohl auch bereit, auf Vorschläge einzugehen.
Übrigens: zu  Laminat und Landhausstil -> TCP/IP ist ja noch älter als UPNP und auch ziemlich verkorkst. Denke aber, dass alle AVR-Hersteller zumindest auch in Zukunft einen subset von Befehlen anbieten werden.

Das Thema sollte aus meiner Sicht unbedingt weiterverfolgt werden. Leider bin ich mit perl noch nicht so weit, dass ich so ein Modul zerlegen und anpassen kann.... Kommt ev. noch.

Elektrolurch
configDB und Windows befreite Zone!

Puschel74

Hallo,

Zitatmit dem Nachinstallieren der Perl Module für die FB würde ich ggf. mal mit dem AVM Support verfolgen,

Da bin ich aber mal auf die Rückmeldung von AVM gespannt - und Rudi sicher auch ;-)

Grüße
Zotac BI323 als Server mit DBLog
CUNO für FHT80B, 3 HM-Lan per vCCU, RasPi mit CUL433 für Somfy-Rollo (F2F), RasPi mit I2C(LM75) (F2F), RasPi für Panstamp+Vegetronix +SONOS(F2F)
Ich beantworte keine Supportanfragen per PM! Bitte im Forum suchen oder einen Beitrag erstellen.

betateilchen

define upnp UPNP

Ergebnis:

(http://up.picr.de/15525027ba.png)

get upnp list

Ergebnis:

(http://up.picr.de/15525100rp.png)

Die Logik der Discover-Auswertung funktioniert noch nicht ganz, das gleiche Device darf natürlich nicht dreimal aufgelistet werden.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

UliM

Moin,
ömm - hast Du da jetzt mal schnel ein Modeul gezaubert oder was?
=8-)
RPi4/Raspbian, CUL V3 (ca. 30 HomeMatic-devices), LAN (HarmonyHub, alexa etc.).  Fördermitglied des FHEM e.V.

betateilchen

ja.

Schönes Wochenende :)
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Markus Bloch

Währe das nicht auch interessant, wenn dein UPNP Modul AV-Geräte findet, zu denen es in FHEM ein Modul gibt, diese dann entsprechend via autocreate anzulegen?

Gruß
Markus
Developer für Module: YAMAHA_AVR, YAMAHA_BD, FB_CALLMONITOR, FB_CALLLIST, PRESENCE, Pushsafer, LGTV_IP12, version

aktives Mitglied des FHEM e.V. (Technik)

betateilchen

sicher.

Aber lasst mich doch das Modul erstmal soweit bauen, dass es Geräte überhaupt korrekt findet.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Markus Bloch

Developer für Module: YAMAHA_AVR, YAMAHA_BD, FB_CALLMONITOR, FB_CALLLIST, PRESENCE, Pushsafer, LGTV_IP12, version

aktives Mitglied des FHEM e.V. (Technik)

betateilchen

Zitat von: betateilchen schrieb am Do, 15 August 2013 09:54Ich halte UPnP, genau wie Landhausstil und Laminatfußboden, für einen Irrweg.

daran hat sich grade nix geändert. Von 5 verschiedenen uPnP Netzwerkgeräten hier im lokalen Netz werden exakt zwei gefunden. Soviel zum Thema "Standard"

-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

crazystone

Oh man, betateilchen! Du bist der Hammer!

Ich würde dein Modul ebenfalls gern in der Erkennung meiner Gerät testen. Was muss ich tun? Hast Du das schon eingecheckt? Kann ich das Modul so irgendwie laden? Braucht es irgendwelche Perl Module, die evtl. Auf der FB nicht drauf sind?

Fragen über Fragen... :-)

IN JEDEM FALL SCHON MAL EIN FETTES DANKE!