FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: disaster123 am 26 März 2014, 21:12:02

Titel: bekomme NotifyFn in MyUtils nicht zum laufen
Beitrag von: disaster123 am 26 März 2014, 21:12:02
Hallo,

ich habe folgenden Code in meiner 99_MyUtils.pm warum funktioniert mein NotifyFn nicht?

package main;

use strict;
use warnings;
use POSIX;

sub MyUtils_Initialize($);
sub MyUtils_Notify($$);

sub MyUtils_Initialize($) {
    my ($hash) = @_;

    $hash->{NotifyFn} = "MyUtils_Notify";

    Log3 "MyUtils", 1, "MyUtils INIT!";

return $hash;
}


sub MyUtils_Notify($$) {
    my ($ntfy, $dev) = @_;

    Log3 "MyUtils", 1, "MyUtils_Notify START!";

    return if ($dev->{NAME} ne "global" || !grep(m/^INITIALIZED$/, @{$dev->{CHANGED}}));

    fhem("set HMLAN hmPairForSec 900");
    fhem("set HZ_1OG_Kueche_Clima regSet winOpnDetFall 0.5");
    fhem("set HZ_1OG_Kueche_Clima controlMode auto");
    fhem("set CUL_HM_HM_CC_RT_DN_2494B1 regSet winOpnDetFall 0.5");
    fhem("set CUL_HM_HM_CC_RT_DN_2494B1 controlMode auto");

    delete $modules{MyUtils}{NotifyFn};
}

1;


MyUtils_Notify wird aber nie gestartet.

Grüße Stefan
Titel: Antw:bekomme NotifyFn in MyUtils nicht zum laufen
Beitrag von: betateilchen am 26 März 2014, 21:52:14
Zitatwarum funktioniert mein NotifyFn nicht?

Weil 99_MyUtils.pm als Hilfsmodul lediglich eine Funktionsbibliothek ist, und keine Gerätedefinition.
Titel: Antw:bekomme NotifyFn in MyUtils nicht zum laufen
Beitrag von: disaster123 am 26 März 2014, 21:57:20
OK - grundsätzlich möchte ich, dass automatisch nach dem INIT aller Geräte bestimmte Kommandos abgearbeitet werden. Wie realisiere ich dies dann?
Titel: Antw:bekomme NotifyFn in MyUtils nicht zum laufen
Beitrag von: betateilchen am 26 März 2014, 22:01:37
define blaNotify notify global:INITIALIZED {allesNachDemInit}

und in der 99_MyUtils.pm muss dann natürlich die Funktion allesNachDemInit vorhanden sein:


sub allesNachDemInit {
    fhem("set HMLAN hmPairForSec 900");
    fhem("set HZ_1OG_Kueche_Clima regSet winOpnDetFall 0.5");
    fhem("set HZ_1OG_Kueche_Clima controlMode auto");
    fhem("set CUL_HM_HM_CC_RT_DN_2494B1 regSet winOpnDetFall 0.5");
    fhem("set CUL_HM_HM_CC_RT_DN_2494B1 controlMode auto");
    return;
}


So wirklich viel Sinn ergibt mir das aber nicht, was Du da tun willst.
Titel: Antw:bekomme NotifyFn in MyUtils nicht zum laufen
Beitrag von: betateilchen am 26 März 2014, 22:03:23
Warum um alles in der Welt will jemand hmPairForSec automatisiert setzen, um neue Geräte anzulernen und dann gleichzeitig sofort hinterher Kommandos schicken? Völlig absurd.
Titel: Antw:bekomme NotifyFn in MyUtils nicht zum laufen
Beitrag von: disaster123 am 26 März 2014, 22:04:38
Das ist ein Test und ein Beispiel.
Titel: Antw:bekomme NotifyFn in MyUtils nicht zum laufen
Beitrag von: disaster123 am 27 März 2014, 08:48:47
Kann mir jemand bitte helfen? Ich möchte gerne nach dem INIT bestimmte Prüfungen / Perl Code ausführen. Wie mache ich das?
Titel: Antw:bekomme NotifyFn in MyUtils nicht zum laufen
Beitrag von: marvin78 am 27 März 2014, 08:50:01
betateilchen hat dir doch den Weg beschrieben...
Titel: Antw:bekomme NotifyFn in MyUtils nicht zum laufen
Beitrag von: disaster123 am 27 März 2014, 08:54:08
*urg* das kommt davon wenn man mit dem Handy im Forum liest. Tausend mal sorry und vielen Dank! Genau der Post ist mir durch das Radar gerutscht.

Vielen Dank!
Titel: Antw:bekomme NotifyFn in MyUtils nicht zum laufen
Beitrag von: disaster123 am 27 März 2014, 09:36:04
super geht alles! Man muss nur wissen, dass die define Zeile erst gegen Ende kommen darf.