FHEM Forum

FHEM => Frontends => Thema gestartet von: rammelsberg am 20 November 2013, 13:45:15

Titel: Frontend um Heizzeiten einzustellen
Beitrag von: rammelsberg am 20 November 2013, 13:45:15
Hallo!

Ich habe daheim die Max! Thermostate im Einsatz und steuere diese über cul.
Das funktioniert auch soweit, allerdings habe ich noch keine komfortable Möglichkeit gefunden, die Zeiten zwischen Nachtabsenkung und Komfort sowie die entsprechenden Temperaturen einzustellen.
Ich möchte das nicht in einer Datei editieren, bzw. anderen Personen im Haushalt das zumuten ;-)
Gibt es da schon was, oder müsste man sich selbst was schreiben?
Im Grundegenommen müsste ja allgemeines Interesse bestehen, oder?
Irgendwelche Vorschläge, wie man das realisieren könnte?
(Ich würd da auch selbst rangehen, erwarte hier keine fertige Lösung, aber ein bisschen Hilfestellung beim Ansatz wäre super!)

Danke!

Grüße,
Paul
Titel: Antw:Frontend um Heizzeiten einzustellen
Beitrag von: broadway am 20 November 2013, 15:33:45
Hallo,
dies ist kein Frontend, sondern selbst gebastelt. Ich habe mir für jeden Schaltzeitpunkt einen dummy mit Auswahlliste angelegt. (Nach Änderung der Zeiten SAVE drücken!):

(http://forum.fhem.de/index.php?action=dlattach;topic=11557.0;attach=2082;image)

define HeizungMontagStart dummy
attr HeizungMontagStart group 1.montags
attr HeizungMontagStart loglevel 6
attr HeizungMontagStart room HeizProgramm
attr HeizungMontagStart setList state:00:00,00:10,00:20,00:30,00:40,00:50...usw...23:00,23:10,23:20,23:30,23:40,23:50
attr HeizungMontagStart webCmd state

define HeizungMontagStop dummy
attr HeizungMontagStop group 1.montags
attr HeizungMontagStop loglevel 6
attr HeizungMontagStop room HeizProgramm
attr HeizungMontagStop setList state:00:00,00:10,00:20,00:30,00:40,00:50...usw...23:00,23:10,23:20,23:30,23:40,23:50
attr HeizungMontagStop webCmd state

... usw. für jeden Tag


Für das Ein/ Auschalten habe ich morgens und abends ein at definiert. Diese gelten für jeden Tag und werden nachts neu gestellt. Wie man sieht kann man hier auch Startbedingungen festlegen, kann man natürlich auch weglassen.

define HeizprogrammStart at *06:40 {\
   my $StartBedingungen = (Value("Betriebsart") eq "Winter") && (Value("Anwesenheit") eq "daheim");;\
   if ($StartBedingungen){fhem "set Heizung Tag"}}

define HeizprogrammStop at *22:00 {\
   my $StopBedingungen = (Value("Betriebsart") eq "Winter") && (!Value("Aufheizen"));;\
   if($StopBedingungen){fhem "set Heizung Nacht"}}


Dieses notify wird nachts ausgeführt. Es prüft auf den Wochentag und liest dann die Uhrzeit aus den dummys aus und stellt die Timer neu ein.

define HeizungTimerStellen notify HeizungTimerStellen {\
my $holiday;;\
my $StartTime;;\
my $StopTime;;\
\
if((Value("Holiday") ne "none")){\
   $holiday=1;;}\
if(($wday eq 1) && (!$holiday)) {\
   $StartTime = Value("HeizungMontagStart");;\
   $StopTime = Value("HeizungMontagStop");;\
}\
elsif ... usw. für jeden Tag

elsif(($wday eq 0) || ($holiday)) {\
   $StartTime = Value("HeizungSonntagStart");;\
   $StopTime = Value("HeizungSonntagStop");;\
}\
\
fhem "modify HeizprogrammStart *$StartTime";;\
fhem "modify HeizprogrammStop *$StopTime";;\
}
attr HeizungTimerStellen comment z.Zt. keine Auswertung der Holiday-Datei!
attr HeizungTimerStellen room HeizProgramm


Optional kann man mit diesem notify auf eine Änderung im Zeitplan reagieren - in meinem Fall werden die FHTs neu programmiert:

# auf Änderung des Wochenprogramms reagieren
# .* heißt jede Änderung, in % steht die eingestellte Uhrzeit
#########################################################
define HeizprogrammChanged notify Heizung.* {\
if("@" eq "HeizungMontagStart"){\
                                   if(Value("Option_FHT_Programmieren") eq "an"){\
                                      fhem "set Kueche.FHT.Thermostat mon-from1 %";;\
                                      fhem "set Bad.FHT.Thermostat mon-from1 %"}}\
elsif ... usw.

elsif("@" eq "HeizungSonntagStart"){\
                                   if(Value("Option_FHT_Programmieren") eq "an"){\
                                      fhem "set Kueche.FHT.Thermostat sun-from1 %";;\
                                      fhem "set Bad.FHT.Thermostat sun-from1 %"}}\
fhem "save";;\
}
attr HeizprogrammChanged room HeizProgramm


Titel: Antw:Frontend um Heizzeiten einzustellen
Beitrag von: Elektrolurch am 20 November 2013, 16:05:21
Hallo,

ich habe was für meine 10 fhts gemacht, müsste sich aber auch für andere Thermostate eignen.
1. Zentrale Steuerung für Urlaub, kurze Abwesenheit oder auch von einzelnen Personen im Haus.
2. Zwei dummys mit Klappmenü für Raum (inkl. Alle) und Mo-So,Werktag,Wochenende,Alle mit Textfelder für Tag und Nachtemperatur undsetzbar für die jeweiligen Tage.
3. Schutz vor Ddauerlüften, Alarm wenn die Temp in einem Raum bei offenenen Fenster unter einen Wert sinkt.
4. Sofbuffer, um den Funkverkehr zu den fhts zu entlasten (10 Stück im Betrieb).

5. Anzeige von min und max-Temp je Raum, max. Vetilstellung und aktueller Modus.

6. Darstellung aller Räume in einer readingsGroup für die Übersicht.

Ich weiß nicht, ob dass das ist, was Du suchst, falls es Dich interessieren sollte, kann ich ja mal mein Modul 99-utilsHeizung.pm ohne Gewähr hochladen.

Gruß

Elektrolurch
Titel: Antw:Frontend um Heizzeiten einzustellen
Beitrag von: T.ihmann am 20 November 2013, 20:45:13
Es gibt ja zwei Module für die Heizungskontrolle: Heating Control / Weekday Timer (http://forum.fhem.de/index.php/topic,10011.0.html) und Treshold (http://forum.fhem.de/index.php/topic,10580.0.html).

Man könnte ein Frontend realisieren, daß beide Module integrativ ansteuert.

Nur so als Idee...da hätte man schon die Steuerung und müßte sich nicht um das Problem kümmern
Titel: Antw:Frontend um Heizzeiten einzustellen
Beitrag von: rammelsberg am 26 November 2013, 13:31:38
Hallo!

Vielen Dank für Eure Antworten!

@Elektrolurch: das hört sich so ziemlich nach dem an, was ich suche.
Könntest Du es mal hochladen?

Danke!

Grüße,
Paul
Titel: Antw:Frontend um Heizzeiten einzustellen
Beitrag von: Elektrolurch am 19 Dezember 2013, 15:58:29

ich habe das ganze dokumentiert und unter "Codeschnipsel" ins Forum gestellt.
http://forum.fhem.de/index.php/board,8.0.html

Gruß

Elektrolurch