also vor vielen Monaten hab ich mal ein Makro ,mit viel Hilfe von Bümpi geschrieben. Darin werden verschiedene Heizungsabläufe überprüft und jenachdem die Heizung auf Nachtabsenkung geschaltet.
Jetzt ist mir folgendes aufgefallen, wenn der eine Heizungsregler auf "Koffer lang" steht und der andere wird auf "Absenkung " gestellt ,dann wird die Heizung NICHT auf Nachtabsenkung umgeschaltet. Hier mal das Makro. Kann ich Kofferlang als Variable verarbeiten ?
Code: Alles auswählen
** HeizungTagNacht Objekt Typ Schalter - HeizungNachtabsenkung ist bei 1 aktiviert
** TagModus Variable Typ Schalter - TagModus ist bei 1 aktiviert
** ASK05Tmp Variable Typ Schalter
**Wenn die Raumregler auf höhere Temp gestellt wird,dann Heizungsabsenkung auf jedenfall aus
Wenn RR2W > RR2W.Komforttemperatur oder RR1W > RR1W.Komforttemperatur dann
Wenn HeizungTagNacht <>0 dann
ASK05Tmp :=0
Aktion:= "Raumregler hoch gedreht"
Endewenn
gehezu Schluss
endewenn
** Wenn die Raumregler auf manuell stehen,dann Heizungsabsenkung auf jedenfall aus
Wenn RR2W.Modus = manuell oder RR1W.Modus = manuell dann
Wenn HeizungTagNacht <>0 dann
ASK05Tmp :=0
Aktion:= "Manuell"
Endewenn
gehezu Schluss
endewenn
**Hier wird die Heizung auf Absenkung gestellt wenn zweimal getaktet
Wenn Zeit<=HeizungANAUS.Absenkzeitbis dann
** Sonst gibt's wieder alle 5 Sek. einen Eintrag in der History
wenn HeizungTagNacht<>1 dann
ASK05tmp :=1
Aktion:= "Taktung"
endewenn
Gehezu Schluss
Endewenn
**Hier wird der Zähler Kurztakt wieder auf Null gesetzt.
Wenn HeizungANAUS.Kurztakt>=2 und Zeit>HeizungANAUS.Absenkzeitbis dann
HeizungANAUS.Kurztakt:=0
Wenn HeizungTagNacht<> 1 dann
ASK05tmp :=0
Endewenn
Endewenn
** normale Laufzeiten der Heizung in der Woche
Wenn Tag =+ "1111100" dann
Wenn Uhrzeit>=HeizungWocheTag und nicht Uhrzeit>HeizungWocheNacht oder Uhrzeit>=HeizungWocheTag2 und nicht Uhrzeit>HeizungWocheNacht2 dann
TagModus:=1
**Aktion:= "Woche Heizung Ein"
sonst
TagModus:=0
**Aktion:= "Woche Heizung Aus"
EndeWenn
EndeWenn
Wenn Tag =+ "0000011" dann
Wenn Uhrzeit>=HeizungWochenendeTag und nicht Uhrzeit>HeizungWochenendeNacht oder Uhrzeit>=HeizungWochenendeTag2 und nicht Uhrzeit>HeizungWochenendeNacht2 dann
TagModus:=1
**Aktion:= "Wochenende Heizung Ein"
sonst
TagModus:=0
**Aktion:= "Wochenende Heizung Aus"
EndeWenn
EndeWenn
** Absenkung aktiviert; Warm genug, kein Leerlauf Heizung wenn beide Regler auf HeizungNachtabsenkung stehen
** oder manuell auf geringere Temperatur gestellt wurde.
Wenn RR2W < RR2W.Komforttemperatur und RR1W < RR1W.Komforttemperatur dann
ASK05Tmp:=1
Aktion:= "Regler Absenkung"
Endewenn
** Es ist Nacht
** Absenkung aktiviert, Shell freut sich nicht
Wenn TagModus = 0 dann
ASK05Tmp:=1
sonst
** Absenkung aktiviert; Warm genug, kein Leerlauf Heizung
Wenn RR1W.Temperatur > 22,2 und RR1W.Ventilpos < 40 und RR2W.Temperatur > 22,2 und RR2W.Ventilpos < 40 dann
ASK05Tmp:=1
Aktion:= "Räume zu warm"
EndeWenn
** Absenkung aktiviert; Ventile unter 5% ,kein Leerlauf Heizung
Wenn RR1W.Ventilpos < 5 oder RR1W.Ventilpos =-1 und RR2W.Ventilpos < 5 oder RR2W.Ventilpos =-1 dann
ASK05Tmp:=1
Aktion:= "Ventile zu "
EndeWenn
** Absenkung deaktiviert; für Tag zu kalt, Brenner gib Gas
Wenn RR1W.Temperatur < 21,2 oder RR2W.Temperatur < 21,2 dann
Wenn TagModus = 1 dann
ASK05Tmp:=0
Aktion:= "Räume zu kalt"
Endewenn
EndeWenn
Endewenn
Schluss:
** Damit nur bei Umschaltung ein Eintrag in History erfolgt
Wenn HeizungTagNacht<>ASK05Tmp dann
HeizungTagNacht:=ASK05Tmp
endewenn
** Nur dann, sonst kommen die Signale jede Minute!!
Wenn geschaltet(HeizungTagNacht) dann
erledigt(HeizungTagNacht)
warte("00:00:01")
sendewert(HeizungTagNacht)
warte("00:00:01")
sendewert(HeizungTagNacht)
Endewenn