Bin seit ein paar Tagen vom FHEM-Fieber gepackt. Und arbeite mich grade ein.
Ich teste gerade die global:Ereignisse. Habe für verschiedene jeweils ein Notify erstellt nach dem Beispiel:
define meinName notify global:XXX { [i]machwas [/i]}
Wobei das machwasnicht das Problem ist. Das ist bei allen Ereignissen identisch und funktioniert auch.
Meine Frage ist eher: Wann kommt der Event?
global:SAVE
Das ist eigentlich wie erwartet. Wenn man die Config speichert, passiert was.
global:INITIALIZED
Kommt nur, wenn ich FHEM von der Konsole starte. Das erwarte ich aber auch, wenn der Service beim Booten automatisch gestartet wird. Und da passiert leider nichts.
global:SHUTDOWN
Hier passiert nie etwas. Auch nicht, wenn man FHEM über Konsole anhält.
Hab ich hier einen Denkfehler drin. Oder muss/kann man noch an anderer Stelle etwas einstellen?
global:INITIALIZED kommt definitiv auch, wenn FHEM als Dienst gestartet wird.
define test notify global:INITIALIZED {Debug "init"}
liefert im Logfile:
2018.03.21 19:24:08 3: telnetPort: port 7072 opened
2018.03.21 19:24:10 3: web: port 8083 opened
2018.03.21 19:24:10 1: DEBUG>init
global:SHUTDOWN funktioniert auch:
define test notify global:SHUTDOWN {Debug "shutdown"}
liefert im Logfile:
2018.03.21 19:25:31 1: DEBUG>shutdown
Also offenbar machst Du etwas falsch, und nicht FHEM :)
Ich mache nie Fehler. Ich mache Erfahrungen. ;-)
Stimmt. Mit Debug kommt was im Log an. Ich wollte mir halt gerne mit Telegram eine Nachricht schicken, wenn das System hoch- bzw. runterfährt.
Aber anscheindend ist der TelegramBot beim ersten hochfahren noch nicht bzw. beim Shutdown nicht mehr erreichbar.
Wenn ich es über Konsole neu starte kennt er irgendwie den TelegramBot (noch/wieder).
Zitat von: meikelS am 22 März 2018, 12:35:37
Ich mache nie Fehler. Ich mache Erfahrungen. ;-)
Stimmt. Mit Debug kommt was im Log an. Ich wollte mir halt gerne mit Telegram eine Nachricht schicken, wenn das System hoch- bzw. runterfährt.
Aber anscheindend ist der TelegramBot beim ersten hochfahren noch nicht bzw. beim Shutdown nicht mehr erreichbar.
Wenn ich es über Konsole neu starte kennt er irgendwie den TelegramBot (noch/wieder).
global:INITIALIZED
bedeutet das FHEM mit dem einlesen der Konfig fertig ist. FHEM ist also dann oben und alle Devices vorhanden.
Du könntest schauen ob Du den set Befehl für Telegramm etwas verzögerst. FHEM sleep setzen.
Zitat von: CoolTux am 22 März 2018, 12:39:21
global:INITIALIZED
bedeutet das FHEM mit dem einlesen der Konfig fertig ist. FHEM ist also dann oben und alle Devices vorhanden.
Würdest Du auf diese Behauptung wetten, hättest Du sofort verloren.
Zitat von: betateilchen am 22 März 2018, 14:13:06
Würdest Du auf diese Behauptung wetten, hättest Du sofort verloren.
Wo und wie ist die Einschränkung? Alle defines der Konfig sind doch dann durch.
global:INITIALIZED
bedeutet das die Konfig abgearbeitet ist, oder etwa nicht?
$fhem_started = int(gettimeofday());
DoTrigger("global", "INITIALIZED", 1);
my $osuser = "os:$^O user:".(getlogin || getpwuid($<) || "unknown");
Log 0, "Featurelevel: $featurelevel";
Log 0, "Server started with ".int(keys %defs).
" defined entities ($attr{global}{version} perl:$] $osuser pid:$$)";
DoTrigger("global", "INITIALIZED", 1);
ist doch fast der letzte Eintrag der Hauptfunktion, bevor die main loop gestartet wird. Oder spielst Du auf etwas anderes an
Zitat von: CoolTux am 22 März 2018, 14:34:29
Oder spielst Du auf etwas anderes an
Jepp. Es gibt eine ganze Reihe von Modulen, die auf das global:INIITALIZED warten und DANACH erst die xxx_Define tatsächlich ausführen.
Die Aussage, dass nach dem INITIALIZED alle devices schon vorhanden sind, ist definitiv falsch.
Zitat von: betateilchen am 22 März 2018, 14:58:02
Jepp. Es gibt eine ganze Reihe von Modulen, die auf das global:INIITALIZED warten und DANACH erst die xxx_Define tatsächlich ausführen.
Die Aussage, dass nach dem INITIALIZED alle devices schon vorhanden sind, ist definitiv falsch.
Ah, ok. Ich habe es versucht allgemein zu halten. Und bezog mich ausschließlich auf die Devices welche in der Konfig stehen. :)
Zitat von: CoolTux am 22 März 2018, 14:59:45
Und bezog mich ausschließlich auf die Devices welche in der Konfig stehen.
Ich auch.