FHEM > Anfängerfragen

AT mit variabler Startzeit

(1/3) > >>

thuranga:
Hallo zusammen,
ich möchte gerne die Poolpumpe in Abhängigkeit von den Sonnenstunden und Bewölkung laufen lassen. Da der Pool über einen Solarabsorber erwärmt wird, muss die Pumpe nur dann länger laufen, wenn die Sonne scheint. Außerdem prüfe ich, wann es am Besten ist, die Pumpe zu starten (morgens oder mittags).

Soweit zur Vorgeschichte. Die Daten hole ich mir über Proplanta und schreibe Dauer und Startzeit in Readings

Mein AT sieht jetzt so aus, aber die Pumpe geht nicht zur berechneten Zeit an:


--- Code: ---define AT_PoolPumpeStart at *{ReadingsVal("DMMY_Poolpumpe","at_start","")} { { fhem("set PM_Garten_Poolpumpe_Sw on-for-timer ". (ReadingsVal("DMMY_Poolpumpe","duration","")) ) } }
--- Ende Code ---


--- Code: ---Internals:
   CFGFN     
   FUUID      5f219399-f33f-b0e2-c3bb-e92b44e60b2fba52
   NAME       DMMY_Poolpumpe
   NR         22936
   STATE      7
   TYPE       dummy
   OLDREADINGS:
   READINGS:
     2020-08-04 06:00:00   at_start        09:00:00
     2020-08-04 06:00:00   duration        25200
     2020-08-04 06:00:00   ftui_state      Start: 09 Uhr (7 h)
     2020-08-04 06:00:00   state           7
Attributes:
--- Ende Code ---


--- Code: ---Internals:
   CFGFN     
   COMMAND    { { fhem("set PM_Garten_Poolpumpe_Sw on-for-timer ". (ReadingsVal("DMMY_Poolpumpe","duration","")) ) } }
   DEF        *{ReadingsVal("DMMY_Poolpumpe","at_start","")} { { fhem("set PM_Garten_Poolpumpe_Sw on-for-timer ". (ReadingsVal("DMMY_Poolpumpe","duration","")) ) } }
   FUUID      5f2839b2-f33f-b0e2-d407-961f31ee7cc2573c
   NAME       AT_PoolPumpeStart
   NR         45256
   NTM        09:00:00
   PERIODIC   yes
   RELATIVE   no
   REP        -1
   STATE      Next: 09:00:00
   TIMESPEC   {ReadingsVal("DMMY_Poolpumpe","at_start","")}
   TRIGGERTIME 1596610800
   TRIGGERTIME_FMT 2020-08-05 09:00:00
   TYPE       at
   READINGS:
     2020-08-04 12:00:00   state           Next: 09:00:00
Attributes:

--- Ende Code ---


Wo liegt mein Denkfehler?

betateilchen:

* viel zu viele Klammern, wo keine hingehören
* warum definierst Du ein wiederholendes at, wenn die Startzeit ohnehin immer neu berechnet wird?
zu 1.) probier mal so:


--- Code: ---{ fhem("set PM_Garten_Poolpumpe_Sw on-for-timer ". ReadingsVal("DMMY_Poolpumpe","duration","") )  }
--- Ende Code ---

rabehd:
zu 2.
Ich habe die Weckzeit (von einem Tablet als Wecker) als Reading.
Ein DOIF nutzt diese Zeit und startet zu dem im Reading hinterlegten Zeitpunkt.

3. Bei der Berechnung der Startzeit modifizierst Du Dein AT.

thuranga:

--- Zitat von: betateilchen am 04 August 2020, 12:22:05 ---
* warum definierst Du ein wiederholendes at, wenn die Startzeit ohnehin immer neu berechnet wird?
--- Ende Zitat ---

also das "*" ist zuviel?


--- Zitat von: betateilchen am 04 August 2020, 12:22:05 ---zu 1.) probier mal so:


--- Code: ---{ fhem("set PM_Garten_Poolpumpe_Sw on-for-timer ". ReadingsVal("DMMY_Poolpumpe","duration","") )  }
--- Ende Code ---

--- Ende Zitat ---

Ja, hast recht. Die Klammern sind wohl vom vielen try-and-error übrig geblieben...

thuranga:

--- Zitat von: rabehd am 04 August 2020, 13:59:42 ---zu 2.
Ich habe die Weckzeit (von einem Tablet als Wecker) als Reading.
Ein DOIF nutzt diese Zeit und startet zu dem im Reading hinterlegten Zeitpunkt.

3. Bei der Berechnung der Startzeit modifizierst Du Dein AT.

--- Ende Zitat ---

Aber wie mache ich den Aufruf korrekt? Damit er jeden Morgen die aktuellen Zeiten nimmt

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln