EntertainTV - Modul zum steuern eines MR400

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

Vorheriges Thema - Nächstes Thema

McShire

Hallo Ralf,
nochmals danke, die Standardfunktionen funktionieren jetzt alle bis auf eine:


Jetzt funktioniert auch der MR401!

Was ist neu:
MR401 ein- und ausschalten. Dies aber nur im Standby Modus. WOL geht noch nicht. Der MR401 müsste es können. Kann aber sein, das dies nur in Kombination mit einem MR201 geht.
Programinfo umgesetzt. Zumindest alle Infos, die der Receiver liefert.
Sendernamen können per Attr vergeben werden. Somit wird nicht nur eine Nummer angezeigt. Die Reihenfolge müsst ihr nach der Sendernummer eurer Senderliste im Receiver ordnen.
Ein paar weitere Features sind in der Help hinterlegt.


Leider funktioniert das Einschalten des Receivers aus dem Stanby nicht. Woran könnte das liegen.
Ein List anbei.


Internals:
   CFGFN     
   DEF        RECEIVER uuid:0a8dee56-6ac6-5ea9-82f1-AC6FBB542195
   FUUID      5fae3b24-f33f-f21b-d898-eccde324560979a9
   NAME       RECEIVER_AC6FBB542195
   NR         1631
   STATE      offline
   SUBTYPE    RECEIVER
   TYPE       EntertainTV
   UDN        uuid:0a8dee56-6ac6-5ea9-82f1-AC6FBB542195
   VERSION    1.1.0.8
   deviceType urn:schemas-upnp-org:device:MediaRenderer:1
   friendlyName DMS_AC6FBB542195
   location   http://192.168.178.53:8081/xml/xctc.xml
   modelName  MR401
   pairingID  F0E031A2658106222CDED0351D82DA78
   remoteControl_SID uuid:2c26e485-9bb6-5a9f-bbed-0019192a91b9
   remotePairing_SID uuid:93879b97-be9b-533f-9da1-9fdcc9bb898a
   wakeOnLan  disabled
   READINGS:
     2020-11-13 19:18:47   channel         3
     2020-11-13 19:18:47   currentProgramDuration 00:35
     2020-11-13 19:18:47   currentProgramGenre Folge 3563
     2020-11-13 19:18:47   currentProgramStart Fr. 13.11.2020 | 19:05
     2020-11-13 19:18:47   currentProgramStatus PLAY
     2020-11-13 19:18:47   currentProgramTime Fr. 13.11.2020 | 19:05 - 19:40
     2020-11-13 19:18:47   currentProgramTitle Alles was zählt
     2020-11-13 19:23:38   newPlayMode     STOP
     2020-11-13 19:18:47   nextProgramDuration 00:35
     2020-11-13 19:18:47   nextProgramGenre Folge 7135
     2020-11-13 19:18:47   nextProgramStart Fr. 13.11.2020 | 19:40
     2020-11-13 19:18:47   nextProgramStatus STOP
     2020-11-13 19:18:47   nextProgramTime Fr. 13.11.2020 | 19:40 - 20:15
     2020-11-13 19:18:47   nextProgramTitle Gute Zeiten, schlechte Zeiten
     2020-11-13 19:23:44   pairing         none
     2020-11-13 19:18:35   pairingCheck    07D66793
     2020-11-13 19:23:38   playBackState   RUN
     2020-11-13 19:23:44   state           offline
     2020-11-13 19:18:35   verificationCode 6420085C1AB920B9A4A79B3E0401071D
   helper:
     keepalive  200
     mac        AC6FBB542195
     Pairing:
       RUN        0
Attributes:
   alias      DMS_AC6FBB542195
   channelNames ARD ZDF RTL RTL2 SuperRTL RTLPlus Nitro SAT1 SAT1Gold Pro7 Pro7MAXX VOX Kabel1 KabelDOKU ARTE Servus
   devStateIcon offline:control_home online:control_on_off standby:control_standby play:rc_PLAY pause:rc_PAUSE
   room       Entertain,Wohnzimmer
   webCmd     toggle:on:off



Das Status Icon zeigt aber "ein" an, wenn mit der FB eingeschaltet wird.

Viele Grüße
Werner


RalfP

Hallo Werner,

kann es sein, das du deinen Receiver nicht auf "Stand-by (empfohlen, schneller Start)" im Menü "Geräte System" gestellt hast? Evtl. hast du den Stromsparmodus an. Der schaltet den Receiver komplett ab, damit auch die Netzwerkschnittstelle. Damit ist der Receiver nicht mehr erreichbar und hat sich per Upnp abgemeldet. Deshalb dein Status "offline". In diesem Zustand kann das EntertainTV Modul den Receiver nicht finden und auch nicht einschalten.

Denn erkannt wurde er ja schon mal. Du hast ja einige Readings schon gelistet. Nur ist pairing "none" und state "offline" zeigt, das er nicht als Upnp client zu finden ist zu diesem Zeitpunkt.

Grüße
Ralf

McShire

Hallo Ralf,

vielen Dank für Deinen Hinweis.

Ich habe immer geglaubt, das der MR auf StandBy steht, meine auch, das eingestellt zu haben.
Aber scheinbar hatte er das nicht gespeichert. Jetzt steht er auf Standby und es funktioniert.
Ich hätte auf Grund des List auch sehen müssen, dass ich noch mal den Energiemodus prüfe, aber
immer drüber weg gelesen.

Ich habe hier bei der Einrichtung von EntertainTV wieder viel dazu gelernt.
Jetzt ist alles i.O. und so wie ich es mir vorgestellt habe.

Viele Grüße
Werner

RalfP

Hallo Werner,

...das freud mich. Schau demnächst mal wieder ins Forum. Weiter oben habe ich ja das Nachfolger-Modul schon vorgestellt. Noch in der Testphase. Vielleicht ist es etwas für dich später.

Grüße
Ralf

vuffiraa

#154
Hallo Ralf,

ich habe gestern dein neues Modul in Betrieb genommen. Das hat soweit gut geklappt, EPG-Daten und weitere Readings wurden gefüllt. Ich benutzte das Modul mit einem MR401.

Leider sehen ich im Log ein paar Meldungen:
2020.11.17 19:27:39 3: RECEIVER_AC6FBB56CE61: pairing OK
2020.11.17 19:27:44 3: RECEIVER_AC6FBB56CE61: state of callback - play
2020.11.17 19:27:45 3: RECEIVER_AC6FBB56CE61: state of player state request  - play
2020.11.17 19:27:45 3: RECEIVER_AC6FBB56CE61: state of callback - play
2020.11.17 19:27:55 3: RECEIVER_AC6FBB56CE61: state of callback - play
2020.11.17 19:27:55 1: PERL WARNING: Use of uninitialized value $contentId in string eq at ./FHEM/78_MagentaTV.pm line 3841.
2020.11.17 19:27:55 1: stacktrace:
2020.11.17 19:27:55 1:     main::__ANON__                      called by ./FHEM/78_MagentaTV.pm (3841)
2020.11.17 19:27:55 1:     main::channelId2senderName          called by ./FHEM/78_MagentaTV.pm (3575)
2020.11.17 19:27:55 1:     main::MagentaTV_subscriptionCallback called by ./FHEM/78_MagentaTV.pm (3237)
2020.11.17 19:27:55 1:     main::__ANON__                      called by FHEM/lib/UPnP/ControlPoint.pm (1182)
2020.11.17 19:27:55 1:     UPnP::ControlPoint::Subscription::propChange called by FHEM/lib/UPnP/ControlPoint.pm (607)
2020.11.17 19:27:55 1:     UPnP::ControlPoint::_receiveSubscriptionNotification called by FHEM/lib/UPnP/ControlPoint.pm (247)
2020.11.17 19:27:55 1:     UPnP::ControlPoint::handleOnce      called by ./FHEM/78_MagentaTV.pm (779)
2020.11.17 19:27:55 1:     (eval)                              called by ./FHEM/78_MagentaTV.pm (778)
2020.11.17 19:27:55 1:     main::MagentaTV_Read                called by fhem.pl (3809)
2020.11.17 19:27:55 1:     main::CallFn                        called by fhem.pl (755)


und
2020.11.17 19:28:04 1: PERL WARNING: Use of uninitialized value $sendername in sprintf at ./FHEM/78_MagentaTV.pm line 1565.
2020.11.17 19:28:04 1: stacktrace:
2020.11.17 19:28:04 1:     main::__ANON__                      called by ./FHEM/78_MagentaTV.pm (1565)
2020.11.17 19:28:04 1:     main::MagentaTV_getTitle            called by ./FHEM/78_MagentaTV.pm (1468)
2020.11.17 19:28:04 1:     main::MagentaTV_getCoverTitle       called by ./FHEM/78_MagentaTV.pm (1443)
2020.11.17 19:28:04 1:     main::MagentaTV_detailFn            called by ./FHEM/78_MagentaTV.pm (1385)
2020.11.17 19:28:04 1:     main::MagentaTV_TriggerDetailFn     called by ./FHEM/78_MagentaTV.pm (3650)
2020.11.17 19:28:04 1:     main::MagentaTV_subscriptionCallback called by ./FHEM/78_MagentaTV.pm (3237)
2020.11.17 19:28:04 1:     main::__ANON__                      called by FHEM/lib/UPnP/ControlPoint.pm (1182)
2020.11.17 19:28:04 1:     UPnP::ControlPoint::Subscription::propChange called by FHEM/lib/UPnP/ControlPoint.pm (607)
2020.11.17 19:28:04 1:     UPnP::ControlPoint::_receiveSubscriptionNotification called by FHEM/lib/UPnP/ControlPoint.pm (247)
2020.11.17 19:28:04 1:     UPnP::ControlPoint::handleOnce      called by ./FHEM/78_MagentaTV.pm (779)
2020.11.17 19:28:04 1:     (eval)                              called by ./FHEM/78_MagentaTV.pm (778)
2020.11.17 19:28:04 1:     main::MagentaTV_Read                called by fhem.pl (3809)
2020.11.17 19:28:04 1:     main::CallFn                        called by fhem.pl (755)


Außerdem kommen heute keine EPG-Daten mehr. Der Receiver selber wird erkannt und Channel-Readings sind auch gefüllt. Der letzte Fehler 85983527 - User's session has been expired, please relogin EPG.
Hier hat Refresh Credentials geholfen, aber das will ich nicht jeden Abend machen müssen  ;)

Brauchst du noch mehr Infos?

Gruß VuffiRaa
FHEM 5.8 auf Cubietruck, Raspi B+

Weinzierl KNX IP BAOS 770, Homematic, EnOcean

RalfP

Hallo VuffiRaa,

ja, hatte noch einige Fehler drin. Bin fleißig beim Testen. Hab noch etliches geändert und gerade die 1.0.9 hochgeladen. BETA Status bleibt noch bestehen.

Sofern etwas auffällig ist, bitte melden. Wie gefallen die neuen Features, im Gegensatz zum EntertainTV Modul?

Grüße
Ralf


vuffiraa

Hallo Ralf,

das neue Modul gefällt mir sehr gut. Es hat alle (Sender-)Einstellungen automatisch erkannt und bietet durch die Einbindung des EPG eine bessere Anbindung. Super Arbeit!
In der neuen Version sind auch die Probleme von gestern behoben.

Es gibt aber immer noch Potenzial für Verbesserungen  ;)
Seit heute Nacht sehe ich alle paar Minuten im Log:
2020.11.18 01:07:08 1: RECEIVER_AC6FBB56CE61: <renewSubscriptionBlocking> renewal of subscription failed: Carp, Renewal of subscription failed with error: 500 Can't connect to 192.168.x.x:8081 at ./FHEM/78_MagentaTV.pm line 3483.

2020.11.18 01:07:11 1: RECEIVER_AC6FBB56CE61: <renewSubscriptionBlocking> renewal of subscription failed: Carp, Renewal of subscription failed with error: 500 Can't connect to 192.168.x.x:8081 at ./FHEM/78_MagentaTV.pm line 3492.

2020.11.18 01:07:14 1: RECEIVER_AC6FBB56CE61: <renewSubscriptionBlocking> renewal of subscription failed: Carp, Renewal of subscription failed with error: 500 Can't connect to 192.168.x.x:8081 at ./FHEM/78_MagentaTV.pm line 3501.

2020.11.18 01:07:15 1: Timeout for MagentaTV_renewSubscriptionBlocking reached, terminated process 26225
2020.11.18 01:07:15 1: RECEIVER_AC6FBB56CE61: <renewSubscriptionBlockingAborted> subscription for services is aborted - possible reason for timeout: "No route to host"
2020.11.18 01:07:15 3: RECEIVER_AC6FBB56CE61: state of network - offline

Mein MR401 ist einfach aus. Ich möchte ihn eigentlich auch nicht auf einen anderen Standby-Mode einstellen.

Außerdem sieht die Anzeige bei mir auch noch etwas komisch aus. Das liegt an der Klasse 'rc_body' des Div-Elementes. Das ist jetzt nicht direkt die Schuld des Moduls, aber 'rc_body' definiert eine Hintergrundfarbe, die nicht so richtig zu meinem FHEM-Theme passt.

Gruß VuffiRaa
FHEM 5.8 auf Cubietruck, Raspi B+

Weinzierl KNX IP BAOS 770, Homematic, EnOcean

RalfP

Hallo VuffiRaa,

du kannst ja im WEB (FHEMWEB) das Css Attr benutzen. Hab es mal so gemacht, das ich den Style für rc_body aus einer *.css Datei kopiert und in ins Css Attr eingesetz hab. Die Farbe für background: hab ich dann angepasst. Vielleicht hilft es dir schon.


.rc_body       { border-style:solid; border-color:gray;
                 border-width:2px; padding:5px;
                 background:#DDDDDD; font-size:6px;}


Zu deinem anderen Thema:
Ja, leider meldet sich der Receiver nicht so schön im Upnp ab, wie eigentlich es vorgesehen ist, wenn er komplett aus ist. Ich ging bisher immer von einem Stand_by Modus des Receivers aus. Ich probiere mal etwas...

Hast du zufällig auch einen MR201 in Betrieb?

PS: Hatte gestern noch ein Problem entdeckt und die 1.0.9 vom MagentaTV hochgeladen.

Grüße
Ralf

RalfP

...hab soeben die 1.0.11 von MagentaTV hochgeladen.

Grüße
Ralf

Nobby1805

Hi Ralf,

dann habe ich wohl mit der .10 eine Zwischenversion erwischt die jetzt mein Fhem ziemlich blockiert :(

Gruß Nobby
FHEM-Featurelevel: 6.2   (fhem.pl:28227/2023-11-29) auf Windows 10 Pro mit Strawberry Perl 5.32.1.1-32bit
TabletUI: 2.7.15
IO: 2xHMLAN(0.965)|HMUSB2(0.967)

Nobby1805

auch mit der .11 verhält sich Fhem danach sehr eigentümlich ... wie eingefroren

Zitathash- or arrayref expected (not a simple scalar, use allow_nonref to allow this) at ./FHEM/78_MagentaTV.pm line 1858.
FHEM-Featurelevel: 6.2   (fhem.pl:28227/2023-11-29) auf Windows 10 Pro mit Strawberry Perl 5.32.1.1-32bit
TabletUI: 2.7.15
IO: 2xHMLAN(0.965)|HMUSB2(0.967)

RalfP

Hallo Nobby,

das hat etwas mit JSON zu tun. Es dürfte die erste Stelle sein, wo ich es verwende:
$postData = encode_json(\%Login);
Ich hab mal recherchiert, hab aber keinen Fehler in meinem Code festgestellt. Ich übergebe hier explizit eine Referenz.

Hat bisher auch auf unterschiedlichen Systemen funktioniert, wie hier im Forum schon berichtet. Schau doch mal, ob dein JSON evtl. ein Update benötigt.

perl -le 'eval "require $ARGV[0]" and print $ARGV[0]->VERSION' JSON

Bei mir läuft die Version 2.9

Grüße
Ralf

RalfP

Hallo VuffiRaa,

ich muss mich noch bei dir bedanken. Dein Thema mit dem Ausschalten des Receivers hat mich bewogen auch nochmals wakeOnLan (wol) anzugehen - es funktioniert  :)

In Version 1.0.11 ist es schon drin. Die Bedingungen sind:
*Receiver muss im Modus "Ruhezustand" (MR401) sein. Der Hilfetext dazu sagt auch aus, das der Receiver aufgeweckt werden kann.
*Nachdem MagentaTV ihn, nach einem manuellen Einschalten wieder gefunden Hat, sollte das Internal "wakeOnLan" auf "enable" stehen (nur wenn dies vorhanden ist geht's).
*Ab jetzt kann der Receiver mit "set <device> on" aufgeweckt werden. Dauert etwas.
*Abschließend ist der Receiver nicht EIN sondern im Standby. Jetzt muss nochmals "set <device> on" gesetzt werden, um ihn in "play" zu bringen oder man ist geduldig (ca. 4min) dann startet er selbst.
*für die, die ihr Receivermodul schon gespeichert haben - ergänzt im devStateIcon offline:control_home => offline:control_home:on. Somit wird "on" durch Klick auf das Icon ausgelöst.

Grüße
Ralf

vuffiraa

Hallo Ralf,

danke für den Hinweis mit dem CSS Attribute im FHEMWEB-Gerät. Das ist eigentlich genau die Stellschraube, die ich gesucht habe.

Die 11er Version werde ich heute Abend antesten. Mit der 9er Version hatte ich immer noch Einträge im Log, dass die $contentId nicht gefüllt ist.

Schreib, wenn ich noch mehr probieren und damit unterstützen kann  ;)
Der MR401 ist mein einziger Receiver, eine MR201 besitze ich nicht.

Gruß VuffiRaa
FHEM 5.8 auf Cubietruck, Raspi B+

Weinzierl KNX IP BAOS 770, Homematic, EnOcean

Nobby1805

Zitat von: RalfP am 18 November 2020, 16:09:30
Schau doch mal, ob dein JSON evtl. ein Update benötigt.

perl -le 'eval "require $ARGV[0]" and print $ARGV[0]->VERSION' JSON

Bei mir läuft die Version 2.9

Hallo Ralf,

siehst du, was ich falsch mache ?
C:\Dokumente und Einstellungen\Administrator>perl -le 'eval "require $ARGV[0]" and print $ARGV[0]->VERSION' JSON
Can't find string terminator "'" anywhere before EOF at -e line 1.

C:\Dokumente und Einstellungen\Administrator>
FHEM-Featurelevel: 6.2   (fhem.pl:28227/2023-11-29) auf Windows 10 Pro mit Strawberry Perl 5.32.1.1-32bit
TabletUI: 2.7.15
IO: 2xHMLAN(0.965)|HMUSB2(0.967)