EntertainTV - Modul zum steuern eines MR400

Begonnen von RalfP, 09 Juni 2019, 21:39:17

Vorheriges Thema - Nächstes Thema

RalfP

#90
Hallo,

hab ein ganz kleines Update noch gemacht 1.1.0.7 -> Loglevel für Login geändert -> Beitrag von vuffiraa

PS: Mein Modul läuft derzeit auch wieder ohne Problem bei mir. Mein genanntes Problem umfassten mehrere Dinge in meinem Netzwerk, die nicht nur mein Modul beeinflussten. Scheint alles wieder gut zu sein.

Grüße
Ralf

gotmoon

Hallo Zusammen,
ich nutze das Modul ebenfalls und habe nach dem update keine Probleme. Er findet auch 6 meiner 7 Receiver (bitte keine Kommentare :-))

Allerdings habe ich auch einen Receiver Entry. Den gibt es zwar mittlerweile nicht mehr zu kaufen, aber er leistet noch ein paar Dienste.
Hier der XML Output. Vielleicht kann der in Zukunft noch mit aufgenommen werden.

Vielen Dank schon mal :-)

<root>
<specVersion>
<major>1</major>
<minor>0</minor>
</specVersion>
<device>
<UDN>uuid:9d8adeb8-6cf5-5d28-942b-1816C9F25175</UDN>
<friendlyName>Bad-mrentry</friendlyName>
<deviceType>urn:schemas-upnp-org:device:MediaRenderer:1</deviceType>
<manufacturer>Huawei Technologies Co.,Ltd</manufacturer>
<modelName>MRENTRY</modelName>
<modelNumber>HW05.00</modelNumber>
<productVersionNumber>" 221 "</productVersionNumber>
<productType>stb</productType>
<serialNumber/>
<X_wakeOnLan>0</X_wakeOnLan>
<dlna:X_DLNADOC>DMR-1.50</dlna:X_DLNADOC>
<dlna:X_DLNACAP/>
<serviceList>
<service>
<serviceType>urn:schemas-upnp-org:service:ConnectionManager:1</serviceType>
<serviceId>upnp-org:serviceId:ConnectionManager</serviceId>
<controlURL>/upnp/service/ConnectionManager/Control</controlURL>
<eventSubURL>/upnp/service/ConnectionManager/Event</eventSubURL>
<SCPDURL>/upnp/service/des/cms.xml</SCPDURL>
</service>
<service>
<serviceType>urn:schemas-upnp-org:service:AVTransport:1</serviceType>
<serviceId>upnp-org:serviceId:AVTransport</serviceId>
<controlURL>/upnp/service/AVTransport/Control</controlURL>
<eventSubURL>/upnp/service/AVTransport/Event</eventSubURL>
<SCPDURL>/upnp/service/des/avt.xml</SCPDURL>
</service>
<service>
<serviceType>urn:schemas-upnp-org:service:RenderingControl:1</serviceType>
<serviceId>upnp-org:serviceId:RenderingControl</serviceId>
<controlURL>/upnp/service/RenderingControl/Control</controlURL>
<eventSubURL>/upnp/service/RenderingControl/Event</eventSubURL>
<SCPDURL>/upnp/service/des/rcs.xml</SCPDURL>
</service>
<service>
<serviceType>urn:schemas-upnp-org:service:X-CTC_RemotePairing:1</serviceType>
<serviceId>upnp-org:serviceId:X-CTC_RemotePairing</serviceId>
<controlURL>/upnp/service/X-CTC_RemotePairing/Control</controlURL>
<eventSubURL>/upnp/service/X-CTC_RemotePairing/Event</eventSubURL>
<SCPDURL>/upnp/service/des/X-CTC_RemotePairing.xml</SCPDURL>
</service>
<service>
<serviceType>urn:schemas-upnp-org:service:X-CTC_RemoteControl:1</serviceType>
<serviceId>upnp-org:serviceId:X-CTC_RemoteControl</serviceId>
<controlURL>/upnp/service/X-CTC_RemoteControl/Control</controlURL>
<eventSubURL>/upnp/service/X-CTC_RemoteControl/Event</eventSubURL>
<SCPDURL>/upnp/service/des/X-CTC_RemoteControl.xml</SCPDURL>
</service>
</serviceList>
</device>
</root>

RalfP

#92
Hallo gotmoon,

MRENTRY ist in 1.1.0.8 hinzugefügt. Lass mal hören...

Grüße
Ralf

volschin

@RalfP Wäre gut die Anleitung im ersten Beitrag mal von http auf https zu ändern.
Intel NUC+Ubuntu 22.04+Docker+FHEM6
HomeMatic: HM-MOD-RPI-PCB+HM-USB-CFG2+hmland+diverse, HUE: Hue-Bridge, RaspBee+deCONZ+diverse
Amzn Dash-Buttons, Siro Rollos
4xRPi, 4xCO20, OWL+USB, HarmonyHub, FRITZ!Box 7590, Echo Dots+Show8, Logi Circle 2, HomeBridge
TIG Stack (Telegraf, InfluxDB, Grafana)

RalfP

Hallo volschin,

die Links für update sind jetzt auf https.

schönes Wochenende
Gruß
Ralf

gotmoon

Hi
Vielen Dank !
MREntry wird gefunden und auch in FHEM angelegt. Der State bekommt auch "online" wenn er an ist. Mehr möchte er nicht. Keine Programm-Anzeige, kein on/off. Kein Volume.
pairing steht auf "initializing".
Reicht mir aber so. Da der MR Entry sowieso nur im Bad steht und per Steckdose an und aus gemacht wird, reicht mir der Status erstmal so.

TWART016

Hallo,

ich bekomme den Fehler:
Cannot load module EntertainTV


BEGIN failed--compilation aborted at ./FHEM/78_EntertainTV.pm line 67.
Compilation failed in require at ./FHEM/78_EntertainTV.pm line 67.
BEGIN failed--compilation aborted at FHEM/lib/UPnP/ControlPoint.pm line 39.
Compilation failed in require at FHEM/lib/UPnP/ControlPoint.pm line 39.
BEGIN failed--compilation aborted at FHEM/lib/UPnP/Common.pm line 108.
2020.08.28 00:24:13 0: Can't locate SOAP/Lite.pm in @INC (you may need to install the SOAP::Lite module) (@INC contains: fhem.p/lib fhem.p/FHEM/lib ./FHEM/lib ./lib ./FHEM ./ /usr/local/FHEM/share/fhem/FHEM/lib . /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.22.1 /usr/local/share/perl/5.22.1 /usr/lib/x86_64-linux-gnu/perl5/5.22 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl/5.22 /usr/share/perl/5.22 /usr/local/lib/site_perl /usr/lib/x86_64-linux-gnu/perl-base) at FHEM/lib/UPnP/Common.pm line 108.
BEGIN failed--compilation aborted at ./FHEM/78_EntertainTV.pm line 67.
Compilation failed in require at ./FHEM/78_EntertainTV.pm line 67.
2020.08.28 00:24:13 1: reload: Error:Modul 78_EntertainTV deactivated:


Ist Username die Zugangsnummer und Passwort das persönliches Kennwort?

RalfP

Hallo TWART016,

bei dir fehlt mindestens das SOAP Perl Modul für den ControlPoint (ist Teil von Ehem). Dieses musst du noch installierten.

Folgende Libraries sind notwendig für EntertainTV:
Digest::MD5
HTML::Entities
JSON
HttpUtils
Blocking
UPnP::ControlPoint
Date::Parse
Encode

Der ControPpoint selbst benötigt aber auch einige Module. Auszug aus der Doc vom Controlpoint:

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

TWART016

#98
Ich habe jetzt einige Pakete nachinstalliert

sudo apt-get install -y libdigest-md5-file-perl
sudo apt-get install -y libhtml-entities-numbered-perl

sudo apt-get install libxml-parser-lite-perl
sudo apt-get install libsoap-lite-perl


Wie kann ich die Befehle für die restlichen herausfinden? Ich verwende Ubuntu Server.

Edit: apt-get -y install libnet-upnp-perl
hat gefehlt. Jetzt kann das Modul angelegt werden

TWART016

Das Gerät ist nun korrekt angelegt und verbunden. Jedoch erscheinen keine Receiver Daten
Internals:
   DEF        ACCOUNT crypt:540254145465464105020804 crypt:4364651216460253
   FUUID      5f48e3bf-f33f-1e7a-81cf-0e5c308aa568a70c
   NAME       Magenta
   NR         78
   STATE      login successful
   SUBTYPE    ACCOUNT
   TYPE       EntertainTV
   VERSION    1.1.0.8
   friendlyName PAD:Fhem
   READINGS:
     2020-08-28 13:16:43   expirationTime  2020-08-28 15:16:42
     2020-08-28 13:16:45   state           login successful
     2020-08-28 13:16:43   userID          8F824375DAC7D3CB83B4DBC7DC523A65
   helper:
     password   crypt:52065d03525d0253
     username   crypt:540254015457065805020804
     oAuth:
       AccessToken EKDKCzHqw8BOZqaAEaNz6SEBAAEHpQAAAXQ0yLLxAAABdDU2j_EBAQgAAAF0NMiy8dzzLcpDBb4ImloGmhimYCDxT2e0t6YWlUwAuk7QpYGv-w2U3qp5qIdCrqxL5MGtg0KiBn5TgpgRNl8u2FHdoTqaP3oQnomLlDPZqtNLwlqaTauiUtQrU-e8xcuET5V4uvmfyJF6j92Jt3kwdOuClUEjATQedySqYoJnFNhjL5bzJvyD93GmrY5aL09rNQzt6kK3grU=
       AccessTokenExpirationTime 1598620602.36577
       AccessTokenExpirationTimestamp 2020-08-28 15:16:42
       ClientId   10LIVESAM30000004901NGTVWEB0000000000000
       ClientSecret
       Scope      ngtvepg
       Service    https://accounts.login.idm.telekom.com
       UserID     8F824375DAC7D3CB83B4DBC7DC523A65
       epghttpsurl https://appepmfk20009.prod.sngtv.t-online.de:33227
       epgurl     http://appepmfk20009.prod.sngtv.t-online.de:33220/EPG
       retmsg     authenticate success .
Attributes:
   DbLogExclude .*



Im Log steht:
2020.08.28 13:15:45 1: Magenta: Upnp ControlPoint setup error => Error creating SSDP multicast listen socket (1): Address already in use

RalfP

Hallo TWART016,

Bei dir ist der Port 1900 schon belegt durch einen anderen upnp Teilnehmer. So steht es in deinem Log. Ich vermute mal Squeezbox, wie in deinem Abspann aufgeführt. Es ist leider nicht möglich zwei unterschiedliche Contolpoints auf dem selben Port laufen zu lassen. Dem Fhem Controlpoint kann ich keinen SSDP Port vorgeben. Er arbeitet mit dem 1900. eine Lösung wird schwierig. Entweder die andere Anwendung, die den Port 1900 nutzt, beenden oder eine zweite Hardware nutzen und diese mit Fhem2Fhem o.ä. koppeln.

PS: Bitte keine Passwörter und userId hier posten, lösch sie bitte oder mach sie unkenntlich.

Grüße
Ralf

TWART016

Hi,

besten Dank. Ja, ich nutze Squeezebox. Ich habe einen ESXi. Dann lasse ich FHEM in einer anderen VM oder Docker Container laufen. Teste das später mal.

Die Werte von crypt hatte ich bereits verfälscht. Andere Module verstecken bzw. wird es anders abgelegt. Vielleicht könnte man das in dem Modul ändern.

TWART016

#102
Kommando zurück. Ich hatte das Modul auf meinem Testsystem (VM) eingerichtet, dort läuft keine Squeezebox.

root@FHEM-test:/home/user# netstat -ano | grep 1900
udp        0      0 0.0.0.0:1900            0.0.0.0:*                           aus (0.00/0/0)

RalfP

Hallo  TWART016,

in einer VM oder Docker (wo ich keinerlei Erfahrung habe) wird es wohl nicht funktionieren, sofern die Konfiguration der Umgebung so ist, wie du es zeigst. Laufen tut es nur unter realen Bedingungen, wo ein uneingeschränkter Zugriff auf die Ports möglich ist. Ich kann dir da leider nicht helfen, sorry.

Grüße
Ralf


TWART016

#104
Docker ok, aber VM? Das ist doch ein volles Betriebssystem mit Zugriff auf alle Ports.
netstat -tulpen hat das ergeben. deCONZ ist für einen Conbee II für Zigbee. Das habe ich nun deinstalliert
Proto Recv-Q Send-Q Local Address           Foreign Address         State       User       Inode       PID/Program name
udp        0      0 0.0.0.0:1900            0.0.0.0:*                           1000       16437       873/deCONZ


PID 1375 ist der FHEM Prozess:
netstat -tulpen
Aktive Internetverbindungen (Nur Server)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       User       Inode       PID/Program name
tcp        0      0 0.0.0.0:39533           0.0.0.0:*               LISTEN      999        18088       1375/perl
tcp        0      0 0.0.0.0:8083            0.0.0.0:*               LISTEN      999        17136       1375/perl
tcp        0      0 0.0.0.0:8084            0.0.0.0:*               LISTEN      999        17137       1375/perl
tcp        0      0 0.0.0.0:8085            0.0.0.0:*               LISTEN      999        17138       1375/perl
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      0          15857       1236/sshd
tcp        0      0 0.0.0.0:7072            0.0.0.0:*               LISTEN      999        17135       1375/perl
tcp6       0      0 :::22                   :::*                    LISTEN      0          15866       1236/sshd
udp        0      0 0.0.0.0:42224           0.0.0.0:*                           999        18087       1375/perl
udp        0      0 0.0.0.0:1900            0.0.0.0:*                           999        18089       1375/perl


Readings werden derzeit noch nicht erzeugt