Hallo zusammen,
wo ist der Fehler.. Ich möchte mit einem DOIF einfach verzögert ein "save" ausführen. Führe ich das auf meinem TestFhemServer aus, funktioniert es super. Führe ich es auf dem Hauptsystem aus funktioniert es nicht. Über einen Befehl in der Fhemleiste funktioniert es. Bin ratlos... Gibt es irgendwo globale Einstellungen dafür?
([test:state] eq "xx")
((sleep 5; save))
DOELSE
Internals:
CFGFN
DEF ([test:state] eq "xx")
((sleep 5; save))
DOELSE
NAME doif_Test
NR 3397
NTFY_ORDER 50-doif_Test
STATE cmd_1
TYPE DOIF
READINGS:
2018-03-12 11:17:12 cmd 1
2018-03-12 11:17:12 cmd_event set_cmd_1
2018-03-12 11:17:12 cmd_nr 1
2018-03-12 11:16:36 mode enabled
2018-03-12 11:17:12 state cmd_1
Regex:
condition:
0 ReadingValDoIf($hash,'test','state') eq "xx"
devices:
0 test
all test
do:
0:
0 (sleep 5; save)
1:
0
helper:
DOIF_Readings_events
DOIF_eventas
globalinit 1
last_timer 0
sleeptimer -1
itimer:
readings:
0 test:state
all test:state
uiState:
uiTable:
Attributes:
checkReadingEvent 1
do always
room 90_Testumgebung
Auszug aus dem Event (so ist es richtig):
2018-03-12 11:17:12 DOIF doif_Test cmd_nr: 1
2018-03-12 11:17:12 DOIF doif_Test cmd: 1
2018-03-12 11:17:12 DOIF doif_Test cmd_event: set_cmd_1
2018-03-12 11:17:12 DOIF doif_Test cmd_1
2018-03-12 11:17:17 Global global SAVE (das kommt auf dem Hauptserver nicht)
Ich kann zwar den Unterschied zwischen den fhem-Instanzen nicht erklären, aber ...
Ersetze doch mal das "sleep 5" durch einen entsprechenden Wert des Attributes "wait" im DOIF.
Gruß,
Holger
Hat sich erledigt...
Auf dem Hauptserver war das attr. autosave auf "0".. Leider gab es das auf dem Testsystem garnicht und habe es übersehen.. :-\
Schönen Tag euch noch...
Ein save ausserhalb einer telnet oder webinstanz ausgeführt erwartet das das attribut autosave auf 1 gestellt ist.