Ich versuche mich an einem notify das zeitverzögert nach hochfahren von Fhem ein Event auslöst.
Mein Notify global:INITIALIZED:.* sleep 30;;set ROut6_StartINIT on
--- bei mir wird hier sofort ohne "sleep" geschaltet.
Ich habe versucht durch Foreneinträge und die Commdref weiter zu kommen aber bisher ohne Erfolg. Es gibt leider auch unterschiedliche Beispiele die mal mit ; und mal mit;; laufen sollen.
Hat hier Jemand einen Tipp für mich?
Danke und LG,
Byllyy
Hi,
wenn das die DEF ist, dann nur eins ;
Also in der FHEM Kommandozeile und/oder im Raw Definition Editor
define willi notify global:INITIALIZED:.* sleep 30;;set ROut6_StartINIT on
Sieht im DEF editor so aus:
global:INITIALIZED:.* sleep 30;set ROut6_StartINIT on
In Deiner Variante werde beide Befehle quasi parallel ausgeführt.
Gruß Otto
Hallo Otto,
danke für deine schnelle Antwort.
Wenn ich global:INITIALIZED:.* sleep 30;set ROut6_StartINIT on
definiere, wird leider trotzdem sofort ausgelöst.
Die Zeit ist doch in Sekunden? Oder ist das Problem vielleicht das "global:INITIALIZED", ich meine damit, das "sleep" nicht so früh ausgeführt werden kann?
Gruß,
Byllyy
Bei mir funktioniert das :D
kannst Du bitte list vom Gerät liefern?
Na klar, gerne
List von ROut6_StartINIT: Internals:
DEF 6
FUUID 5e21cc06-f33f-bc18-3ea5-df72bfbe43e9bfbb
GPIO_Basedir /sys/class/gpio
GPIO_Nr 6
NAME ROut6_StartINIT
NR 82
STATE on
TYPE RPI_GPIO
WiringPi_gpio /usr/bin/gpio
READINGS:
2020-02-09 16:52:56 Pinlevel high
2020-02-09 15:29:11 state on
fhem:
interfaces switch
Attributes:
active_low yes
direction output
room GPIOOut
List von "global": Internals:
DEF no definition
FD 3
NAME global
NR 1
STATE no definition
TYPE Global
currentlogfile ./log/fhem-2020-02.log
logfile ./log/fhem-%Y-%m.log
Attributes:
autoload_undefined_devices 1
autosave 0
configfile fhem.cfg
latitude 51.3765096
logfile ./log/fhem-%Y-%m.log
longitude 7.6960842
modpath .
motd 1
statefile ./log/fhem.save
userattr alexaName alexaRoom cmdIcon devStateIcon devStateIcon:textField-long devStateStyle genericDeviceType:security,ignore,switch,outlet,light,blind,thermometer,thermostat,contact,garage,window,lock,scene homebridgeMapping:textField-long icon sortby webCmd webCmdLabel:textField-long widgetOverride
verbose 3
version fhem.pl:21056/2020-01-26
List von notify StartINIT: Internals:
DEF global:INITIALIZED:.* sleep 60;set ROut6_StartINIT on
FUUID 5e22e199-f33f-bc18-ac1a-c65f9b99f96ec57a
NAME StartINIT
NOTIFYDEV global
NR 84
NTFY_ORDER 50-StartINIT
REGEXP global:INITIALIZED:.*
STATE active
TYPE notify
READINGS:
2020-02-09 15:29:09 state active
Attributes:
comment Erst nach booten von Fhem werden Relais von Arduino mit Strom versorgt
verbose 0
Danke
Mir fällt noch auf, der Trigger sollte nur global:INITIALIZED sein. Aber das ist sicher egal sicher ein Problem: der Doppelpunkt hinter INITIALIZED.
Du hattest save gemacht nach der Änderung? :D Denn dein notify wurde noch nie getriggert?
Du solltest Deine Position aus dem posting von global rauslöschen, das ist sozusagen privat :)
Hallo Otto,
das werde ich mal testen und probieren. Komme aber erst morgen dazu, bei uns hat es gerade einen Dachziegel vom Haus geweht.
Danke und noch einen schönen Abend,
Byllyy
Nachdem ich heute noch einmal alles neu definiert habe, scheine ich den Grund für das Verhalten gefunden zu haben.
Der im Notify zu schaltende Ausgang "ROut6_StartINIT" schaltet, sogar ohne Notify, nach dem Start von Fhem immer in seinen letzten Zustand.
Ich dachte nach Neustart von Fhem ginge dies nur mit Attributen wie "restoreOnStartup" aber hier macht der Ausgang das immer.
Habe ich da noch etwas übersehen?
LG,
Byllyy
Moin,
naja es ist ein definierter GPIO Ausgang. Wenn Du Dir die Raw Definition ansiehst, stehen dort setstate Befehle drin.
Es ist normales Verhalten von FHEM, den alten Zustand vorm Neustart in den Readings wieder her zu stellen. Ich nehme an, das Modul steuert die Pins auch entsprechend des state an.
Also: FHEM stellt alten Zustand her, das Modul RPI_GPIO setzt das Pin.
Aber ich verwende das Modul nicht, ich kann das nicht nachvollziehen. Aber es steht ja auch so in der Doku:
ZitatrestoreOnStartup
Restore Readings and sets after reboot
Default: last
Gruß Otto
Moin Otto,
alles klar, das erklärt das Verhalten.
Nachdem ich jetzt "restoreOnStartup = off" gesetzt habe und das Notify wieder richtig gesetzt habe, läuft alles wie gewollt.
Lieber Otto, vielen Dank für deine Unterstützung.
Bis dahin und LG,
Byllyy