Intervall programieren

Begonnen von Mitch, 01 August 2012, 20:59:51

Vorheriges Thema - Nächstes Thema

Mitch

                                                     

Hallo Zusammen,

ich müsste einen Interval programmieren.
Das ganze soll so funktionieren:

um 13 Uhr wird ein FS20ST angesteuert.
Er soll sich für 10 min einschalten, dann aus für 30 min, dann wieder ein
für 10 min usw.
Das ganze sollte so zwei Stunden lang gehen.

Früher in Basic :-) habe ich soetwas mit einer Schlafe gemacht, in der ein
Zähler hoch gezählt hat und bei erreichen eines bestimmten Wertes, wurde
die Schleife verlassen.

Ist soetwas in fhem bzw. Perl auch möglich?
Wahrscheinlich schon :-)

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
FHEM im Proxmox Container

Guest

Originally posted by: <email address deleted>

Ja.

LG

pah

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com

Mitch

                                                     

Hab jetzt ein bischen im commandref geschmökert und bin auf diese
Funktionen gestossen:

# relative ones
    define a5 at +00:00:10 set lamp on                  # switch on in 10 seconds
    define a6 at +00:00:02 set lamp on-for-timer 1      # Blink once in 2 seconds
    define a7 at +*{3}00:00:02 set lamp on-for-timer 1  # Blink 3 times

daraus habe ich mir das hier gebastelt:


define Poolheizung FS20 1111 09
attr Poolheizung dummy 1
attr Poolheizung model fs20st
attr Poolheizung room Aussen

define act_on_Poolheizung notify Poolheizung { if ("%" eq "on"){
fhem("define PoolHeizungAn at +*{4}00:40:00} set FS20_226600 on-for-timer
600") } else { fhem("delete PoolHeizungAn") } }
attr act_on_Poolheizung room Makros

Wenn ich mich nicht vertan habe, sollte 4x der FS20 für je 10 Minuten
angeschalten werden??



Am Mittwoch, 1. August 2012 21:37:53 UTC+2 schrieb Prof. Dr. Peter A.
Henning:
>
> Ja.
>
> LG
>
> pah
>

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
FHEM im Proxmox Container

Mitch

                                                     

hatte leider nicht funktioniert, jetzt habe ich es einfach so gelöst:

define Poolheizung FS20 1111 09
attr Poolheizung comment Pumpe ab 13 Uhr 4x 10 Min alle 30 Min
attr Poolheizung dummy 1
attr Poolheizung model fs20st
attr Poolheizung room Aussen

define act_on_Poolheizung notify Poolheizung { if ("%" eq "on"){
fhem("define Pooldummy1 at *13:00:00 set FS20_226600 on-for-timer 600 ;;
define Pooldummy2 at *13:40:00 set FS20_226600 on-for-timer 600 ;; define
Pooldummy3 at *14:20:00 set FS20_226600 on-for-timer 600 ;; define
Pooldummy4 at *15:00:00 set FS20_226600 on-fot-timer 600") } else {
fhem("set FS20_226600 off ;; delete Pooldummy1 ;; delete Pooldummy2 ;;
delete Pooldummy3 ;; delete Pooldummy4") } }

Am Mittwoch, 1. August 2012 21:57:41 UTC+2 schrieb Mitch:
>
> Hab jetzt ein bischen im commandref geschmökert und bin auf diese
> Funktionen gestossen:
>
> # relative ones
>     define a5 at +00:00:10 set lamp on                  # switch on in 10 seconds
>     define a6 at +00:00:02 set lamp on-for-timer 1      # Blink once in 2 seconds
>     define a7 at +*{3}00:00:02 set lamp on-for-timer 1  # Blink 3 times
>
> daraus habe ich mir das hier gebastelt:
>
>
> define Poolheizung FS20 1111 09
> attr Poolheizung dummy 1
> attr Poolheizung model fs20st
> attr Poolheizung room Aussen
>
> define act_on_Poolheizung notify Poolheizung { if ("%" eq "on"){
> fhem("define PoolHeizungAn at +*{4}00:40:00} set FS20_226600 on-for-timer
> 600") } else { fhem("delete PoolHeizungAn") } }
> attr act_on_Poolheizung room Makros
>
> Wenn ich mich nicht vertan habe, sollte 4x der FS20 für je 10 Minuten
> angeschalten werden??
>
>
>
> Am Mittwoch, 1. August 2012 21:37:53 UTC+2 schrieb Prof. Dr. Peter A.
> Henning:
>>
>> Ja.
>>
>> LG
>>
>> pah
>>
>

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
FHEM im Proxmox Container

Zrrronggg!

                                                     

1.
> Hast Du bedacht, dass bei dieser Anweisung der erste "AN"-Befehl erst
> nach 40min ausgef hrt wird...?

Genau, das wird schonmal das Problem sein.
Ich finde

define act_on_Poolheizung notify Poolheizung { if ("%" eq "on"){
fhem("define PoolHeizungAn at +*{4}00:40:00} set FS20_226600 on-for-
timer
600") } else { fhem("delete PoolHeizungAn") } }

auch überkompliziert.

define act_on_Poolheizung notify Poolheizung:on define PoolHeizungAn
at +*{4}00:40:00} set FS20_226600 on-for-timer 600

Würde es auch tun. Waere aber immer noch das Problem, das die Heizung
das erste mal erst nach 40 Minuten einschaltet. Zuletzt
on-for-timer 600
geht nicht. Es geht nur 576 oder 640. (FHEM wird aber automatisch
anpassen und eine Meldung ausgeben)

Damit es sofort losgeht, könntest du aber folgendes machen:

define act_on_Poolheizung notify Poolheizung:on set FS20_226600 on-for-
timer 576 ;; define PoolHeizungAn at +*{4}00:40:00} set FS20_226600 on-
for-timer 576

>delete PoolHeizungAn

brauchst du meiner Meinung nach nicht. Nach der letzten Ausführung
wird das sowieso gelöscht und ohne "Poolheizung:on" wirds gar nicht
erst erzeugt.
Es sei denn dein Ziel war, die Polheizung sofort auszuschalten, wenn
du
Poolheizung:off

schaltest.

Wenn das dein Ziel war würde ich:

define act_on_PoolheizungOn notify Poolheizung:on set FS20_226600 on-
for-timer 576 ;; define PoolHeizungTimer at +*{4}00:40:00} set
FS20_226600 on-for-timer 576

define act_on_PoolheizungOff notify Poolheizung:off set FS20_226600
off ;; delete PoolHeizungTimer


verwenden.



--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
FHEM auf Linkstation Mini, CUL 868 SlowRF, 2xCUL 868 RFR, CUL 433 für IT, 2xHMLAN-Configurator mit VCCU, ITV-100 Repeater, Sender und Aktoren von FHT, FS20, S300, HM, IT, RSL

Mitch

                                                     

Danke schön, werde ich mir nochmal anschauen.
Wegen den 40 Minuten Verzug, das habe ich wirklich übsersehen.


Am Donnerstag, 2. August 2012 21:59:38 UTC+2 schrieb Zrrronggg!:
>
> 1.
> > Hast Du bedacht, dass bei dieser Anweisung der erste "AN"-Befehl erst
> > nach 40min ausgef hrt wird...?
>
> Genau, das wird schonmal das Problem sein.
> Ich finde
>
> define act_on_Poolheizung notify Poolheizung { if ("%" eq "on"){
> fhem("define PoolHeizungAn at +*{4}00:40:00} set FS20_226600 on-for-
> timer
> 600") } else { fhem("delete PoolHeizungAn") } }
>
> auch überkompliziert.
>
> define act_on_Poolheizung notify Poolheizung:on define PoolHeizungAn
> at +*{4}00:40:00} set FS20_226600 on-for-timer 600
>
> Würde es auch tun. Waere aber immer noch das Problem, das die Heizung
> das erste mal erst nach 40 Minuten einschaltet. Zuletzt
> on-for-timer 600
> geht nicht. Es geht nur 576 oder 640. (FHEM wird aber automatisch
> anpassen und eine Meldung ausgeben)
>
> Damit es sofort losgeht, könntest du aber folgendes machen:
>
> define act_on_Poolheizung notify Poolheizung:on set FS20_226600 on-for-
> timer 576 ;; define PoolHeizungAn at +*{4}00:40:00} set FS20_226600 on-
> for-timer 576
>
> >delete PoolHeizungAn
>
> brauchst du meiner Meinung nach nicht. Nach der letzten Ausführung
> wird das sowieso gelöscht und ohne "Poolheizung:on" wirds gar nicht
> erst erzeugt.
> Es sei denn dein Ziel war, die Polheizung sofort auszuschalten, wenn
> du
> Poolheizung:off
>
> schaltest.
>
> Wenn das dein Ziel war würde ich:
>
> define act_on_PoolheizungOn notify Poolheizung:on set FS20_226600 on-
> for-timer 576 ;; define PoolHeizungTimer at +*{4}00:40:00} set
> FS20_226600 on-for-timer 576
>
> define act_on_PoolheizungOff notify Poolheizung:off set FS20_226600
> off ;; delete PoolHeizungTimer
>
>
> verwenden.
>
>
>
>

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
FHEM im Proxmox Container

borsti67

                                                 

Hallo Mitch,

was genau hatte denn nicht funktioniert? Sah für mich als Laien gar
nicht so schlecht aus...

Deine jetzige Variante ist aber nun fixiert auf eine Uhrzeit, da
brauchst Du doch gar keinen Notify mehr?

>     define act_on_Poolheizung notify Poolheizung { if ("%" eq "on"){
>     fhem("define PoolHeizungAn at +*{4}00:40:00} set FS20_226600

Hast Du bedacht, dass bei dieser Anweisung der erste "AN"-Befehl erst
nach 40min ausgeführt wird...?

Gruß
Torsten

--
To unsubscribe from this group, send email to
fhem-users+unsubscribe@googlegroups.com
cu/2
Borsti
---
FHEM 5.8 auf Synology DS211j (bis 11/17) | FHEM 6.0 auf Raspi Zero W (bis 11/20) | FHEM 6.2 als VM in Synology DS1815+ (ab 11/20)