Modul für ENIGMA2 Receiver

Begonnen von Loredo, 16 September 2013, 22:34:57

Vorheriges Thema - Nächstes Thema

Michi240281

Habe gerade festgestellt, dass das Enigma2 Modul nicht auf das Attribut "disable 1" reagiert! Ich habe 2 Boxen per E2-Modul eingebunden. Da ich testen will, ob das Modul Ursache meiner "Too many open files"-Meldungen im log mit anschließendem Aufhängen von Fhem ist, habe ich beide Boxen mit disable 1 deaktiviert! Zumindest dachte ich das! Die Boxen reagieren aber nach wie vor auf die webCmds, z.B. "set DM500HD on" und vor allem tauchen sie auch in apptime auf, und zwar ziemlich weit oben:

                                name             function    max  count    total  average maxDly
                 tmr-HMLAN_KeepAlive     keepAlive:HMLAN1   8452    318    28184    88.63  19767 keepAlive:HMLAN1
               tmr-ENIGMA2_GetStatus      HASH(0x22ee148)  10652    164    11793    71.91  19740 HASH(DM500HD)
            tmr-perfmon_ProcessTimer      HASH(0x1ccf2d0)   5783   2930    38788    13.24  14678 HASH(0x1ccf2d0)
            tmr-HMLAN_KeepAliveCheck   keepAliveCk:HMLAN1      2    324       14     0.04  14670 keepAliveCk:HMLAN1
               tmr-ENIGMA2_GetStatus      HASH(0x22eeaa8)   3334     11     3353   304.82  12148 HASH(Spark_One)
                tmr-HMLAN_UpdtMsgCnt       UpdtMsg:HMLAN1      1     33        6     0.18  11589 UpdtMsg:HMLAN1
                    tmr-BlockingKill      HASH(0x3f25920)      0      1        0     0.00  10133
                tmr-watchdog_Trigger      HASH(0x2ceefb8)     19      1       19    19.00   8413 HASH(Garagentorueberwachung_Push_Abwesend_1)
                         tmr-at_Exec      HASH(0x37d2218)  14630      6    78301 13050.17   7700 HASH(readGDS)
                    tmr-BlockingKill      HASH(0x40c3ab0)      0      1        0     0.00   7181
                    tmr-BlockingKill      HASH(0x39ff760)      0      1        0     0.00   7035
                   tmr-SYSMON_Update      HASH(0x2c0ac20)     53     56     1827    32.62   6744 HASH(sysmon)
                   tmr-SYSMON_Update      HASH(0x37df7e0)     37     56     1152    20.57   6650 HASH(Qnap419P)
                         tmr-at_Exec      HASH(0x37e0470)     35      6      165    27.50   5646 HASH(checkgds)
         tmr-FW_closeInactiveClients                          16     56      328     5.86   5474
                    tmr-BlockingKill      HASH(0x3ea7808)      0      1        0     0.00   4928
                    tmr-BlockingKill      HASH(0x42091a0)      0      1        0     0.00   4754
                    tmr-BlockingKill      HASH(0x3ad6de0)      0      1        0     0.00   4684
                    tmr-BlockingKill      HASH(0x3a48b78)      0      1        0     0.00   4679
                    tmr-BlockingKill      HASH(0x3876940)      0      2        0     0.00   4572
                    tmr-BlockingKill      HASH(0x3b80890)      0      1        0     0.00   4555


Wie kommt denn sowas?
FHEM 5.6 auf RPi2 / HM LAN Adapter / diverse HM-Devices
FHEM-Remote-App
QNAP 419P / Onkyo TX-SR 608
DM500HD / GM Spark One
Sony 52HX905

marvin78

Du hast die commandref zum Modul gelesen?

Michi240281

Jepp, aber natürlich nicht auswendig gelernt! Gerade nochmal reingeschaut! Also wird nur das "Polling" disabled! Ist das denn dann ausreichend, um das Modul soweit zu deaktivieren, dass ich eine Analyse durchführen kann, ob das Modul schuld ist an den "Too many open files" Meldungen? Vermutlich dann wohl nicht, oder?

Muss ich es also in der cfg auskommentieren!
FHEM 5.6 auf RPi2 / HM LAN Adapter / diverse HM-Devices
FHEM-Remote-App
QNAP 419P / Onkyo TX-SR 608
DM500HD / GM Spark One
Sony 52HX905

marvin78

Zitat von: Michi240281 am 21 Februar 2015, 15:11:29
Jepp, aber natürlich nicht auswendig gelernt!

Naja. Bevor man so eine Frage stellt, schaut man besser nochmal rein. 

Jewe

#484
Hallo zusammen,
hab jetzt einiges gelesen, aber ich blicks ned ganz.

Ich habe meine Dreambox 800se folgender massen eingetragen:
define dreambox ENIGMA2 192.168.6.7

Es Funkioniert. Jedoch wird irgenwann das Logfile so zugemüllt, das nichts mehr geht. Ich habe dann das Logfile löschen müssen. Die perlwarning kam bei meinem  ersten versuch nicht ?! Hat denke ich nichts damit zu tun?

Zugemülltes logfile:
2015.02.22 13:17:57 2: ENIGMA2 set dreambox off 2015.02.22 13:18:00 2: ENIGMA2 set dreambox on
2015.02.22 13:18:16 2: ENIGMA2 set dreambox volume NaN
2015.02.22 14:15:07 1: PERL WARNING: Use of uninitialized value $fn in concatenation (.) or string at ./FHEM/01_FHEMWEB.pm line 1233.
2015.02.22 14:15:07 1: Accept failed (WEBphone: Too many open files)
2015.02.22 14:15:07 1: Accept failed (WEBphone: Too many open files)
2015.02.22 14:15:07 1: Accept failed (WEBphone: Too many open files)
2015.02.22 14:15:07 1: Accept failed (WEBphone: Too many open files)

Jetzt habe ich gelesen das polling auszuschalten. An dem Modul kann ich doch aber nur eine Zeit eingeben? Oder ist
0 =Aus ?
Und wenn ich das mache bekomme ich doch nichts mehr bon der Box mit .

Was mache ich Falsch?

Fhemupdate habe ich gemacht. D.h. das modul solllte aktuell sein.

Grüssle Jens

PS. Das logfile hat dann ganz schnell 4-5 Millionen Zeilen?!

Loredo

#485
Möglicherweise hängt das an deiner Linux Umgebung. Du kannst die Limits mal hochsetzen:
Siehe z.B. https://rtcamp.com/tutorials/linux/increase-open-files-limit/


Dies sind die Limits des FHEM Prozesses in meiner Wheezy Installation, mit denen ich keine Probleme habe:

Limit                     Soft Limit           Hard Limit           Units     
Max cpu time              unlimited            unlimited            seconds   
Max file size             unlimited            unlimited            bytes     
Max data size             unlimited            unlimited            bytes     
Max stack size            8388608              unlimited            bytes     
Max core file size        unlimited            unlimited            bytes     
Max resident set          unlimited            unlimited            bytes     
Max processes             7968                 7968                 processes
Max open files            1024                 4096                 files     
Max locked memory         65536                65536                bytes     
Max address space         unlimited            unlimited            bytes     
Max file locks            unlimited            unlimited            locks     
Max pending signals       7968                 7968                 signals   
Max msgqueue size         819200               819200               bytes     
Max nice priority         0                    0                   
Max realtime priority     0                    0                   
Max realtime timeout      unlimited            unlimited            us       


Hat meine Arbeit dir geholfen? ⟹ https://paypal.me/pools/c/8gDLrIWrG9

Maintainer:
FHEM-Docker Image, https://github.com/fhem, Astro(Co-Maintainer), ENIGMA2, GEOFANCY, GUEST, HP1000, Installer, LaMetric2, MSG, msgConfig, npmjs, PET, PHTV, Pushover, RESIDENTS, ROOMMATE, search, THINKINGCLEANER

torsten31j

#486
Habe heute meine Dreambox auch eingetragen. Was so weit gut funktioniert.
Nur schreibt er jetzt in dem fhem-log andauernt folgendes:

. 2015.02.24 21:19:57 3: ENIGMA2: device Dreambox is available
2015.02.24 21:19:58 3: ENIGMA2: device Dreambox is unavailable
2015.02.24 21:21:12 3: ENIGMA2: device Dreambox is available
2015.02.24 21:21:13 3: ENIGMA2: device Dreambox is unavailable
2015.02.24 21:22:27 3: ENIGMA2: device Dreambox is available
2015.02.24 21:22:28 3: ENIGMA2: device Dreambox is unavailable
2015.02.24 21:23:42 3: ENIGMA2: device Dreambox is available
2015.02.24 21:23:44 3: ENIGMA2: device Dreambox is unavailable
2015.02.24 21:24:57 3: ENIGMA2: device Dreambox is available
2015.02.24 21:24:58 3: ENIGMA2: device Dreambox is unavailable
2015.02.24 21:26:12 3: ENIGMA2: device Dreambox is available
2015.02.24 21:26:13 3: ENIGMA2: device Dreambox is unavailable
2015.02.24 21:27:27 3: ENIGMA2: device Dreambox is available
2015.02.24 21:27:28 3: ENIGMA2: device Dreambox is unavailable
2015.02.24 21:28:42 3: ENIGMA2: device Dreambox is available
2015.02.24 21:28:43 3: ENIGMA2: device Dreambox is unavailable
u.s.w.


Woran kann das liegen ?
Geräte : Fritzbox  7390 mit neuster Firmware 06.23 , Fhem auch mit neusten Update, Dreambox 800 HD se

Loredo

Schonmal das Attribut verbose auf 5 gesetzt und im Logfile geschaut? Dort steht sicherlich der Grund.
Beste Vermutungen:


Deine Box antwortet zu langsam.
Du hast ein zu kurzes Abfrage-Interval eingestellt.
Du hast das Attribut lightMode noch nicht ausprobiert
Hat meine Arbeit dir geholfen? ⟹ https://paypal.me/pools/c/8gDLrIWrG9

Maintainer:
FHEM-Docker Image, https://github.com/fhem, Astro(Co-Maintainer), ENIGMA2, GEOFANCY, GUEST, HP1000, Installer, LaMetric2, MSG, msgConfig, npmjs, PET, PHTV, Pushover, RESIDENTS, ROOMMATE, search, THINKINGCLEANER

torsten31j

#488
Hi
Anfrage habe ich auf Standart (75) gelassen. Den Attribut lightMode bekomme ich nicht an (er schreibt kennt er nicht).
verbose auf 5 gestellt

Log:
2015.02.26 20:28:38 5: ENIGMA2: got response for Dreambox: vol
2015.02.26 20:28:38 5: ENIGMA2: execute on Dreambox: epgservicenow -> sRef=1%3a0%3a19%3a7E%3aC%3a85%3aFFFF0000%3a0%3a0%3a0%3a
2015.02.26 20:28:38 3: ENIGMA2: device Dreambox is unavailable
2015.02.26 20:28:38 4: ENIGMA2 Dreambox: on
2015.02.26 20:29:51 5: ENIGMA2: execute on Dreambox: powerstate ->
2015.02.26 20:29:51 5: ENIGMA2: got response for Dreambox: powerstate
2015.02.26 20:29:51 3: ENIGMA2: device Dreambox is available
2015.02.26 20:29:51 5: ENIGMA2: execute on Dreambox: about ->
2015.02.26 20:29:52 5: ENIGMA2: got response for Dreambox: about
2015.02.26 20:29:52 5: ENIGMA2: execute on Dreambox: subservices ->
2015.02.26 20:29:52 5: ENIGMA2: got response for Dreambox: subservices
2015.02.26 20:29:52 5: ENIGMA2: execute on Dreambox: signal ->
2015.02.26 20:29:52 5: ENIGMA2: got response for Dreambox: signal
2015.02.26 20:29:53 5: ENIGMA2: execute on Dreambox: vol ->
2015.02.26 20:29:53 5: ENIGMA2: got response for Dreambox: vol
2015.02.26 20:29:53 5: ENIGMA2: execute on Dreambox: epgservicenow -> sRef=1%3a0%3a19%3a7E%3aC%3a85%3aFFFF0000%3a0%3a0%3a0%3a

Loredo

da hast du aber ein gaaaaanz altes Enigma2 Modul.
Solltest du mal aktualisieren :)
Hat meine Arbeit dir geholfen? ⟹ https://paypal.me/pools/c/8gDLrIWrG9

Maintainer:
FHEM-Docker Image, https://github.com/fhem, Astro(Co-Maintainer), ENIGMA2, GEOFANCY, GUEST, HP1000, Installer, LaMetric2, MSG, msgConfig, npmjs, PET, PHTV, Pushover, RESIDENTS, ROOMMATE, search, THINKINGCLEANER

torsten31j

#490
Habe jetzt alles nochmal ein Update gemacht, jetzt läuft es.
Danke Loredo für Deine Hilfe.

Bye Torsten

ohweh

Moin,

bei mir stürzt FHEM ab sobald ich das ENIGMA2 Modul verwenden möchte. Sowohl FHEM, als auch meine Distri (Debian Wheezy) sind auf dem aktuellsten Stand.

1.) Letzte Meldung ist:

"No value specified for 'KeyAttr' option in call to XMLin() at ./FHEM/70_ENIGMA2.pm line 1041".

Und das war's dann auch mit FHEM...  Ich hab dann mal gesucht und bin auf dieses Posting gestossen: http://forum.fhem.de/index.php?topic=14792.190;wap2

Selbes Problem, aber leider keine Lösung.

Hab dann mal ein bisschen im Code gefummelt und festgestellt, dass der Fehler verschwindet sobald man in Zeile 1039 (ENIGMA2 Version vom 03.02.2015) noch "KeyAttr => {}" als Option zufügt.

2.) Das ist leider nur die halbe Miete. Nach der Änderung semmelt FHEM wiederum in Zeile 1495, wo die Tuner (ich hab vier in der Box) durchgeturnt werden. Meldung:

Not a HASH reference at ./FHEM/70_ENIGMA2.pm line 1495.

Lösen konnte ich es so:


# Tuner
if ( defined( $return->{e2about}{e2tunerinfo}{e2nim} ) ) {
  foreach my $tuner ( @{ $return->{e2about}{e2tunerinfo}{e2nim} } ) {
    my $tuner_name = lc($tuner->{'name'});
    $tuner_name =~ s/\s/_/g;
    my $tuner_type = $tuner->{'type'};
    if ( !defined( $hash->{READINGS}{$tuner_name}{VAL} )
         || $hash->{READINGS}{$tuner_name}{VAL} ne $tuner_type )
       {
         readingsBulkUpdate( $hash, $tuner_name, $tuner_type );
    }
  }
}


@Loredo: Hast Du irgendeine Idee warum die Änderung bei mir nötig ist? Ich bin nicht so der Perl-Gott als dass ich da all die Abhängigkeiten und Verhaltensweisen kenne. Ich bin schon froh dass ich diese Änderung auf die Kette gekriegt hab  :o Da ich mir die Box gerade erst zugelegt habe, kann ich auch nur was zum Status Quo sagen.

Gruss
Oliver

Loredo

#492
Zitat von: ohweh am 01 März 2015, 12:22:52
Hab dann mal ein bisschen im Code gefummelt und festgestellt, dass der Fehler verschwindet sobald man in Zeile 1039 (ENIGMA2 Version vom 03.02.2015) noch "KeyAttr => {}" als Option zufügt.


Danke, das habe ich übernommen.


Zitat von: ohweh am 01 März 2015, 12:22:52
2.) Das ist leider nur die halbe Miete. Nach der Änderung semmelt FHEM wiederum in Zeile 1495, wo die Tuner (ich hab vier in der Box) durchgeturnt werden. Meldung:

Not a HASH reference at ./FHEM/70_ENIGMA2.pm line 1495.

Lösen konnte ich es so:

Ich kann mir gar nicht erklären, warum es bisher nicht zu diesem Fehler kam. Auch ich habe drei Tuner verbaut und hatte bisher keine Probleme.
Erst nach Anpassung des XMLin Commands tritt der Fehler auf.


Ich habe jetzt das Parsing für die Tuner entsprechend angepasst in der Hoffnung, dass es so auch für Single-Tuner-Geräte noch funktioniert. Da ich kein solches Gerät habe, kann ich es nicht testen.
Hat meine Arbeit dir geholfen? ⟹ https://paypal.me/pools/c/8gDLrIWrG9

Maintainer:
FHEM-Docker Image, https://github.com/fhem, Astro(Co-Maintainer), ENIGMA2, GEOFANCY, GUEST, HP1000, Installer, LaMetric2, MSG, msgConfig, npmjs, PET, PHTV, Pushover, RESIDENTS, ROOMMATE, search, THINKINGCLEANER

ohweh

Super, danke schön!

Ich mach heut Abend mal ein Update und schau ob's geht. Den Single-Tuner-Test kann ich dann auch gleich machen (sofern niemand schneller ist), ich hab ne kleinere Box schon da, bin aber noch nicht zum auspacken gekommen.

Danke nochmal
Oliver

vbs

Ich hab mir jetzt etwas gebastelt, das den aktuellen playStatus des MediaPlayers (stopped, paused, playing) und auch den Timeshift-Zustand von der Dreambox direkt per Telnet als Readings in FHEM setzt. Also zwei neue Readings. Ich hab dafür ein paar Änderungen direkt in der InfoBarGenerics.py auf der Dreambox gemacht. Falls da noch jemand Interesse dran haben sollte, dann würde ich das hier mal posten.