Guten Abend,
nach längerem Suchen konnte ich nirgends finden, wie die Syntax für einen Global log Eintrag lautet.
Diesen würde ich gerne in ein DOIF einbauen.
Probiert habe ich es hier mit:
Log 1, "Werktags-Beschattung hat sich aktiviert"
So ganz funktioniert hat es nicht. Ich habe auch mal etwas von einer Umstellung auf Log3 gehört :o
Wäre schön wenn mir jemand auf die schnelle sagt wie ich meinen Log eintrag in ein DOIF einbauen kann.
Grüße,
Fixel
In geschweiften Klammern. Das ist ein Perl Befehl, kein FHEM Befehl.
Und natürlich auch noch dazu in Klammern, da ein Befehl des DOIFs.
( cond1 )
({Log 1, "cond1 ist wahr"})
DOELSEIF (cond 2)
({Log 1, "cond2 ist wahr"})
DOELSE
({Log 1, "Keine wahr"})
Danke dir! die geschweiften Klammern fehlten!
Noch eine kurze Frage, mein DOIF ist hat inzwischen schon 6 DOELSEIF, ist es möglich das ganze mit Absätzen besser leserlich zu machen? Sprich beschwert sich das Modul?
https://fhem.de/commandref_DE.html#DOIF_Lesbarkeit_der_Definitionen
Noch kurz zum Unterschied log und log3. Log hört nur auf das globale verbose Attribut, log3 kannst du den Devicenamen als 2. Parameter mitgeben, dann wird entsprechend dem verbose Level des devices geloggt. Letzteres (also log3) würde ich empfehlen.
Inzwischen funktioniert auch:
( cond1 )
{Log 1, "cond1 ist wahr"}
DOELSEIF (cond 2)
{Log 1, "cond2 ist wahr"}
DOELSE
{Log 1, "Keine wahr"}
Noch besser! Danke :)
Danke, euch! :)
EDIT: Ich muss mich bezüglich dem Einrücken, sprich code lesbarer machen leider nochmal melden, kriege das nicht wirklich hin :-[
Ich habe hier einen Auszug aus dem schon meiner Meinung nach eingerückten Code:
defmod Beschattung DOIF
([?BeschattungSteuerung] eq "active" and [?WetterProplanta:fc0_tempMax] > 20 and [09:00|8] and [?fc0_sun] > 50)
(set EG.Wohnzimmer_Rechts dim 35;;set EG.Wohnzimmer_Mitte_Rechts dim 35;;set EG.Wohnzimmer_Mitte_Links dim 35;;set EG.Wohnzimmer_Links dim 35;;set 1OG.Rolf_Links dim 35;;set 1OG.Rolf_Rechts dim 35;;set
1OG.Schlafzimmer_Links dim 35;;set 1OG.Schlafzimmer_Rechts dim 35;;sleep 60 quiet;;set EG.Esszimmer dim 35;;set BeschattungIstAnAus aktiv;;{Log 3, "Werktags-Beschattung hat sich aktiviert"})
## Rollläden im Garten fahren unter der Woche um 09:00 herunter
Folgende Fehlermeldung ergibt sich im DEF editor:
ZitatUnknown command ([?BeschattungSteuerung], try help.
Eingerückt habe ich mit einem vorher kopierten Tab, da dies nicht im Web möglich ist.
Hat jemand eine Ahnung was ich da falsch mache? ???
schonmal vielen Dank,
Fixel
war das ein Windows-Tab? Nimm lieber ein paar spaces...
Zitat von: KernSani am 28 Mai 2017, 00:08:07
war das ein Windows-Tab? Nimm lieber ein paar spaces...
Ja, war ein in NotePad rauskopierter Tab.
Aber durch die Leerzeichen hat sich auch nichts getan, gleiche Fehlermeldung. :o
https://wiki.fhem.de/wiki/Konfiguration#Syntaxhervorhebung
Und editier lieber dein DOIF beim Klicken auf "DEF" im FHEM Web.
EDIT: Das könnte auch hilfreich sein: https://wiki.fhem.de/wiki/DOIF/Tipps_zur_leichteren_Bedienung#Verwenden_des_DEF-Editors_zum_Erstellen_und_Bearbeiten_des_DOIF
Zitat von: amenomade am 28 Mai 2017, 00:20:29
https://wiki.fhem.de/wiki/Konfiguration#Syntaxhervorhebung
Und editier lieber dein DOIF beim Klicken auf "DEF" im FHEM Web.
EDIT: Das könnte auch hilfreich sein: https://wiki.fhem.de/wiki/DOIF/Tipps_zur_leichteren_Bedienung#Verwenden_des_DEF-Editors_zum_Erstellen_und_Bearbeiten_des_DOIF
editieren tue ich mit DEF. Die Syntax Hervorhebung habe ich bei mir eigentlich auch als Attribut schon ewig drin stehen, allerdings funktioniert diese irgendwie schon sehr lange nicht mehr :o ::)
ZitatHast Du überhaupt ein Device mit Name BeschattungSteuerung?
Ja, dies ist ein Dummy, wenn er auf inactive steht ist die Steuerung so zu sagen aus.
Dein Fehler kommt wahrscheinlich daraus, dass beim editieren in Raw def oder schlimmer direkt in fhem.cfg >:( :-\ , ein Leerzeichen muss nach DOIF und vor dem Zeilenumbruch \ seindefmod doiftest DOIF \
Zitat von: amenomade am 28 Mai 2017, 00:49:29
Dein Fehler kommt wahrscheinlich daraus, dass beim editieren in Raw def oder schlimmer direkt in fhem.cfg >:( :-\ , ein Leerzeichen muss nach DOIF und vor dem Zeilenumbruch \ seindefmod doiftest DOIF \
Du hast Recht! Es war immer nur von DEF die Rede, aber ich benutze immer nur Raw definition, habe bisher alles darüber editiert... Vermutlich wird es mit DEF gleich funktionieren!
Sorry! - Mein Fehler!! >:(
Zitatdefmod Beschattung DOIF
([?BeschattungSteuerung] eq "active" and [?WetterProplanta:fc0_tempMax] > 20 and [09:00|8] and [?fc0_sun] > 50)
Das kann kein Editieren mit DEF sein... sieht eher wie eine Raw definition aus...
Mit DEF sieht es so aus:
([?BeschattungSteuerung] eq "active" and [?WetterProplanta:fc0_tempMax] > 20 and [09:00|8] and [?fc0_sun] > 50)
(set EG.Wohnzimmer_Rechts dim 35)
und wird so aussehen in Raw def:
defmod doiftest DOIF ([?BeschattungSteuerung] eq "active" and [?WetterProplanta:fc0_tempMax] > 20 and [09:00|8] and [?fc0_sun] > 50)\
(set EG.Wohnzimmer_Rechts dim 35)\
oder evtl. so:
defmod doiftest DOIF \
([?BeschattungSteuerung] eq "active" and [?WetterProplanta:fc0_tempMax] > 20 and [09:00|8] and [?fc0_sun] > 50)\
(set EG.Wohnzimmer_Rechts dim 35)\
"\"...
Warst schneller ;)
Zitat von: amenomade am 28 Mai 2017, 00:55:33
Das kann kein Editieren mit DEF sein... sieht eher wie eine Raw definition aus...
Mit DEF sieht es so aus:
([?BeschattungSteuerung] eq "active" and [?WetterProplanta:fc0_tempMax] > 20 and [09:00|8] and [?fc0_sun] > 50)
(set EG.Wohnzimmer_Rechts dim 35)
und wird so aussehen in Raw def:
defmod doiftest DOIF ([?BeschattungSteuerung] eq "active" and [?WetterProplanta:fc0_tempMax] > 20 and [09:00|8] and [?fc0_sun] > 50)\
(set EG.Wohnzimmer_Rechts dim 35)\
oder evtl. so:
defmod doiftest DOIF \
([?BeschattungSteuerung] eq "active" and [?WetterProplanta:fc0_tempMax] > 20 and [09:00|8] and [?fc0_sun] > 50)\
(set EG.Wohnzimmer_Rechts dim 35)\
"\"...
Ja, du hast recht, DEF ist deutlich besser als alles andere..
Schäme mich gerade für meine Dummheit! :-X
Danke dir für deine Hilfe, es hat nun auf Anhieb funktioniert!
Und in DEF funktioniert nw. die Syntaxhervorhebung. Im Raw definition nicht.
Bitte schön :)
dann noch [Gelöst] vor das Subject des ersten Posts und wir sind alle glücklich :-)
Zitat von: amenomade am 28 Mai 2017, 01:01:06
Und in DEF funktioniert nw. die Syntaxhervorhebung. Im Raw definition nicht.
Bitte schön :)
Das ist mir nun auch aufgefallen *Facepalm*