Hallo,
auch 10 Jahre C programmieren helfen nicht weiter. nach einer Stunde suchen frage ich hier mal.
Ich möchte auf einer Benutzereingabe im Web reagieren und einen Logeintrag erstellen (um überhaupt mal zu sehen, ob was geht).
Teil der fhem.cfg
# FHT modi
define Taste_fht_mode.kueche dummy
attr Taste_fht_mode.kueche webCmd auto:manual:Urlaub
attr Taste_fht_mode.kueche room FHT
attr Taste_fht_mode.kueche group FHT_mode
define act_Taste_fht_mode.kueche notify Taste_fht_mode.kueche{\
if ("%" eq "auto") {\
Log 1, "fht_mode.kueche Auto gewählt"\
}\
if ("%" eq "manual") {\
Log 1, "fht_mode.kueche man gewählt"\
}\
}
Auf der Oberfläche kan der Wert schönt gesetzt werden, allerdings sehe ich nie einen Logeintrag. Wäre schön wenn jemand weiß, was ich falsch mache.
Gruß
swifty
da sind einige syntax fehler im notify und auch im einer im define des notify. ich tippe mal er jat den notify gar nicht erst angelegt weil du sonst die fehler wegen fehlender ; am ende der Log zeilen sehen würdest.
so muss das notify ausschauen wenn es in fhem.cfg steht:define act_Taste_fht_mode.kueche notify Taste_fht_mode.kueche {\
Log 3, $EVENT;;\
if( $EVENT eq "auto") {\
Log 1, "fht_mode.kueche Auto gewählt";;\
} elsif ( $EVENT eq "manual") {\
Log 1, "fht_mode.kueche man gewählt";;\
}\
}
noch ein paar anmerkungen:
- es ist besser $EVENT zu verwenden statt %. das ist die neue form und macht keine probleme beim maskieren.
- am besten ist es notifys nicht von hand ins config file zu schreiben sondern erst mal mit nur mit {} anzulegen und dann über einen klich auf DEF in der detail ansicht zu editieren. dann muss man nicht auf das maskieren von zeilenenden oder ; aufapssen.
- wenn du für den taster dummy das hier definierst:attr Taste_fht_mode.kueche setList state:auto,manual,Urlaub
attr Taste_fht_mode.kueche webCmd state
kannst du den zustand bequem per drop down menü auswählen.
gruss
andre
Vielen Dank, so gehts.
Die Definition erstmal mit {} anzulegen ist ein guter Hinweis. Allerdings, wo wird die Information abgelegt? Wenn ich den Server neu starte, wo kommt die Information her? Wäre für Umzüge/Backups interessant.
swifty
nach dem anlegen einfach save sagen in der telnet sesson oder in der command box oder auf 'save config' im web frontend klicken. dann wird es gespeichert. fhem schreibt selber in die fhem.cfg.
gruss
andre