Neues Modul "PhilipsTV"

Begonnen von RalfP, 08 November 2022, 15:25:09

Vorheriges Thema - Nächstes Thema

MDietrich

Moin, habe gerade das Update auf Version 0.2.15 gefunden.

Man muss nicht nur suchen, sondern auch finden können.
FÜR ALLE, DENEN ES GENAUS SO GEHT: Der Link ist im ersten Post!

Gruß,
Matthias

MDietrich

Hallo,

Zitat von: CoolTux am 09 Januar 2023, 18:46:47
Hallo Marc,

Die Aussage macht mich etwas stutzig. Laut Doku und auch laut Modulcode werden keinerlei Python Module für das FHEM Perl Modul benötigt. Hast Du hier eventuell etwas anderes installiert? Oder habe ich Dich falsch verstanden?

Aus der Commandref:

Hinweis: Folgende Libraries sind notwendig für dieses Modul:
JSON
Digest::MD5
MIME::Base64
HTML::Entities
Data::Dumper
LWP::UserAgent
LWP::Protocol::https/li>
HTTP::Request


Gruß,
Matthias

CoolTux

Hallo Mathias,

Danke Dir. Das bestätigt meine Aussage nur.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

marcg

#78
Hehe, ich meinte natürlich die perl Module...hab aber python geschrieben....sorry dafür...

Ich leg ihn mal manuell an, mal sehen was passiert...

Danke soweit

Edit....
manuelles anlegen hat geklappt, Pairing durchgeführt und nun geht's... warum er nicht automatisch erkannt wurde... k.a.


RalfP

Hallo Marc,

ich habe da noch einen Filter drin. Der bezieht sich auf den Modelnamen. Standard ist, das mindesten "Philips TV" im Modelnamen vorkommen muss. Über das Attr "acceptedModelName" kann dies verändert werden. Sonst wird kein TV angelegt. Damit wollte ich verhindern, das ungewollte Geräte angelegt werden.

Kannst du mal zeigen, was in der Beschreibung steht - rufe dafür "http://192.168.178.70:49153/nmrDescription.xml" im Browser mal auf. Dort müsstest du etwas finden, wie:
<modelName>Philips TV DMR</modelName>

Vielleicht liegt es daran :o

Grüße
Ralf

RalfP

Hallo,

habe übrigens v0.2.17 abgelegt - siehe ersten Post

Grüße
Ralf

dadoc

Moin,
Ich habe das Modul wie in Post #1 installiert, beim Anlegen des Device nach shutdown restart kommt
Cannot load module PhilipsTV
70_PhilipsTV.pm ist vorhanden. Log sagt:
2023.01.29 11:03:35 1: reload: Error:Modul 70_PhilipsTV deactivated:
Attempt to reload UPnP/ControlPoint.pm aborted.
Compilation failed in require at ./FHEM/70_PhilipsTV.pm line 89.
BEGIN failed--compilation aborted at ./FHEM/70_PhilipsTV.pm line 89.

2023.01.29 11:03:35 0: Attempt to reload UPnP/ControlPoint.pm aborted.
Compilation failed in require at ./FHEM/70_PhilipsTV.pm line 89.
BEGIN failed--compilation aborted at ./FHEM/70_PhilipsTV.pm line 89.

Mache ich da was falsch?
Grüße
Martin
Standort 1: FS20 mit CUL und FHEM auf Raspi. HM-Komponenten (Heizung, Rollladen, Schalter). HM IP über Raspimatic (testweise)
Standort 2: Homematic (Wired) über CCU2 und PocketHome HD
3 x Raspi3 mit piCorePlayer/Kodi für Multiroom Audio (+ Tablets/iPeng/iPods

MDietrich

Hallo Martin,
hast du alle Module wie in der Commanref beschrieben installiert?
Siehe Post #76

Gruß,
Matthias

dadoc

Danke Matthias, war garnicht auf die Idee gekommen, dass es dazu schon etwas in der Commandref geben könnte. Kleiner Hinweis bei der Installationsinstruktion in Post #1 evtl.
Werde ich auf jeden Fall heute testen!
Standort 1: FS20 mit CUL und FHEM auf Raspi. HM-Komponenten (Heizung, Rollladen, Schalter). HM IP über Raspimatic (testweise)
Standort 2: Homematic (Wired) über CCU2 und PocketHome HD
3 x Raspi3 mit piCorePlayer/Kodi für Multiroom Audio (+ Tablets/iPeng/iPods

RalfP

Hallo Martin,

Die ControlPoint.pm benötigt aber auch noch Perl Pakete. Evtl. fehlt dir eines davon, welches du dann nachinstallierten musst:

use Carp;
use IO::Socket::INET;
use Socket;
use IO::Select;
use HTTP::Daemon;
use HTTP::Headers;
use LWP::UserAgent;
use Time::HiRes qw(usleep gettimeofday);


Aus der Hilfe von ControlPoint.pm
Since the UPnP architecture leverages several existing protocols such
as TCP, UDP, HTTP and SOAP, this module requires several Perl modules
that implement these protocols. These include
L<IO::Socket::INET|IO::Socket::INET>,
L<LWP::UserAgent|LWP::UserAgent>,
L<HTTP::Daemon|HTTP::Daemon> and
C<SOAP::Lite> (L<http://www.soaplite.com>).


Grüße
Ralf

dadoc

Vielen Dank Ralf,
irgendwie war es an mir vorbei gegangen, dass die Philips-Steuerung etwas mit ControlPoint.pm zu tun hat.
Ich habe jetzt mal alles installiert (ganz schöne "Orgie" das :-)) und werde heute Abend noch mal testen.
Im ersten (Schnell-)Versuch habe ich unter PhilipsTV nur mein angelegtes Device "sleeptv" im Status "succesfull setup of Upnp Search"
Beim PhilipTV Modul sind gelistet:

UPnPSocket_sleeptv
UPnPSocket_sleeptv_1900
UPnPSocket_sleeptv_39229
sleeptv

Grüße
Martin
Standort 1: FS20 mit CUL und FHEM auf Raspi. HM-Komponenten (Heizung, Rollladen, Schalter). HM IP über Raspimatic (testweise)
Standort 2: Homematic (Wired) über CCU2 und PocketHome HD
3 x Raspi3 mit piCorePlayer/Kodi für Multiroom Audio (+ Tablets/iPeng/iPods

dadoc

Irgendwie scheint er mich (oder meinen Philips 43PUS6703/12 - evtl nicht kompatibel?) nicht zu mögen:

2023.01.30 18:50:39 3: PhilipsTV: set sleeptv RescanNetwork
2023.01.30 18:50:42 1: sleeptv: ControlPoint is successfully stopped!
2023.01.30 18:50:42 3: sleeptv: new Upnp search - started
2023.01.30 18:50:42 1: [Freezemon] myFreezemon: possible freeze starting at 18:50:40, delay is 2.985 possibly caused by: no bad guy found :-(
2023.01.30 18:50:43 1: sleeptv: Create device '' with uuid:13828398-bbd5-1da0-98d9-70af24e00b45 failed, because it isn't in filter!
Standort 1: FS20 mit CUL und FHEM auf Raspi. HM-Komponenten (Heizung, Rollladen, Schalter). HM IP über Raspimatic (testweise)
Standort 2: Homematic (Wired) über CCU2 und PocketHome HD
3 x Raspi3 mit piCorePlayer/Kodi für Multiroom Audio (+ Tablets/iPeng/iPods

RalfP

Hallo Martin,

bitte rufe mal im Browser folgendes auf (IP durch deine ersetzen)
http://IP:49153/nmrDescription.xml

...darin sollte eigentlich etwas vorkommen, wie dieses:
<deviceType>urn:schemas-upnp-org:device:MediaRenderer:3</deviceType>
<friendlyName>65OLED805/12</friendlyName>
<manufacturer>Philips</manufacturer>
<manufacturerURL>http://www.philips.com</manufacturerURL>
<modelDescription>UPnP Media Renderer 1.0</modelDescription>
<modelName>Philips TV DMR</modelName>
<modelNumber>2k15MTK</modelNumber>
<modelURL>http://www.philips.com/</modelURL>
<serialNumber>12345</serialNumber>
<UDN>uuid:F00DBABE-AA5E-BABA-DADA-68070a21404b</UDN>
<UPC>123456789012</UPC>


Dabei kommt auch <modelName>Philips TV DMR</modelName>. Ich filtere das Anlegen der TV's nach "Philips TV" im modelName. Nach deiner Auflistung der Meldungen:
sleeptv: Create device '' with uuid:13828398-bbd5-1da0-98d9-70af24e00b45 failed, because it isn't in filter! scheint der modelName leer zu sein  :o

Zwischen den '' sollte eigentlich der modelName, im Idealfall 'Philips TV DRM' angezeigt werden. Eigentlich auch nicht, weil dann das Erstellen des Device ja funktioniert hätte.

Das Attr acceptedModelName würde den Filter beeinflussen. Ich bin mir aber nicht sicher, was passiert, wenn du eine leere Zeichenkette setzen würdest.  Man könnte evtl. mit Attr acceptedUDNs dann evtl. arbeiten, um unerwünschte Geräte auszuschließen.

Aus der Hilfe
ZitatacceptedModelName
Default 'Philips TV'
Filter für Modelnamen der per Upnp gefunden werden soll.

acceptedUDNs
Eine Liste (durch Kommas oder Leerzeichen getrennt) von UDNs, die von der automatischen Geräteerstellung akzeptiert werden soll.
Es ist wichtig, dass uuid: ebenfalls Teil der UDN ist und enthalten sein muss.

Lass bitte mal hören. Hatte einen ähnlichen Fall hier schon einmal, bekam aber keine Rückmeldung.

Grüße
Ralf

dadoc

Hallo Ralf,
http://192.168.50.124:49153/nmrDescription.xml ergibt:

Die Website ist nicht erreichbar

192.168.50.124 ist momentan nicht erreichbar.
ERR_CONNECTION_FAILED
Standort 1: FS20 mit CUL und FHEM auf Raspi. HM-Komponenten (Heizung, Rollladen, Schalter). HM IP über Raspimatic (testweise)
Standort 2: Homematic (Wired) über CCU2 und PocketHome HD
3 x Raspi3 mit piCorePlayer/Kodi für Multiroom Audio (+ Tablets/iPeng/iPods

RalfP

Hallo Martin,

ist das ein androidTV? Laut Philips Website - nein. Der müsste SAPHI als Betriebssystem haben. Damit könnte es schwieriger werden, weil ich dies nie in den Händen hatte bisher.

Evtl. kannst du mal mit einer UPnP App dein Netzwerk scannen. Die listen alle UPnP Geräte auf, zeigen meist auch die Beschreibungsdatei.

Auf meinem Mac nutzte ich z.B. "UPnP Analyzer".

Weiter ist auch möglich mal zu probieren, ob einer dieser Links funktioniert. Die liefern einige Systeminformationen des Fernsehers.
https://192.168.50.124:1926/6/system bzw. http://192.168.50.124:1925/6/system

Vielleicht bekommen wir damit ein paar Informationen.

Grüße
Ralf