Hauptmenü

Logging aus cfg Datei

Begonnen von swifty, 10 November 2013, 21:21:08

Vorheriges Thema - Nächstes Thema

swifty

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

justme1968

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
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

swifty

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

justme1968

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
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968