Modul für ENIGMA2 Receiver

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

Vorheriges Thema - Nächstes Thema

maxritti

Okay, ein update force gemacht. Damit sollte ja alles up-to-date sein.

# Version: 1.2.1
#
# Major Version History:
# - 1.2.0 - 2013-12-21


Sieht auch mal recht frisch aus.

Dann habe ich mal fhem direkt auf dem Linux Server beendet und neu gestartet.
Dennoch bleibt die Meldung mit

ERROR:

Cannot load module ENIGMA2

Loredo

Dann scheint deine Perl Version einfach zu alt zu sein, auf RPi und Fritzbox sind 5.12 bzw. 5.14 installiert.
Vielleicht erwägst du ein Upgrade.
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

maxritti

Wird wohl mal Zeit von squeeze weg zu kommen.
Ich mache mal ein Update und dann schauen wir mal.

Ich melde mich...

maxritti

Da bin ich wieder.

Perl Version 5.14.2 und alles wird gut :)

Jetzt mal schauen, was man mit dem Modul so alles machen kann.

Auf jeden Fall wieder mal ein grosses Danke schön für solche tollen Spielereien.

maxritti

Wobei ich sehe gerade das hier auf meiner Linux Konsole

Use of uninitialized value in string eq at ./FHEM/70_ENIGMA2.pm line 939.
Use of uninitialized value in string ne at ./FHEM/70_ENIGMA2.pm line 941.


Scheint aber nicht weiter schlimm zu sein.
Noch nicht...

maxritti

Und nun diese Events, wenn ich die DM via fhem einschalten möchte.

2013-12-29 16:44:33 ENIGMA2 SATReceiver power: on
2013-12-29 16:44:33 ENIGMA2 SATReceiver on
2013-12-29 16:44:33 ENIGMA2 SATReceiver power: off


Die DM bleibt aus.
Wieso sendet der direkt ein power off?

Loredo

#171
Zitat von: maxritti am 29 Dezember 2013, 16:46:09
Und nun diese Events, wenn ich die DM via fhem einschalten möchte.

2013-12-29 16:44:33 ENIGMA2 SATReceiver power: on
2013-12-29 16:44:33 ENIGMA2 SATReceiver on
2013-12-29 16:44:33 ENIGMA2 SATReceiver power: off


Die DM bleibt aus.
Wieso sendet der direkt ein power off?


Die Ausgaben lassen darauf schließen, dass du nicht die aktuellste Version aus dem SVN verwendest...


Bitte wirklich mal sicherstellen, sonst sucht man sich nen Wolf bei der Fehlersuche !!elf!eins!






PS: Es ist ebenfalls hilfreich für dich, wenn du das Attribut verbose=4 oder =5 setzt. Im Log ist (bei der aktuellen Version aus dem SVN, ich wiederhole es ungern) dann deutlich mehr zum Debuggen vorhanden.
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

maxritti

Hm, magst Du mir auf die Sprünge helfen, wie ich das denn sicherstelle?

Meiner Meinung nach sollte doch ein "update force" das aktuellste besorgen.

Loredo

Es hat den Anschein, als wenn bei dir noch die 30_ENIGMA2.pm irgendwo herumliegt und geladen wird, statt der aktuellen 70_ENIGMA2.pm.
Bitte alle alten Versionen löschen. Im Zweifel löscht du alle Dateien, die ENIGMA2 heißen und kopierst die aktuelle Version aus dem SVN manuell wieder nach /opt/fhem/FHEM ...
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

maxritti

Weit und breit nichts zu finden, was noch mit enigma zu tun haben könnte:

/opt/fhem/FHEM# find / -iname *enigma*
/opt/fhem/FHEM/70_ENIGMA2.pm

Loredo

#175
Ich kann dir nicht helfen. Ich kann dir nur sagen, dass die Logausgaben eindeutig zeigen, dass sie von einer alten Version stammen. Die neue Version loggt anders.


Als Vergleich, hier meine Box, wenn ich sie aus dem Deep-Standby via WoL aufwecke:



2013.12.29 20:22:18 2: ENIGMA2 set LR_SAT on
2013.12.29 20:23:31 3: ENIGMA2 device LR_SAT is available
2013.12.29 20:25:14 2: ENIGMA2 set LR_SAT channel Das_Erste_HD
2013.12.29 20:26:06 2: ENIGMA2 set LR_SAT off
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

maxritti

Für mich sieht das auch nicht unbedingt nach einem Logeintrag des ENIGMA2-Moduls aus.
Eher nach irgendetwas Perlmässiges oder so.

Vielleicht liest ja noch jemand mit, der einen sachdienlichen Hinweis haben könnte.
Es schaut ja auch aus, als wenn es funktioniert.
Nur unschön sind solche Meldungen schon.

Loredo

Zitat von: maxritti am 29 Dezember 2013, 20:27:58
Für mich sieht das auch nicht unbedingt nach einem Logeintrag des ENIGMA2-Moduls aus.
Eher nach irgendetwas Perlmässiges oder so.

Vielleicht liest ja noch jemand mit, der einen sachdienlichen Hinweis haben könnte.
Es schaut ja auch aus, als wenn es funktioniert.
Nur unschön sind solche Meldungen schon.


Was du siehst, sind Änderungen bei den Readings, die das Modul anfänglich selbst geloggt hat.
Ich kann mich nur abermals wiederholen: Lösche deine 70_ENIGMA2.pm Datei und lade sie neu herunter:



wget -rO /opt/fhem/FHEM/70_ENIGMA2.pm http://sourceforge.net/p/fhem/code/HEAD/tree/trunk/fhem/FHEM/70_ENIGMA2.pm?format=raw
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

maxritti

Okay, dann will ich den Fred hier nicht weiter überstrapazieren :)

Datei gelöscht, per wget neu geholt und nun scheint Ruhe zu sein.

Danke Dir und einen schönen Abend noch.

pappn

Hallo Loredo,

ich habe gerade festgestellt, dass die Umrechnung der eventduration in eventduration_hr des 70_enigma2 nicht korrekt ist. Die eventduration liegt ja nur in sek. vor und wird daher mit FmtDateTime falsch umgerechnet. Da steckt immer eine Std zuviel drin.
Der entsprechende codeteil müsste angepasst werden.
Mein Vorschlag wäre folgender:
            # convert date+time into human readable formats
            foreach ( "eventstart", "eventcurrenttime", "eventduration" ) {
                $reading   = $_ . "_hr";
                $e2reading = "e2" . $_;
                if ( defined( $eventinfo->{e2event}{$e2reading} )
                    && $eventinfo->{e2event}{$e2reading} ne "0" )
                {
                    my $timestring;
if ($_ eq "eventduration")
{
my @t = localtime( $eventinfo->{e2event}{$e2reading} );
$timestring = sprintf("%02d:%02d:%02d", $t[2]-1, $t[1], $t[0]);
} else {
$timestring =
substr( FmtDateTime( $eventinfo->{e2event}{$e2reading} ),
11 );
}
                    if ( !defined( $hash->{READINGS}{$reading}{VAL} )
                        || $hash->{READINGS}{$reading}{VAL} ne $timestring )
                    {
                        readingsBulkUpdate( $hash, $reading, $timestring, 1 );
                    }
                }
                else {
                    if ( !defined( $hash->{READINGS}{$reading}{VAL} )
                        || $hash->{READINGS}{$reading}{VAL} ne "-" )
                    {
                        readingsBulkUpdate( $hash, $reading, "-", 1 );
                    }
                }
            }

Das könntest du dann in eines der nächsten Updates übernehmen. Ist ja nicht so dringend, da die grundsätzliche Funktion ja nicht beeinträchtigt ist.

Gruß
Pappn
"When all else fails, read the instructions."

CUL868, RFXTFX433 und CCU3
FS20, S300TH, UNIRoll, Homematic IP, OZW672, diverse HOMEEASY, IT kompatible und China Zeugs