Autor Thema: Modul für ENIGMA2 Receiver  (Gelesen 265280 mal)

Offline CicakDOS

  • New Member
  • *
  • Beiträge: 14
Aw: Fertiges Modul 30_ENIGMA2.pm
« Antwort #15 am: 19 September 2013, 10:39:13 »
Hallo Loredo,

sowie ich weiß, existiert "keys" erst seit Perl 5.12.
Wäre sowas nicht "günstiger":


my $arr_size=@a;
while ($i < $arr_size) {


Grüßle

Offline Loredo

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3655
  • ~ Challenging Innovation ~
Aw: Fertiges Modul 30_ENIGMA2.pm
« Antwort #16 am: 19 September 2013, 13:31:26 »
Update:

- workaround for key command with arrays
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

Offline DannyP

  • Jr. Member
  • **
  • Beiträge: 57
Aw: Fertiges Modul 30_ENIGMA2.pm
« Antwort #17 am: 19 September 2013, 17:51:07 »
Hi,

derzeit bricht die komplette FHEM Instanz immer wieder wegen der folgenden Meldung ab:

Zitat
Not a HASH reference at ./FHEM/30_ENIGMA2.pm line 559, <$fh> line 232.


Ich habe die aktuellste 30_ENIGMA2.pm im Einsatz, in der fhem.cfg ist folgendes eingetragen:
Zitat
define Dreambox_Wohnzimmer ENIGMA2 192.168.1.30 80


Der Abbruch kommt nur, wenn die Dreambox eingeschaltet ist.

Das ganze läuft auf einem RPi, Perl Version 5.14.2 unter FHEM 5.4. Die Dreambox ist eine DM 800se

Schöne Grüße
Daniel

Offline franky08

  • Hero Member
  • *****
  • Beiträge: 4187
  • jetzt DBLog befreit
Aw: Fertiges Modul 30_ENIGMA2.pm
« Antwort #18 am: 19 September 2013, 18:29:29 »
Hallo, ist bei mir auch so, wenn die Box an ist bricht fhem den Start ab.

Fhem 5.4 DEVELOPMENT $Id: fhem.pl 3872 2013-09-07 11:58:33Z auf einer fritz 7390 unter Freetz.

Fahre ich die Box in den Deep Standby und starte dann fhem, lässt sich das Modul starten aber Das Viera Modul welches ich auch am Start habe läuft nicht mehr und fhem crasht. Fehlermeldung wird nicht ins Log geschrieben.

Gruß Frank
Debian Wheezy auf ZBOX nano (240GB SSD) FHEM2FHEM an 2xRaspiB
22Zoll ViewSonic als Infodislay (WVC)
3xHMLAN mit vccu ,fhem5.8, WH1080 fowsr an 2.RaspiB
Raspi B mit COC für ESA 2000 und CO2-Sensor
ECMD an AVR-NET-IO mit DAC u. ADC an Junkers Stetigregelung, Siemens LOGO!8, JeeLink

Offline punker

  • Full Member
  • ***
  • Beiträge: 463
Aw: Fertiges Modul 30_ENIGMA2.pm
« Antwort #19 am: 19 September 2013, 19:14:08 »
Also bei mir stürzt fhem nach Eingabe von define Dreambox_8000 ENIGMA2 192.168.2.75 80
einfach ohne noch einen Eintrag ins Log zu schreiben ab!
lg

Dieter

The truth is out there!

Offline Gerhard

  • Full Member
  • ***
  • Beiträge: 344
Aw: Fertiges Modul 30_ENIGMA2.pm
« Antwort #20 am: 19 September 2013, 20:00:27 »
Hallo Loredo,

Fhem 5.4 DEVELOPMENT update 19.09 auf einer fritz 7390 mit FHEM von AVM,
funktioniert korrekt mit der Version von 18.09 und davor!!
Die heutige Version habe ich nicht getestet.

Super Modul!!

Gruß, Gerhard
3 x FB7(3/4)90, 1 x cubietruck 1 x  raspberry 2B, CUL V3 (HMLAN, FS20, HMS, CUL_WS, FBAHA, FBDECT, IPCAM, STV, IT, SecvestIP, ebusd, SecvestIP, etc.)

Offline Loredo

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3655
  • ~ Challenging Innovation ~
Aw: Fertiges Modul 30_ENIGMA2.pm
« Antwort #21 am: 19 September 2013, 20:15:04 »
Update:

- keep readings after shutdown
- code improvements
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

Offline Loredo

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3655
  • ~ Challenging Innovation ~
Aw: Fertiges Modul 30_ENIGMA2.pm
« Antwort #22 am: 19 September 2013, 20:18:01 »
Danke für eure Fehlerberichte.

Ich kann diese jedoch nicht wirklich nachvollziehen. Mir scheint, als wenn es an den limitierten Perl Fähigkeiten auf einer Fritzbox liegen könnte.
Dagegen spricht aber, dass Gerhard berichtet, dass es bei ihm läuft.

Ich habe das Modul bei mir normal auf einem RaspberryPi laufen, habe es aber gerade einmal auf meiner Fritzbox eingespielt. Auch dort stürzt FHEM direkt ohne Kommentar ab. Ich habe aber aktuell keine Ahnung, wie ich das debuggen kann. Da bräuchte ich wohl Hilfe von einem erfahreneren Modul-Entwickler...


Edith:
Es liegt wohl an der Perl Installation der Fritzbox:

# could not find ParserDetails.ini in /var/InternerSpeicher/fhem/lib/perl5/site_perl/5.12.2/XML/SAX
Can't locate unicore/Heavy.pl in @INC (@INC contains: /var/InternerSpeicher/fhem/lib/perl5/site_perl/5.12.2/mips-linux /var/InternerSpeicher/fhem/lib/perl5/site_perl/5.12.2/mips-linux /var/InternerSpeicher/fhem/lib/perl5/site_perl/5.12.2 /var/InternerSpeicher/fhem/lib/perl5/5.12.2/mips-linux /var/InternerSpeicher/fhem/lib/perl5/5.12.2/mips-linux /var/InternerSpeicher/fhem/lib/perl5/5.12.2 /opt/lib/perl5/site_perl/5.12.2/mips-linux /opt/lib/perl5/site_perl/5.12.2 /opt/lib/perl5/5.12.2/mips-linux /opt/lib/perl5/5.12.2 . ./FHEM) at /var/InternerSpeicher/fhem/lib/perl5/5.12.2/utf8_heavy.pl line 96.
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

Offline CicakDOS

  • New Member
  • *
  • Beiträge: 14
Aw: Fertiges Modul 30_ENIGMA2.pm
« Antwort #23 am: 19 September 2013, 20:24:22 »
Hi,

das Problem ist teilweise behoben:


    # Tuner
    foreach my $key (keys %{ $boxinfo->{e2about}{e2tunerinfo}{e2nim} }) {
      my $tuner_name=lc($key);
      $tuner_name =~ s/\s/_/g;
      my $tuner_type=$boxinfo->{e2about}{e2tunerinfo}{e2nim}{$key}{type};

      ENIGMA2_SetReading($hash, $tuner_name, $tuner_type);
    }


Das kann wie gesagt, bei der Perl-Version < 5.12 nicht funktionieren.

Bitte nehme bei den Definition folgendes auf:


use 5.012;


Danach sollte es gehen.

Grüßle

Offline DannyP

  • Jr. Member
  • **
  • Beiträge: 57
Aw: Fertiges Modul 30_ENIGMA2.pm
« Antwort #24 am: 19 September 2013, 20:47:28 »
Hi,

ich habe das Debuggen einfach mal übernommen und bin auf das Problem "Not a HASH reference" gestoßen.
Der Abbruch kommt, wenn mehr als eine Festplatte angeschlossen ist, neben der internen also noch weitere externe Festplatten an USB angeschlossen sind.

Die Variable $boxinfo sieht für den Key e2about, e2hddinfo wie folgt aus wenn eine interne Festplatte und eine externe Festplatte mit USB angeschlossen ist:
'e2hddinfo' => [
  {
    'free' => '744.479 GB',
    'model' => 'ATA-HGST HTS541010A9',
    'capacity' => '1000.204 GB'
  },
  {
    'free' => '-1 MB',
    'model' => 'ST2000DL-001-9VT156',
    'capacity' => '2000.398 GB'
  }
],




Bei nur einer internen Festplatte sieht es wie folgt aus:
'e2hddinfo' => {
  'free' => '744.304 GB',
  'model' => 'ATA-HGST HTS541010A9',
  'capacity' => '1000.204 GB'
},



Zum Nachvollziehen also einfach eine USB Platte anschließen. Dann sollte der Abbruch kommen. Die Perl Version dürfte dabei egal sein.
Somit gäbe es ja dann auch eine Möglichkeit, den Status weiterer Festplatten auszugeben, wie ich in meinem ersten post in diesem Thread schon mal geschrieben hatte ;-)

Schöne Grüße
Daniel

Offline CicakDOS

  • New Member
  • *
  • Beiträge: 14
Aw: Fertiges Modul 30_ENIGMA2.pm
« Antwort #25 am: 19 September 2013, 21:11:29 »
Hi,

die Sache mit "use 5.012;" streichen - hatte es falsch in Erinnerung.

Sonst bleibt es dabei, wenn ich Zeile 454 bis 460 auskommentiere, funktioniert Modul perfekt.

Habe auch eine interne HDD und kann den Hinweis von Daniel nicht ganz nachvollziehen, daran liegt es bei mir definitiv nicht.

Grüßle

Offline DannyP

  • Jr. Member
  • **
  • Beiträge: 57
Aw: Fertiges Modul 30_ENIGMA2.pm
« Antwort #26 am: 19 September 2013, 21:16:25 »
Hi,

Zitat
Habe auch eine interne HDD und kann den Hinweis von Daniel nicht ganz nachvollziehen, daran liegt es bei mir definitiv nicht.


Hast du nur eine interne? Dann funktioniert es auch.
Nur wenn du eine interne UND eine USB Platte laufen hast. Oder mehrere USB Platten.

Schöne Grüße
Daniel

Offline franky08

  • Hero Member
  • *****
  • Beiträge: 4187
  • jetzt DBLog befreit
Aw: Fertiges Modul 30_ENIGMA2.pm
« Antwort #27 am: 19 September 2013, 21:21:53 »
Zitat von: DannyP schrieb am Do, 19 September 2013 21:16
Hi,

Zitat
Habe auch eine interne HDD und kann den Hinweis von Daniel nicht ganz nachvollziehen, daran liegt es bei mir definitiv nicht.


Hast du nur eine interne? Dann funktioniert es auch.
Nur wenn du eine interne UND eine USB Platte laufen hast. Oder mehrere USB Platten.

Schöne Grüße
Daniel


oder einen Stick und eine interne hdd
Debian Wheezy auf ZBOX nano (240GB SSD) FHEM2FHEM an 2xRaspiB
22Zoll ViewSonic als Infodislay (WVC)
3xHMLAN mit vccu ,fhem5.8, WH1080 fowsr an 2.RaspiB
Raspi B mit COC für ESA 2000 und CO2-Sensor
ECMD an AVR-NET-IO mit DAC u. ADC an Junkers Stetigregelung, Siemens LOGO!8, JeeLink

Offline Loredo

  • Developer
  • Hero Member
  • ****
  • Beiträge: 3655
  • ~ Challenging Innovation ~
Aw: Fertiges Modul 30_ENIGMA2.pm
« Antwort #28 am: 19 September 2013, 21:33:29 »
Danke fürs Herausfinden, dass es an den HDDs liegt.
Die letzte Version sollte zumindest keinen Fehler mehr werfen, wenngleich auch dann aktuell bei mehr als einer Platte kein Reading erzeugt wird. Ich muss mal schauen wie ich das flux nachstelle.

Den "keys"-Befehl hatte ich in der Manpage so verstanden, dass er mit der Nutzung eines Hashes auch bei älteren Versionen als Perl 5.12 funktioniert und lediglich die Unterstützung für normale Arrays nicht gegeben ist.

Da ich keine alte Perl Version habe: Kann das jemand final bestätigen/widerlegen?
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

Offline franky08

  • Hero Member
  • *****
  • Beiträge: 4187
  • jetzt DBLog befreit
Aw: Fertiges Modul 30_ENIGMA2.pm
« Antwort #29 am: 19 September 2013, 21:39:00 »
Also, wenn ich Zeile 454 bis 460 auskommentiere crasht fhem immer noch. Sehe gerade, ist das der Abschnitt:


# Tuner
      #foreach my $key (keys %{ $boxinfo->{e2about}{e2tunerinfo}{e2nim} }) {
      #my $tuner_name=lc($key);
      #$tuner_name =~ s/\s/_/g;
      #my $tuner_type=$boxinfo->{e2about}{e2tunerinfo}{e2nim}{$key}{type};

      #ENIGMA2_SetReading($hash, $tuner_name, $tuner_type);
      #}
sind bei mir die Zeilen 452 bis 459 in der letzten 30_Enigma2.pm version
Debian Wheezy auf ZBOX nano (240GB SSD) FHEM2FHEM an 2xRaspiB
22Zoll ViewSonic als Infodislay (WVC)
3xHMLAN mit vccu ,fhem5.8, WH1080 fowsr an 2.RaspiB
Raspi B mit COC für ESA 2000 und CO2-Sensor
ECMD an AVR-NET-IO mit DAC u. ADC an Junkers Stetigregelung, Siemens LOGO!8, JeeLink