[Gelöst] AT-Befehl mehrmals am Tag ausführen

Begonnen von Gueco315, 01 November 2016, 09:48:37

Vorheriges Thema - Nächstes Thema

Gueco315

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
Fhem 6.0, JeeLink, CUL 868 auf Raspi 4, Buster, IT-1500, 4x SB_Player, Squeezebox auf Raspi 4, 3x Fritzbox,  WIFI Light, EGPM2LAN, ENIGMA, Sec-SCO,CC-RT-DN,TC-IT-WM-W-EU,SEN-Wa-Od,ES-PMSw1-PW,HM-SE, Sonoff, Shelly,SMA

justme1968

wenn die abstände regelmäßig wären ginge das direkt im at.

ansonsten schau dir mal WeekdayTimer an.

gruss
  andre
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

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

Gueco315

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
Fhem 6.0, JeeLink, CUL 868 auf Raspi 4, Buster, IT-1500, 4x SB_Player, Squeezebox auf Raspi 4, 3x Fritzbox,  WIFI Light, EGPM2LAN, ENIGMA, Sec-SCO,CC-RT-DN,TC-IT-WM-W-EU,SEN-Wa-Od,ES-PMSw1-PW,HM-SE, Sonoff, Shelly,SMA

Damian

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
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

justme1968

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

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

Gueco315

Danke euch!

Ist schon der Hammer was bei FHEM so alles geht.

Gruß Günter
Fhem 6.0, JeeLink, CUL 868 auf Raspi 4, Buster, IT-1500, 4x SB_Player, Squeezebox auf Raspi 4, 3x Fritzbox,  WIFI Light, EGPM2LAN, ENIGMA, Sec-SCO,CC-RT-DN,TC-IT-WM-W-EU,SEN-Wa-Od,ES-PMSw1-PW,HM-SE, Sonoff, Shelly,SMA

Gueco315

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?
Fhem 6.0, JeeLink, CUL 868 auf Raspi 4, Buster, IT-1500, 4x SB_Player, Squeezebox auf Raspi 4, 3x Fritzbox,  WIFI Light, EGPM2LAN, ENIGMA, Sec-SCO,CC-RT-DN,TC-IT-WM-W-EU,SEN-Wa-Od,ES-PMSw1-PW,HM-SE, Sonoff, Shelly,SMA

Gueco315

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


Fhem 6.0, JeeLink, CUL 868 auf Raspi 4, Buster, IT-1500, 4x SB_Player, Squeezebox auf Raspi 4, 3x Fritzbox,  WIFI Light, EGPM2LAN, ENIGMA, Sec-SCO,CC-RT-DN,TC-IT-WM-W-EU,SEN-Wa-Od,ES-PMSw1-PW,HM-SE, Sonoff, Shelly,SMA