Hallo Zusammen,
um zu sehen wie lange die Bewässerungskreise den Garten bewässern, schreibe ich mit folgendem Code die Minuten seit Einschaltung in den Button:
[highlight=epc]
Counter_Rasen = AUS
Minutes_Rasen_On = 0u32
Button_Rasen_Refresh = AUS
if Init == EIN \\
and "Bewaesserung Rasen Ein/Aus-5/5/12" == EIN then \\
Counter_Rasen = EIN; \\
Minutes_Rasen_On = 0u32; \\
Button_Rasen_Refresh = EIN \\
else \\
Counter_Rasen = AUS \\
endif
if Counter_Rasen == EIN \\
and cycle(1,0) then \\
Minutes_Rasen_On = Minutes_Rasen_On + 1u32 \\
endif
if Init == EIN \\
and (Button_Rasen_Refresh or change(Minutes_Rasen_On)) then \\
pdisplay(ID_Zentral_Bewaesserung_Rasen,$An seit $+convert(Minutes_Rasen_On,$$)+$ Min.$,SWITCH,ACTIVE,GREY,PageID_Zentralfunktionen) ; \\
Button_Rasen_Refresh = AUS \\
endif
[/highlight]
Die auf cycle(1,0) basierende Zeitanzeige weicht jedoch stark von der Realität ab. 32 Minuten reale Bewässerungszeit werden im Button mit 20 Minuten angezeigt.
Entspricht cycle(1,0) nicht immer genau einer Minute oder enthält der Code einen Fehler, den ich nicht sehe?
Viele Grüße
Michael
um zu sehen wie lange die Bewässerungskreise den Garten bewässern, schreibe ich mit folgendem Code die Minuten seit Einschaltung in den Button:
[highlight=epc]
Counter_Rasen = AUS
Minutes_Rasen_On = 0u32
Button_Rasen_Refresh = AUS
if Init == EIN \\
and "Bewaesserung Rasen Ein/Aus-5/5/12" == EIN then \\
Counter_Rasen = EIN; \\
Minutes_Rasen_On = 0u32; \\
Button_Rasen_Refresh = EIN \\
else \\
Counter_Rasen = AUS \\
endif
if Counter_Rasen == EIN \\
and cycle(1,0) then \\
Minutes_Rasen_On = Minutes_Rasen_On + 1u32 \\
endif
if Init == EIN \\
and (Button_Rasen_Refresh or change(Minutes_Rasen_On)) then \\
pdisplay(ID_Zentral_Bewaesserung_Rasen,$An seit $+convert(Minutes_Rasen_On,$$)+$ Min.$,SWITCH,ACTIVE,GREY,PageID_Zentralfunktionen) ; \\
Button_Rasen_Refresh = AUS \\
endif
[/highlight]
Die auf cycle(1,0) basierende Zeitanzeige weicht jedoch stark von der Realität ab. 32 Minuten reale Bewässerungszeit werden im Button mit 20 Minuten angezeigt.
Entspricht cycle(1,0) nicht immer genau einer Minute oder enthält der Code einen Fehler, den ich nicht sehe?

Viele Grüße
Michael
Kommentar