FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: kutschi am 09 März 2013, 09:10:26

Titel: Zeiten per Eingabefenster
Beitrag von: kutschi am 09 März 2013, 09:10:26
Hallo,

Ist es möglich eine Zeit über das Web einzugeben und diese dann in einer Variablen zu speichern. Um dann zB die Rollos zur Eingegebenen Zeit hochfahren zu lassen.

Gruß
Markus
Titel: Aw: Zeiten per Eingabefenster
Beitrag von: Puschel74 am 09 März 2013, 11:41:11
Hallo,

ja. Auch das ist möglich.

Einen dummy definieren und diesen mit setList state:time füllen.

Grüße
Titel: Aw: Zeiten per Eingabefenster
Beitrag von: broadway am 10 März 2013, 10:55:53
So was?


(siehe Anhang / see attachement)


define MeinTimer dummy
attr MeinTimer setList state:
00:00,00:10,00:20,00:30,00:40,00:50,01:00,01:10,01:20,01:30,01:40,01:50,02:00,02:10,02:20,02:30,02:40,02:50,
03:00,03:10,03:20,03:30,03:40,03:50,04:00,04:10,04:20,04:30,04:40,04:50,05:00,05:10,05:20,05:30,05:40,05:50,06:00,
06:10,06:20,06:30,06:40,06:50,07:00,07:10,07:20,07:30,07:40,07:50,08:00,08:10,08:20,08:30,08:40,08:50,09:00,09:10,
09:20,09:30,09:40,09:50,10:00,10:10,10:20,10:30,10:40,10:50,11:00,11:10,11:20,11:30,11:40,11:50,12:00,12:10,12:20,
12:30,12:40,12:50,13:00,13:10,13:20,13:30,13:40,13:50,14:00,14:10,14:20,14:30,14:40,14:50,15:00,15:10,15:20,15:30,
15:40,15:50,16:00,16:10,16:20,16:30,16:40,16:50,17:00,17:10,17:20,17:30,17:40,17:50,18:00,18:10,18:20,18:30,18:40,
18:50,19:00,19:10,19:20,19:30,19:40,19:50,20:00,20:10,20:20,20:30,20:40,20:50,21:00,21:10,21:20,21:30,21:40,21:50,
22:00,22:10,22:20,22:30,22:40,22:50,23:00,23:10,23:20,23:30,23:40,23:50
attr MeinTimer webCmd state
Titel: Aw: Zeiten per Eingabefenster
Beitrag von: UliM am 10 März 2013, 15:41:11
Oder komfortabler den timepicker verwenden, dann geht's mit Reglern statt dropdown:
define wakeupChange dummy
attr wakeupChange webCmd state
attr wakeupChange setList state:time

Gruß, Uli
Titel: Aw: Zeiten per Eingabefenster
Beitrag von: Markus am 12 März 2013, 20:40:10
Wie habt ihr das mit dem notify gelöst??
Was muss ich verwenden um stat Time die aktuelle zeit zu erhalten..
oder denke ich zu kompliziert?

define Heizung_Ein dummy
attr Heizung_Ein webCmd state
attr Heizung_Ein setList state:time
attr Heizung_Ein group Heizung
attr Heizung_Ein room System

define Heizung_Ein_Schalten notify Heizung_Ein {if (Value("Heizung_Ein") eq "Time") {fhem ("\
set Heizung on")} }
Titel: Aw: Zeiten per Eingabefenster
Beitrag von: broadway am 12 März 2013, 21:07:46
dummys wie im Beispiel oben:
define Hz.Prog.montags.start dummy
attr Hz.Prog.montags.start setList state:00:00,00:10,...,23:40,23:50
attr Hz.Prog.montags.start webCmd state

define Hz.Prog.montags.stop dummy
attr Hz.Prog.montags.stop setList state:00:00,00:10,...,23:40,23:50
attr Hz.Prog.montags.stop webCmd state

usw.


dazu gehörige ats für jeden Schaltpunkt:

define Hz.Timer01.montags.start at *05:40 {\
       if($wday eq 1){\
           fhem "set Heizung Tag"\
       }\
}

define Hz.Timer02.montags.stop at *22:00 {\
       if($wday eq 1){\
           fhem "set Heizung Nacht"\
       }\
}

usw.


und ein notify bei Änderung einer Schaltzeit über die dummys:

define Hz.Prog.changed notify Hz.Prog.* {\
if("@" eq "Hz.Prog.montags.start"){fhem "modify Hz.Timer01.montags.start *%"}\
elsif("@" eq "Hz.Prog.montags.stop"){fhem "modify Hz.Timer02.montags.stop *%"}\
usw.


Das Zentrale ist hier der "modify" Befehl und in % steht die im dummy ausgewählte Uhrzeit.
Titel: Aw: Zeiten per Eingabefenster
Beitrag von: Thomas81 am 12 März 2013, 21:50:35
Achtung bei änderungen von fhem.cfg oder "shutdown restart" werden die Zeiten auf die Initialwerte gesetzt, Triggern mit global:INITIALIZED bei start funktioniert anscheinen nur wenn die Zeit über perl {} w.o. übergeben wird. direkt in Fhem mit % funktioniert nicht.

Gibt es ein notify für reload der fhem.cfg

Titel: Aw: Zeiten per Eingabefenster
Beitrag von: broadway am 13 März 2013, 17:21:12
Zitat von: Thomas81 schrieb am Di, 12 März 2013 21:50Achtung bei änderungen von fhem.cfg oder "shutdown restart" werden die Zeiten auf die Initialwerte gesetzt, ...

Du musst nach Änderungen "save" drücken, da geht nix verloren.
Titel: Aw: Zeiten per Eingabefenster
Beitrag von: Thomas81 am 13 März 2013, 18:44:37
Danke für die Info, mir ist jetzt auch klar warum das passierte.

Naja des Komfort wegen, möchte ich mir aber das save drücken ersparen,  ist ja blöd wenn man es mal vergißt,werde es mit einem notify lösen.
Titel: Aw: Zeiten per Eingabefenster
Beitrag von: outhouse am 05 April 2013, 10:21:11
Zitat von: Thomas81 schrieb am Mi, 13 März 2013 18:44werde es mit einem notify lösen.

Hallo Thomas

Darf man (ich) wissen, wie du das mit einem notify gelöst hast?

Gruss

Chris
Titel: Aw: Zeiten per Eingabefenster
Beitrag von: broadway am 05 April 2013, 16:07:27
Das habe ich bei mir inzwischen auch nachgerüstet:


define HeizProg.Changed notify Heiz.Prog.* {fhem "save";}
attr HeizProg.Changed group Makros
attr HeizProg.Changed room HeizProgramm


Variante inkl. FHT Programmierung:


# auf Änderung des Wochenprogramms reagieren
# .* heißt jede Änderung erkennen, in % steht die eingestellte Uhrzeit

define HeizProg.Changed notify Heiz.Prog.* {\
if("@" eq "Heiz.Prog.montags.start"){\
                                   if(Value("HeizProg.FHTs.programmieren") eq "an"){\
                                      fhem "set Kueche.FHT.Thermostat mon-from1 %";;\
                                      fhem "set Bad.FHT.Thermostat mon-from1 %"}}\
elsif("@" eq "Heiz.Prog.dienstags.start"){\
                                   if(Value("HeizProg.FHTs.programmieren") eq "an"){\
                                      fhem "set Kueche.FHT.Thermostat tue-from1 %";;\
                                      fhem "set Bad.FHT.Thermostat tue-from1 %"}}\
elsif("@" eq "Heiz.Prog.mittwochs.start"){\
                                   if(Value("HeizProg.FHTs.programmieren") eq "an"){\
                                      fhem "set Kueche.FHT.Thermostat wed-from1 %";;\
                                      fhem "set Bad.FHT.Thermostat wed-from1 %"}}\
elsif("@" eq "Heiz.Prog.donnerstags.start"){\
                                   if(Value("HeizProg.FHTs.programmieren") eq "an"){\
                                      fhem "set Kueche.FHT.Thermostat thu-from1 %";;\
                                      fhem "set Bad.FHT.Thermostat thu-from1 %"}}\
elsif("@" eq "Heiz.Prog.freitags.start"){\
                                   if(Value("HeizProg.FHTs.programmieren") eq "an"){\
                                      fhem "set Kueche.FHT.Thermostat fri-from1 %";;\
                                      fhem "set Bad.FHT.Thermostat fri-from1 %"}}\
elsif("@" eq "Heiz.Prog.samstags.start"){\
                                   if(Value("HeizProg.FHTs.programmieren") eq "an"){\
                                      fhem "set Kueche.FHT.Thermostat sat-from1 %";;\
                                      fhem "set Bad.FHT.Thermostat sat-from1 %"}}\
elsif("@" eq "Heiz.Prog.sonntags.start"){\
                                   if(Value("HeizProg.FHTs.programmieren") eq "an"){\
                                      fhem "set Kueche.FHT.Thermostat sun-from1 %";;\
                                      fhem "set Bad.FHT.Thermostat sun-from1 %"}}\
fhem "save";;}\
}
attr HeizProg.Changed group Makros
attr HeizProg.Changed room HeizProgramm


Titel: Aw: Zeiten per Eingabefenster
Beitrag von: cornelius fillmore am 29 Juni 2013, 09:39:57
Zitat von: UliM schrieb am So, 10 März 2013 15:41Oder komfortabler den timepicker verwenden, dann geht's mit Reglern statt dropdown:
define wakeupChange dummy
attr wakeupChange webCmd state
attr wakeupChange setList state:time

Gruß, Uli

Mal ne Frage:
Gibt es den "timepicker" auch für ein Datum, welches sich so auswählen läßt?
Titel: Aw: Zeiten per Eingabefenster
Beitrag von: Puschel74 am 29 Juni 2013, 09:42:20
Hallo,

versuch mal
Zitatstate:date

Ist jetzt aber nur ins Blaue geraten.

Grüße
Titel: Aw: Zeiten per Eingabefenster
Beitrag von: cornelius fillmore am 29 Juni 2013, 20:07:06
Zitat von: Puschel74 schrieb am Sa, 29 Juni 2013 09:42Hallo,

versuch mal
Zitatstate:date

Ist jetzt aber nur ins Blaue geraten.

Grüße

Gute Idee, funktioniert aber nicht.

Noch jemand eine Idee?
Titel: Aw: Zeiten per Eingabefenster
Beitrag von: Puschel74 am 29 Juni 2013, 20:28:36
Hallo,

ZitatGute Idee, funktioniert aber nicht.

Mist, wär ja zu schön gewesen.
Sorry.

Grüße