FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Fixel2012 am 27 Mai 2017, 17:55:41

Titel: [Gelöst]Global log einträge in DOIF
Beitrag von: Fixel2012 am 27 Mai 2017, 17:55:41
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
Titel: Antw:Global log einträge in DOIF
Beitrag von: amenomade am 27 Mai 2017, 20:01:48
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"})
Titel: Antw:Global log einträge in DOIF
Beitrag von: Fixel2012 am 27 Mai 2017, 20:14:07
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?
Titel: Antw:Global log einträge in DOIF
Beitrag von: KernSani am 27 Mai 2017, 20:16:52
https://fhem.de/commandref_DE.html#DOIF_Lesbarkeit_der_Definitionen
Titel: Antw:Global log einträge in DOIF
Beitrag von: KernSani am 27 Mai 2017, 20:29:45
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.
Titel: Antw:Global log einträge in DOIF
Beitrag von: Damian am 27 Mai 2017, 20:55:19
Inzwischen funktioniert auch:

( cond1 )
    {Log 1, "cond1 ist wahr"}
DOELSEIF (cond 2)
    {Log 1, "cond2 ist wahr"}
DOELSE
    {Log 1, "Keine wahr"}
Titel: Antw:Global log einträge in DOIF
Beitrag von: amenomade am 27 Mai 2017, 20:58:04
Noch besser! Danke :)
Titel: Antw:Global log einträge in DOIF
Beitrag von: Fixel2012 am 27 Mai 2017, 22:29:32
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
Titel: Antw:Global log einträge in DOIF
Beitrag von: KernSani am 28 Mai 2017, 00:08:07
war das ein Windows-Tab? Nimm lieber ein paar spaces...
Titel: Antw:Global log einträge in DOIF
Beitrag von: Fixel2012 am 28 Mai 2017, 00:15:02
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
Titel: Antw:Global log einträge in DOIF
Beitrag 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
Titel: Antw:Global log einträge in DOIF
Beitrag von: Fixel2012 am 28 Mai 2017, 00:41:20
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.
Titel: Antw:Global log einträge in DOIF
Beitrag 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 \
Titel: Antw:Global log einträge in DOIF
Beitrag von: Fixel2012 am 28 Mai 2017, 00:53:11
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!! >:(
Titel: Antw:Global log einträge in DOIF
Beitrag von: amenomade am 28 Mai 2017, 00:55:33
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)\


"\"...
Titel: Antw:Global log einträge in DOIF
Beitrag von: amenomade am 28 Mai 2017, 00:55:46
Warst schneller ;)
Titel: Antw:Global log einträge in DOIF
Beitrag von: Fixel2012 am 28 Mai 2017, 00:57:22
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!
Titel: Antw:Global log einträge in DOIF
Beitrag von: amenomade am 28 Mai 2017, 01:01:06
Und in DEF funktioniert nw. die Syntaxhervorhebung. Im Raw definition nicht.

Bitte schön :)
Titel: Antw:Global log einträge in DOIF
Beitrag von: KernSani am 28 Mai 2017, 01:04:05
dann noch [Gelöst] vor das Subject des ersten Posts und wir sind alle glücklich :-)
Titel: Antw:Global log einträge in DOIF
Beitrag von: Fixel2012 am 28 Mai 2017, 01:08:04
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*