FHEM Forum

FHEM => Sonstiges => Thema gestartet von: fhem-challenge am 30 September 2016, 10:43:31

Titel: GELÖST: Teile der config nach "save" in fhem.cfg gelöscht
Beitrag von: fhem-challenge am 30 September 2016, 10:43:31
Guten Tag,

ich habe ein ominöses Problem.

Am Ende der "fhem.cfg" habe ich die drei folgenden Definitionen:


define do_not_check dummy
set do_not_check on
defmod avoid_check_states at +01:00:00 set do_not_check off


Nach einem restart von FHEM ist die dummy Variable "do_not_check" vorhanden und hat auch , wie erwartet, "on" als Wert.
Ebenfalls vorhanden ist das "at" avoid_check_states.

Wenn ich mir nach dem restart von fhem die fhem.cfg ansehe, sind auch eben diese drei Zeilen noch in der config "fhem.cfg" vorhanden. Nach einem "save" jedoch werden :

set do_not_check on
defmod avoid_check_states at +01:00:00 set do_not_check off


... gelöscht und es bleibt lediglich

define do_not_check dummy


Wo ist da mein Denkfehler ??

Viele Grüße!


Andreas


Titel: Antw:Teile der config nach "save" in fhem.cfg gelöscht
Beitrag von: dev0 am 30 September 2016, 10:47:31
Der Fehler liegt darin, dass Du die fhem.cfg direkt bearbeitest und nicht weißt was Du tust.
Soll heißen: die Zeilen haben in der fhem.cfg nix zu suchen.
Titel: Antw:Teile der config nach "save" in fhem.cfg gelöscht
Beitrag von: fhem-challenge am 30 September 2016, 10:54:51
Zitat von: dev0 am 30 September 2016, 10:47:31
Der Fehler liegt darin, dass Du die fhem.cfg direkt bearbeitest und nicht weißt was Du tust.
Soll heißen: die Zeilen haben in der fhem.cfg nix zu suchen.

solche Dinge wie ...

define at.IrgendEtwas at +01:00:00 set irgendEtwas on

... hat in der fhem.cfg nix zu suchen ?

Ich habe nun einige dieser "at" in den configs (includes in der fhem.cfg), welche natürlich funktionieren. Warum sollte es in der fhem.cfg nicht funktionieren ?

Titel: Antw:Teile der config nach "save" in fhem.cfg gelöscht
Beitrag von: dev0 am 30 September 2016, 11:00:44
'define' ist ok, 'defmod' und 'set' nicht. Benutze stattdessen ein notify.
Titel: Antw:Teile der config nach "save" in fhem.cfg gelöscht
Beitrag von: marvin78 am 30 September 2016, 11:01:00
set hat in der config nichts zu suchen. Wenn du möchtest, dass etwas bei Start von FHEM gesetzt wird, verwende das Event global:INITIALIZED und ein notify.

Bitte auch die Grundlagen aneignen.
Titel: Antw:Teile der config nach "save" in fhem.cfg gelöscht
Beitrag von: rudolfkoenig am 30 September 2016, 11:01:14
Ich habe vor (gefuehlt) 10 Jahren beschlossen, dass einmalige at Definitionen wohl nur temporaer sind, und deswegen in fhem.state gespeichert werden. Immerhin habe ich das im commandref dokumentiert:

ZitatNotes:

       
  • if no * is specified, then a command will be executed only once, and then the at entry will be deleted.  In this case the command will be saved to the statefile (as it considered volatile, i.e. entered by cronjob) and not to the configfile (see the save command.)
Titel: Antw:Teile der config nach "save" in fhem.cfg gelöscht
Beitrag von: fhem-challenge am 30 September 2016, 13:29:51
Zitat von: marvin78 am 30 September 2016, 11:01:00
set hat in der config nichts zu suchen. Wenn du möchtest, dass etwas bei Start von FHEM gesetzt wird, verwende das Event global:INITIALIZED und ein notify.

Bitte auch die Grundlagen aneignen.

Danke! das ist der wesentliche Hinweis. Hatte ich schlicht nicht präsent.

Viele Grüße!

Andreas
Titel: Antw:Teile der config nach "save" in fhem.cfg gelöscht
Beitrag von: fhem-challenge am 30 September 2016, 13:57:21
... Funktioniert leider auch nicht:

define FHEMinit notify global:INITIALIZED {\
fhem("set do_not_check on");;\
fhem("defmod avoid_check_states at +01:00:00 set do_not_check off")\
}


... "set do_not_check on" wird nach Start von FHEM nicht gesetzt ?  Als würde das event "global:INITIALIZED" an dieser Stelle nicht "kommen" ??


EDIT:

Geht jetzt , hatte nur ein rereadcfg gemacht, was natürlich nicht zu einem global:INITIALIZED führte.


Viele Grüße!

Andreas

Titel: Antw:Teile der config nach "save" in fhem.cfg gelöscht
Beitrag von: Otto123 am 30 September 2016, 14:18:58
Hallo Andreas,

man kann ja jeden Ausdruck mit Klammern und Schutzzeichen beliebig kompliziert gestalten, aber muss man das?

define FHEMinit notify global:INITIALIZED set do_not_check on;; defmod avoid_check_states at +01:00:00 set do_not_check off

Also zumindest bis zum ersten set von mir getestet.  8)

Hast Du auch save gemacht?  :-X

Gruß Otto
Titel: Antw:Teile der config nach "save" in fhem.cfg gelöscht
Beitrag von: fhem-challenge am 30 September 2016, 14:23:14
Zitat von: Otto123 am 30 September 2016, 14:18:58
Hallo Andreas,

man kann ja jeden Ausdruck mit Klammern und Schutzzeichen beliebig kompliziert gestalten, aber muss man das?

define FHEMinit notify global:INITIALIZED set do_not_check on;; defmod avoid_check_states at +01:00:00 set do_not_check off

Also zumindest bis zum ersten set von mir getestet.  8)

Hast Du auch save gemacht?  :-X

Gruß Otto

Hi,

ist gelöst, ich hatte nur ein rereadcfg gemacht, das erzeugt natürlich kein INITIALIZED event...

VIele Grüße!

Andreas
Titel: Antw:Teile der config nach "save" in fhem.cfg gelöscht
Beitrag von: Benni am 30 September 2016, 14:30:45
Zitat von: Otto123 am 30 September 2016, 14:18:58
Hast Du auch save gemacht?  :-X

Er bearbeitet doch die fhem.cfg direkt, daher auch die vielen Schutzzeichen. ;)
Titel: Antw:Teile der config nach "save" in fhem.cfg gelöscht
Beitrag von: Otto123 am 30 September 2016, 14:34:46
Zitat von: Benni am 30 September 2016, 14:30:45
Er bearbeitet doch die fhem.cfg direkt, daher auch die vielen Schutzzeichen. ;)

aber {fhem("bla bla")} ist doch komplett überflüssig - oder verstehe ich das falsch?

Gruß Otto
Titel: Antw:Teile der config nach "save" in fhem.cfg gelöscht
Beitrag von: fhem-challenge am 30 September 2016, 14:42:37
Zitat von: Otto123 am 30 September 2016, 14:34:46
aber {fhem("bla bla")} ist doch komplett überflüssig - oder verstehe ich das falsch?

Gruß Otto

Ist auch richtig, ich hatte vorher noch mehr "perl code" in den notify {} drin...

define FHEMinit notify global:INITIALIZED {\
fhem("set do_not_check on");;\
fhem("defmod avoid_check_states at +01:00:00 set do_not_check off")\
}


deshalb {...}. Natürlich geht es auch mit "define FHEMinit notify global:INITIALIZED set .....;; defmod ..."

Viele Grüße!

Andreas
Titel: Antw:Teile der config nach "save" in fhem.cfg gelöscht
Beitrag von: Benni am 30 September 2016, 18:20:22
Zitat von: Otto123 am 30 September 2016, 14:34:46
aber {fhem("bla bla")} ist doch komplett überflüssig - oder verstehe ich das falsch?

Nein, da hast du schon recht!  :)
Ich meinte v.a. die ";;" und die "\" am Zeilenende.