FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: Gueco315 am 01 November 2016, 09:48:37

Titel: [Gelöst] AT-Befehl mehrmals am Tag ausführen
Beitrag von: Gueco315 am 01 November 2016, 09:48:37
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
Titel: Antw:AT-Befehl mehrmals am Tag ausführen
Beitrag von: justme1968 am 01 November 2016, 10:01:29
wenn die abstände regelmäßig wären ginge das direkt im at.

ansonsten schau dir mal WeekdayTimer an.

gruss
  andre
Titel: Antw:AT-Befehl mehrmals am Tag ausführen
Beitrag 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
Titel: Antw:AT-Befehl mehrmals am Tag ausführen
Beitrag von: Damian am 01 November 2016, 10:17:09
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
Titel: Antw:AT-Befehl mehrmals am Tag ausführen
Beitrag von: justme1968 am 01 November 2016, 10:33:44
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
Titel: Antw:[Gelöst] AT-Befehl mehrmals am Tag ausführen
Beitrag von: Gueco315 am 01 November 2016, 10:35:20
Danke euch!

Ist schon der Hammer was bei FHEM so alles geht.

Gruß Günter
Titel: Antw:[Gelöst] AT-Befehl mehrmals am Tag ausführen
Beitrag von: Gueco315 am 01 November 2016, 12:37:55
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?
Titel: Antw:AT-Befehl mehrmals am Tag ausführen
Beitrag von: Gueco315 am 01 November 2016, 16:02:46
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