Neues Modul "PhilipsTV"

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

Vorheriges Thema - Nächstes Thema

dadoc

:1925 liefert was:
{
"menulanguage": "German",
"name": "43PUS6703/12",
"country": "Germany",
"serialnumber_encrypted": "K2kseVsmQFgkd15gKkJ+aqeYdsF5k+abqSCB9KZlal4=",
"softwareversion_encrypted": "K2kseVsmQFgkd15gKkJ+ak3ednbEwu0L3RKYbs0Gj1xP4wabV+y2+BZ0IrujSFGi",
"model_encrypted": "K2kseVsmQFgkd15gKkJ+aulhg0Jm2gQq8JqWnkS3h74=",
"deviceid_encrypted": "K2kseVsmQFgkd15gKkJ+aq8cBI2ds5bFsBvFnqG4WS8=",
"nettvversion": "4.6.0.1",
"epgsource": "broadcast",
"api_version": {
"Major": 6,
"Minor": 1,
"Patch": 0
},
"featuring": {
"jsonfeatures": {
"recordings": [
"List",
"Schedule",
"Manage"
],
"ambilight": [
"Hue",
"Ambilight"
],
"textentry": [
"context_based",
"initial_string_available"
],
"inputkey": [
"key",
"unicode"
],
"pointer": [
"context_based"
],
"activities": [
"browser"
]
},
"systemfeatures": {
"tvtype": "consumer",
"content": [
"dmr"
],
"pairing_type": "none",
"os_type": "Linux"
}
}
}


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

Zitat von: RalfP am 30 Januar 2023, 21:14:30
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.
Look&Feel ist Android, allerdings ist das nirgendwo erwähnt, d.h. kein Bootlogo etc.

ZitatEvtl. kannst du mal mit einer UPnP App dein Netzwerk scannen. Die listen alle UPnP Geräte auf, zeigen meist auch die Beschreibungsdatei.
In meinen diversen UPNP-scannenden Anwendungen (z.B. Technisat Isio, der auch die entferntesten UPNP Device findet) ist der Philips afair noch nie aufgetaucht.

Zitathttps://192.168.50.124:1926/6/system bzw. http://192.168.50.124:1925/6/system
Ersteres nicht, das zweite siehe vorherigen Post.
Danke & 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

Hallo Ralf,
https://github.com/eslavnov/pylips kennst Du vermutlich? Soll sowohl mit den Android- als auch mit den Nicht-Android-Modellen von Philips funktionieren. Vielleicht könnte man sich da ja etwas "abgucken" für das fhem-Modul?
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

RalfP

Hallo Martin,

ja, das pylips war meine Inspiration und Hilfe, um das Ganze für Fhem nutzbar zu machen. Es ist aber nicht so einfach für mich etwas am grünen Tisch zu programmieren, ohne das ich es testen kann - mir fehlt einfach ein entsprechender Fernseher.

Dein System zeigt mir, dass du einen TV mit SAPHI als Betriebssystem hast. Auch ist die Schnittstelle wahrscheinlich eine solche, die kein Pairing benötigt.
"pairing_type": "none",
"os_type": "Linux"


Ich habe alles in meinem Modul auf die Schnittstelle mit Pairing und damit mit androidTV ausgelegt, weil ich solch einen TV habe. Ich zweifele daran, das es funktionieren wird. Trotzdem könntest du mal einen Versuch starten indem du den TV manuell anlegst:
define <name> PhilipsTV TV <ip>

Beispiel: define sleeptv PhilipsTV TV 192.168.50.124


Wird aber bestimmt nicht funktionieren. An mancher Stelle hatte ich für das PAIR_NOT_NECESSARY etwas vorgesehen, aber nur gedanklich. Nie getestet, da wie geschrieben, ich keine Möglichkeit zum testen habe.

Grüße
Ralf

dadoc

Zitat von: RalfP am 31 Januar 2023, 14:16:45
Trotzdem könntest du mal einen Versuch starten indem du den TV manuell anlegst:
define <name> PhilipsTV TV <ip>

Beispiel: define sleeptv PhilipsTV TV 192.168.50.124


Wird aber bestimmt nicht funktionieren. An mancher Stelle hatte ich für das PAIR_NOT_NECESSARY etwas vorgesehen, aber nur gedanklich.
Das werde ich selbstverständlich ausprobieren, vielen Dank.

ZitatNie getestet, da wie geschrieben, ich keine Möglichkeit zum testen habe.
Ich teste und ausprobiere gern alles, was Du mir aufträgst ;-) - komme allerdings i.d.R. immer erst abends dazu. Ich könnte auch mal pylips versuchen zum Laufen zu bringen, wenn Du Dir daraus Erkenntnisse versprichst?

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

Hi,
Schalten (set... off) lässt er sich zwar nicht, aber nach ein paar Minuten kommt ein Neustart (?) inkl. Philips-Logo, das ich zuvor noch nie gesehen habe. Und das "Kein Signal"-Overlay (normal, weil die HDMI-Zuspielquelle DENON AVR aus ist) flackert ab und an, weshalb ich vermute, dass fhem mit dem TV zu sprechen versucht:
Internals:
   CFGFN     
   DEF        TV 192.168.50.124
   FUUID      63d939b6-f33f-9bf2-fa7b-069bdee2e37f87de
   IP         192.168.50.124
   NAME       sleeptv2
   NR         1750
   STATE      online
   SUBTYPE    TV
   TYPE       PhilipsTV
   UDN        uuid:13828398-bbd5-1da0-98d9-70af24e00b45
   VERSION    v0.2.17
   eventCount 19
   upnp_deviceType urn:schemas-upnp-org:device:MediaRenderer:3
   upnp_friendlyName 43PUS6703/12
   upnp_location http://192.168.50.124:2870/dmr.xml
   upnp_modelName
   READINGS:
     2023-01-31 18:36:49   Mute            0
     2023-01-31 18:36:49   Volume          0
     2023-01-31 18:36:20   data            notready
     2023-01-31 18:36:41   state           online
   helper:
     applications:
     channelList:
     commands:
       ambilight  audio_adapt_brightness,audio_adapt_colors,audio_flash,audio_knight_rider_1,audio_knight_rider_2,audio_party,audio_random,audio_spectrum,audio_strobo,audio_vu_meter,color,color_cool_white,color_deep_water,color_fresh_nature,color_hot_lava,color_warm_white,off,on,video_comfort,video_game,video_natural,video_relax,video_standard,video_vivid
       remote     adjust,ambilight_onoff,back,blue,channel_down,channel_up,confirm,cursor_down,cursor_left,cursor_right,cursor_up,digit_0,digit_1,digit_2,digit_3,digit_4,digit_5,digit_6,digit_7,digit_8,digit_9,dot,fast_forward,find,green,home,info,mute,next,online,options,pause,play,play_pause,previous,record,red,rewind,source,standby,stop,subtitle,teletext,viewmode,volume_down,volume_up,watch_tv,yellow
     currentChannel:
       notifychangeState 0
     network:
       notifychangeState 0
     on:
       RUN        2
     pair:
       RUN        0
     powerstate:
       notifychangeState 0
     system:
       system:
     upnp:
       STATE      2
       keepalive  200
       timestamp:
         found      1675186609.74603
         removed    1675186609.66356
     volume:
       Master:
         current    0
         mute       0
Attributes:


Log:
2023.01.31 18:41:14 3: sleeptv2: current status during the Upnp search response - offline
2023.01.31 18:41:14 3: sleeptv2: state of UPnP - online
2023.01.31 18:41:16 1: sleeptv2: Error while HTTP requesting URL:http://192.168.50.124:1925/6/system - no JSON data!
2023.01.31 18:41:16 1: sleeptv2: Error while HTTP requesting URL:http://192.168.50.124:1925/1/system - no JSON data!
2023.01.31 18:41:16 3: sleeptv2: system request unsuccessful!
2023.01.31 18:41:20 1: sleeptv2: RenderingControl: GetAllowedTransforms(0) failed, 500 Server closed connection without sending any data back at FHEM/lib/UPnP/ControlPoint.pm line 954.

2023.01.31 18:41:20 3: sleeptv2: audio - allowed transforms request unsuccessful!
2023.01.31 18:41:20 1: sleeptv2: RenderingControl: GetMute(0,Master) failed, 500 Can't connect to 192.168.50.124:2870 (Connection refused) at FHEM/lib/UPnP/ControlPoint.pm line 954.

2023.01.31 18:41:20 3: sleeptv2: audio - mute request unsuccessful!
2023.01.31 18:41:20 1: sleeptv2: RenderingControl: GetVolume(0,Master) failed, 500 Can't connect to 192.168.50.124:2870 (Connection refused) at FHEM/lib/UPnP/ControlPoint.pm line 954.

2023.01.31 18:41:20 3: sleeptv2: audio - volume request unsuccessful!
2023.01.31 18:41:20 1: [Freezemon] myFreezemon: possible freeze starting at 18:41:17, delay is 3.341 possibly caused by: tmr-PhilipsTV_GetStatus(sleeptv2) tmr-PhilipsTV_VolumeUpnpRequest(sleeptv2) tmr-DENON_AVR_ConnectionCheck(Denon)
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

...viel ist es nicht, was da kommt. Jetzt kannst du aber mal http://192.168.50.124:2870/dmr.xml in deinem Browser versuchen.

Grüße
Ralf

dadoc

Damit kommt nichts (sleeptv hatte ich allerdings in fhem disabled, aber das sollte wohl keine Rolle spielen, oder?)
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

dyna

Moin Zusammen,

ich vermute das Modul verursacht bei mir einen freez von fhem. Es versucht auf ein per SIRD eingebundenes Radio zuzugreifen und friert dann ein.
In der Bridge sind die Attribute ignoredIPs 192.168.67.35 und usedonlyIPs 192.168.67.23 gesetzt. Wobei 192.168.67.23 die IP des TV und 192.168.67.35 die IP des Radios ist.

Hier noch die Auszüge aus dem Log. Es startet mit

2023.03.08 07:48:43 2: Philips_TV_Bridge: <Read> socket UPnPSocket_Philips_TV_Bridge_1900 - handleOnce failed: Loading device description failed with error: 500 Status read failed: Connection reset by peer (Location: http://192.168.67.35:80/device)


und endet mit

2023.03.08 08:19:22 1: Accept failed (telnetForBlockingFn_1678141974.66722: Too many open files)
2023.03.08 08:19:36 1: PERL WARNING: Deep recursion on subroutine "main::SIRD_SendRequest" at ./FHEM/17_SIRD.pm line 2024.
2023.03.08 08:19:36 1: PERL WARNING: Deep recursion on subroutine "main::HttpUtils_NonblockingGet" at ./FHEM/17_SIRD.pm line 1912.
2023.03.08 08:19:36 1: PERL WARNING: Deep recursion on subroutine "main::HttpUtils_Connect" at FHEM/HttpUtils.pm line 1093.
2023.03.08 08:19:36 1: PERL WARNING: Deep recursion on subroutine "main::HttpUtils_gethostbyname" at FHEM/HttpUtils.pm line 489.
2023.03.08 08:19:36 1: PERL WARNING: Deep recursion on subroutine "main::SIRD_ParseNotifies" at FHEM/HttpUtils.pm line 433.


Ich vermute SIRD und die UPNP-Bridge kommen sich in die Quere.

Grüße
Jens

RalfP

Hallo Jens,

der UPnP ControlPoint konnte die Beschreibung von http://192.168.67.35:80/device nicht laden. Dein Radio war zwar im Netz erreichbar, hat aber nicht das ausgeliefert, was es sollte. Es hat eher etwas mit der UPnP Funktion deines Radios zu tun. Der ControlPoint verarbeitet intern erst einmal alle UPnP Clients, die sich melden. Danach wird gefiltert.

Ein Internal Error, oder auch Server Internal Error 500, ist ein serverinterner Fehler. Das bedeutet, dass das Problem auf Seiten des Hosts liegt. Es hat nichts mit der Internetverbindung oder dem Gerät zu tun, von dem aus versucht wird, auf die Seite zuzugreifen.

Das Modul 17_SIRD scheint ja auch Probleme zu haben, auf das Gerät normal zuzugreifen. Es scheint auch nicht zum Kern von Fhem zu gehören, oder? Ich habe es im Fhem Verzeichnis nicht gefunden.

Mit PhilipsTV hat es erst einmal nichts zu tun. Ich kenne auch solche Fehler von Geräten in meinem Netz. Manchmal brauchen diese dann einen Neustart.

Grüße
Ralf

dyna

Moin Ralf,

danke für die Antwort. Kann man das Radio von dieser abfrage ausschließen?

Grüße
Jens

RalfP

Hallo Jens,

im Prinzip ja, so wie du es schon gemacht hattest > usedonlyIPs 192.168.67.23

Leider wirkt sich dies aber auf alle ControlPoints aus, die in deiner Fhem Instanz laufen. Im Modul ControlPoint.pm (Bestandteil von Fhem) sind leider einige Variablem objektübergreifend programmiert worden. Der zu letzt gestartete ControlPoint überschreibt sie. Somit hängt es ganz von deinen Modulen ab, die du benutzt und die ControlPoint.pm benutzen, ob dies funktioniert.

PS: nach setzen des Attributes unbedingt ein RescanNetwork oder Fhem Neustart auslösen!

Grüße
Ralf


dyna

Moin Ralf,

mit usedonlyIPs 192.168.67.23 funktioniert es wieder tadellos. Kein Einfrieren von fhem mehr.

Grüße
Jens

marcg

Zitat von: RalfP am 12 Januar 2023, 18:28:20
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

Huch, nicht gelesen.... hier meine Ausgabe der nmrDescription

<root xmlns="urn:schemas-upnp-org:device-1-0" xmlns:pcrc="urn:schemas-philips-com:philips-crc-1-0">
<specVersion>
<major>1</major>
<minor>0</minor>
</specVersion>
<device>
<deviceType>urn:schemas-upnp-org:device:MediaRenderer:1</deviceType>
<friendlyName>55OLED706/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-7604739574A2</UDN>
<UPC>123456789012</UPC>
<iconList>
<icon>
<mimetype>image/png</mimetype>
<width>48</width>
<height>48</height>
<depth>24</depth>
<url>CP_logo_0.png</url>
</icon>
<icon>
<mimetype>image/png</mimetype>
<width>120</width>
<height>120</height>
<depth>24</depth>
<url>CP_logo_1.png</url>
</icon>
<icon>
<mimetype>image/jpeg</mimetype>
<width>48</width>
<height>48</height>
<depth>24</depth>
<url>CP_logo_2.jpg</url>
</icon>
<icon>
<mimetype>image/jpeg</mimetype>
<width>120</width>
<height>120</height>
<depth>24</depth>
<url>CP_logo_3.jpg</url>
</icon>
</iconList>
<serviceList>
<service>
<serviceType>urn:schemas-upnp-org:service:RenderingControl:1</serviceType>
<serviceId>urn:upnp-org:serviceId:RenderingControl</serviceId>
<SCPDURL>nmrRenderingControl.xml</SCPDURL>
<controlURL>upnp/control/RenderingControl1</controlURL>
<eventSubURL>upnp/event/RenderingControl1</eventSubURL>
</service>
<service>
<serviceType>urn:schemas-upnp-org:service:ConnectionManager:1</serviceType>
<serviceId>urn:upnp-org:serviceId:ConnectionManager</serviceId>
<SCPDURL>nmrConnectionManager.xml</SCPDURL>
<controlURL>upnp/control/ConnectionManager1</controlURL>
<eventSubURL>upnp/event/ConnectionManager1</eventSubURL>
</service>
<service>
<serviceType>urn:schemas-upnp-org:service:AVTransport:1</serviceType>
<serviceId>urn:upnp-org:serviceId:AVTransport</serviceId>
<SCPDURL>nmrAVTransport.xml</SCPDURL>
<controlURL>upnp/control/AVTransport1</controlURL>
<eventSubURL>upnp/event/AVTransport1</eventSubURL>
</service>
</serviceList>
<presentationURL>nmr.html</presentationURL>
<dlna:X_DLNADOC xmlns:dlna="urn:schemas-dlna-org:device-1-0">DMR-1.50 </dlna:X_DLNADOC>
</device>
<pcrc:X_PhilipsCRC>68580838</pcrc:X_PhilipsCRC>
</root>


Scheint zu passen.... was mir aber aufgefallen ist, das der TV öfter als offline gezeigt wird obwohl er angeschaltet ist. Gerade wieder, ich gucke TV , lese die nmrDescr.. aus aber Fhem zeigt offline. Ich hab den pollinterval schon auf 5 gesetzt ,aber das scheint nicht zu helfen.Ich kann dann auf On gehen und ich kann ihn dann per fhem bedienen...

Marc

hmm01

Hallo zusammen,
ich habe seit kurzem einen Philips oled807. das Modul funktionierte nur, wenn der TV an war...Keine Möglichkeit den TV im ausgeschaltetem Zustand zu steuern.
In den Netzwerkeinstellungen bitte das Fernsteuern über Chromcast aktivieren. Wegen des höheren Standbyverbrauchs ist das im Auslieferungszustand auf "Aus"

Dann kann auch das Modul seine Arbeit machen...
Ich hoffe das hilft..