[gelöst] hilfe gesucht für zeiten berechnen

Begonnen von the ratman, 09 Oktober 2019, 09:36:10

Vorheriges Thema - Nächstes Thema

the ratman

hiho,

hätte da wieder mal ne dumme frage ...
der doif-teil sieht folgender maßen aus:( ## wasserautomatik an - 07
[$SELF:wasser_auto] eq "an" and [([$SELF:wasser_an]+[+[$SELF:wasser_takt]])]
)
( set HUEDevice9 on-for-timer [$SELF:wasser_sek] )


probleme hab ich mit folgendem teil:  [([$SELF:wasser_an]+[+[$SELF:wasser_takt]])]

geschehen sollte dabei folgendes:

$SELF:wasser_an z.b.: "8:00"
$SELF:wasser_takt z.b.: "7200"

schalten soll das doif immer ab 8 uhr alle 2700 sekunden.
bekommen tu ich ein "error: Wrong timespec 7200: either HH:MM:SS or {perlcode}"
aber ein [+7200] geht an der stelle.

geht das so (oder ähnlich) überhaupt? und wenn ja, was mach ich falsch?
→do↑p!dnʇs↓shit←

Damian

Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

the ratman

#2
aus geht sie mit nem 2. zweig - vollständig also:...
( ## wasserautomatik an - 07
[$SELF:wasser_auto] eq "an" and [([$SELF:wasser_an]+[+[$SELF:wasser_takt]])]
)
( set HUEDevice9 on-for-timer [$SELF:wasser_sek] )

DOELSEIF

( ## wasserautomatik aus - 08
[$SELF:wasser_auto] eq "an" and [$SELF:wasser_aus]
)
( set HUEDevice9 off )
...


zur erklärung:

1) das ist eine kleine pumpe die zur zeit [$SELF:wasser_an] plus  [+[$SELF:wasser_takt]] angehen.
2) und [$SELF:wasser_sek] sekunden lang rennen (das wäre aber on-for-timer im ausführungsteil).
3) mit der zeit [$SELF:wasser_aus] wird generell abgstellt.
4) mit [$SELF:wasser_auto] schaltet man diese automatik generell an/aus

ich denke, da darf ich auch noch alle in 1 zweig packen, sonst ist meine lösung mit ausschalten hirnrissig
also zweig 8 killen und [?[$SELF:wasser_an]-[$SELF:wasser_aus]] schalten
aber wo krieg ich da meinen takt [+[$SELF:wasser_takt]] unter?
→do↑p!dnʇs↓shit←

Damian

Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

the ratman

#4
oh goil!
schad, dass ich bei der menge in der ref gern mal was überlese.

nur zur überprüfung bitte:
is das so richtig oder gehts besser?[$SELF:wasser_auto] eq "an" and [[$SELF:wasser_an]-[$SELF:wasser_aus],+[$SELF:wasser_takt]]
der code macht mir wenigstens keine fehlermeldung bei den timern.
also den intervall ohne ":", wenn ichs in minuten mag und auch mal über 60 min komm
→do↑p!dnʇs↓shit←

rabehd

Der Takt ist doch immer noch in Sekunden!?

Im Beispiel steht +:30 für 30min, deshalb vermute ich für 30 sek +::30
Auch funktionierende Lösungen kann man hinterfragen.

the ratman

#6
fast *g*
habs grade rausgefunden:

wieder mal zu blöd zum mitdenken gewesen - hatte ja den takt auf minuten - ein *60 für den takt und schon stimmt wohl auch die zeit.
so schaut das dann entgültig aus jetzt: [[$SELF:wasser_an]-[$SELF:wasser_aus],+[$SELF:wasser_takt]]mit wasser_takt in sekunden.timer_01_c07 10.10.2019 08:00:00 2019-10-09 13:48:13
timer_02_c07 09.10.2019 18:00:00 2019-10-09 13:48:13
timer_03_c07 09.10.2019 15:48:29 2019-10-09 13:48:29


somit:
vorerst mal thx für die gute hilfe und den stoß in die richtigen sekunden!
hoffen wir, dass ich nicht noch nen blödsinn eingebaut hab ...
→do↑p!dnʇs↓shit←