Hallo Community,
ich habe wieder mal eine vermutlich triviale Frage. Leider bekomme ich beim Onkel Google und im Forum keine Antwort dazu.
Aufgabenstellung: Ich versende 4x mal am Tag Reports über Temperaturen und Zustände der Fenster, Türen und Rollos. Dies habe ich in 4 defines abgebildet.
Bei Anpassungen muss ich dann immer alle 4 Definitionen ändern. Gerne hätte ich das in EINER Prozedur abgebildet.
Fragestellung:
Kann man at mehrmals am Tag 08:00, 12:30, 18:00,22:30 Uhr einfach so ausführen, wie wäre hier die Syntax?
define Temp.Report.Daily_mi at *12:30:00 {\
\
my $tempzis=ReadingsVal("Zisterne","state","0");;\
my $tempa=ReadingsVal("temp.aussen","temperature","0");;\
my $templ=ReadingsVal("temp.luisa","temperature","0");;\
my $tempal=ReadingsVal("temp.gefrierfach","temperature","0");;\
................................
Danke und Gruß im Voraus
Günter
wenn die abstände regelmäßig wären ginge das direkt im at.
ansonsten schau dir mal WeekdayTimer an.
gruss
andre
Hallo Andre,
danke für den Hinweis. Das mit den Abständen wäre machbar, 06:00, 12:00 und 18:00 Uhr. Wir würde dann die Syntax aussehen?
Den Weekday Timer schaue ich mir mal an.
Gruß Günter
Zitat von: Gueco315 am 01 November 2016, 10:08:57
Hallo Andre,
danke für den Hinweis. Das mit den Abständen wäre machbar, 06:00, 12:00 und 18:00 Uhr. Wir würde dann die Syntax aussehen?
Den Weekday Timer schaue ich mir mal an.
Gruß Günter
oder
define di DOIF ([08:00] or [12:30] or [18:00] or [22:30]) (set bla bla)
attr di do always
Gruß
Damian
etwa so:
define Temp.Report.Daily at +*06:00:00 ...
attr Temp.Report.Daily alignTime 06:00
attr Temp.Report.Daily disabledForIntervals 19:00-24:00 00:00-05:00
eventuell geht es auch direkt mit 3 mal wiederholen und ohne disabledForIntervals:define Temp.Report.Daily at +*{3}06:00:00 ...
attr Temp.Report.Daily alignTime 06:00
gruss
andre
Danke euch!
Ist schon der Hammer was bei FHEM so alles geht.
Gruß Günter
Der Ansatz von Andre
define Temp.Report.Daily at +*{3}06:00:00 ...
attr Temp.Report.Daily alignTime 06:00
funktioniert einwandfrei!
Eleganter, weil mit den Zeiten flexibler wäre der DOIF-Ansatz von Damian. Leider kommen hier Fehlermeldungen. Weil ich die Variablen erst noch einlese??
Report.Daily DOIF: expected DOELSEIF or DOELSE: { my $temps=ReadingsVal("Schlafzimmer_Fenster","state","0"); my $temprs ........
Habt ihr dafür ne Idee?
Hallo Zusammen,
ich habe es jetzt selbst rausbekommen. Mit den Variablen in DOIF tut sich das Modul - oder ich - schwer.
So einfach kann man das Auslesen der Readings und Übernahme in Variablen nicht machen.
{ my $temps=ReadingsVal("Schlafzimmer_Fenster","state","0"); my $tempr
Die Lösung: Einfach die Readings mit z.B. als [Schlafzimmer:state] direkt ausgeben.
Somit kann man alle Readings ganz einfach im Report darstellen und mit DOIF - wie oben von Damian - höchstflexibel ausgeben.
Gruß Günter