FHEM Forum

FHEM => Automatisierung => Thema gestartet von: Mitch am 09 Dezember 2013, 18:22:55

Titel: Heizung bei Abwesenheit kurzfristig absenken
Beitrag von: Mitch am 09 Dezember 2013, 18:22:55
Hallo,

ich nutze PRESENCE, funktioniert soweit auch gut.

Ich möchte nun die Heizung absenken, wenn niemand im Haus ist.
Es gibt dazu eine Definition: AlleWeg

Hier mein Code dazu:
define HZabsenkung watchdog AlleWeg:ja 00:20 AlleWeg:nein set FHT_.* desired-temp 18.0
attr HZabsenkung regexp1WontReactivate


Nun meine Fragen dazu:

1. was passiert, wenn AlleWeg auf nein geschalten wird (sprich jemand kommt ins Haus)?
2. wie kann ich so schalten, dass die ursprünglichen Heizwerte der Räume wieder hergestellt wird?

Vielen Dank!
Titel: Antw:Heizung bei Abwesenheit kurzfristig absenken
Beitrag von: Tobias am 10 Dezember 2013, 07:36:43
meine Ventile laufen alle im AutomaticMode.
Wenn Abwesenheit setze ich alle VEntile auf "desiredTemperature eco". Wenn wieder wer nach Hause komt setze ich "desiredTemperature auto"
Titel: Antw:Heizung bei Abwesenheit kurzfristig absenken
Beitrag von: Mitch am 10 Dezember 2013, 08:46:05
Die Frage ist ja, WIE du das machst  ;)
Titel: Antw:Heizung bei Abwesenheit kurzfristig absenken
Beitrag von: Tobias am 10 Dezember 2013, 10:35:16
Was meinst du mit "WIE"?
Wird die Alarmanlage Extern AUS geschaltet, wird auch pro Thermostat ein "set <MyMaxTherm> desiredTemperature auto" abgesetzt.
Da ich 15 Thermostate habe, habe ich das mit einer structure gelöst.
Titel: Antw:Heizung bei Abwesenheit kurzfristig absenken
Beitrag von: Mitch am 10 Dezember 2013, 10:38:47
ok, Du hast ein anderes System.
Ich nutze FHT von ELV, da geht das wohl nicht ganz so einfach?
Titel: Antw:Heizung bei Abwesenheit kurzfristig absenken
Beitrag von: Paul am 10 Dezember 2013, 19:24:28
Doch geht schaust du hier:

http://www.fhemwiki.de/wiki/FHT80b_Automatik_setzen
Titel: Antw:Heizung bei Abwesenheit kurzfristig absenken
Beitrag von: Mitch am 10 Dezember 2013, 21:32:00
FHTnominal geht leider nicht für viele FHT gleichzeitig = FHTnominal(FHT._*)

Ich benutze ha Heat_Control, aber wenn ich die einschalte, gehen nicht direkt die Werte an die FHTs, sondern erst bei der im Heizplan eingestellten nächsten Änderung.

Jemand eine Idee?
Titel: Antw:Heizung bei Abwesenheit kurzfristig absenken
Beitrag von: Paul am 10 Dezember 2013, 21:40:43
Also ich habe 7 FTHs und da läuft alles gleichzeitig
Titel: Antw:Heizung bei Abwesenheit kurzfristig absenken
Beitrag von: Mitch am 10 Dezember 2013, 21:46:19
Hab das gerade mit Nominal nochmal getestet, er bügelt bei mir einen Wert über alle?

Aber egal, Danke trotzdem, ich habe jetzt eine Lösung über Heating_Control mit dem Befehl Heating_Control_SetAllTemps() gefunden.

Vielen Dank!
Titel: Antw:Heizung bei Abwesenheit kurzfristig absenken
Beitrag von: OiledAmoeba am 10 Dezember 2013, 21:56:48
Ich habe einen Dummy namens "Heizungen". Folgendes Notify reagiert auf "set Heizungen on":
Heizungen:on {
    my @@FHT=devspec2array("TYPE=FHT");;
    foreach(@@FHT) {
FHTnominal($_);;
}
}


Damit wird FHTnominal in einer Schleife einzeln pro FHT aufgerufen und setzt dort die korrekten Werte (dran denken: Bei Programmänderungen direkt am FHT die neuen Werte mit set geändertesFHT report1 255 aktualisieren)
Titel: Antw:Heizung bei Abwesenheit kurzfristig absenken
Beitrag von: Puschel74 am 10 Dezember 2013, 22:14:25
Hallo,

nur mal so als Einwurf aber ...

macht es energetisch überhaupt Sinn Funkverkehr zu generieren nur weil ich kurz einkaufen gehe?

Ich bin 2 Stunden weg - die FHT setzen die Temperatur runter (erzeugt Funkverkehr) - ich komm vom einkaufen zurück und darf mich erstmal einer "kalten" Wohnung erfreuen (ok, so schnell kühlt die nicht aus) aber dann bin ich wieder da und die FHT schalten wieder rauf (erzeugt wieder Funkverkehr).

Mir geht es hier nicht um den Funkverkehr aber macht es
a) energetisch gesehen Sinn für alles was <1 Tag ist die Heizung runter zu fahren und
b) überhaupt Sinn kurzfristig die Heizung runter zu fahren?

Du gehst z.B am Vormittag einkaufen - bist also nicht zuhause - Heizung fährt runter - 2 Stunden später kommst du zurück - Heizung fährt hoch.
Am Nachmittag um 14 Uhr gehst du weg weil du dich mit Kollegen triffst - Heizung fährt runter - um 14:15 kommst du zurück weil du was vergessen hast - Heizung fährt hoch - um 14:25 bist du wieder weg - Heizung fährt runter und um 23:45 kommst du zurück und hast ne "kalte" Bude.
Vorteil? In meinen Augen keiner
Nachteil? Funkverkehr ohne Ende - vllt. sogar LOVF-Meldungen im FileLog

Wenn du länger Abwesend bist macht sowas mit Sicherheit Sinn - das geht dann aber nicht über PRESENCE.
Ich hab das früher über einen Wandtaster gemacht - wir fahren in Urlaub, Taster Abwesend gedrückt - Heizung fährt runter.
Klar- wann soll die Heizung wieder hoch fahren???

Mittlerweile mach ich das über den Kalender.
Ich weiß ja wann ich wegfahr und wann ich zurück komme.
FHEM wertet den Kalender aus und fährt die Heizung an dem Morgen runter wenn ich wegfahre und 12 Stunden bevor ich nach Hause komme wieder hoch.
Vorteil: Die Hütte ist warm wenn ich nach Hause komme, Funkverkehr? Wenn ich weg bin keiner (ausser mal die Uhrzeit setzen damit die FHT nicht "einschlafen").
Nachteil: Wüsste ich grad keinen - der Kalender ist nicht Googles sondern mein eigener im internen LAN.

Aber das schöne an FHEM - jeder kann es so machen wie er will.

Grad gesehen: set geändertesFHT report1 255
Und genau sowas verursacht Funkverkehr ohne Ende.
Wenn ich das abhängig von PRESENCE mache darf ich mich nicht wundern wenn über kurz oder lang nichtsmehr geht.
http://www.fhemwiki.de/wiki/Kommunikationsprobleme_mit_FHT (http://www.fhemwiki.de/wiki/Kommunikationsprobleme_mit_FHT)

Grüße
Titel: Antw:Heizung bei Abwesenheit kurzfristig absenken
Beitrag von: Paul am 10 Dezember 2013, 23:10:56
Warum gibt es dann überhaupt Fhem bzw. Verschiedene  Heizungssyteme?
Was bringt es mir wenn ich 2Stunden ausser Haus bin die Temperatur herunter zu "drehen"?

Warum schalten diese Systeme die Temperatur schon runter wenn ich 5 Minuten das Fenster öffne?
Titel: Antw:Heizung bei Abwesenheit kurzfristig absenken
Beitrag von: OiledAmoeba am 10 Dezember 2013, 23:14:05
Zitat von: Puschel74 am 10 Dezember 2013, 22:14:25
Grad gesehen: set geändertesFHT report1 255
Und genau sowas verursacht Funkverkehr ohne Ende.
Wenn ich das abhängig von PRESENCE mache darf ich mich nicht wundern wenn über kurz oder lang nichtsmehr geht.
http://www.fhemwiki.de/wiki/Kommunikationsprobleme_mit_FHT (http://www.fhemwiki.de/wiki/Kommunikationsprobleme_mit_FHT)

Grüße

Da stimme ich Dir uneingeschränkt zu. Ich meinte hier: Wenn ich am FHT das Programm ändere, muss ich das Programm mit diesem Befehl an fhem senden, weil fhem sonst die neuen Schaltpunkte nicht mitbekommt (und damit FHTnominal nicht richtig schalten würde).
Das Ändern des Programms in fhem oder via andFHEM erzeugt nahezu denselben Verkehr. Mit der Ausnahme, dass auf diese Weise nur die geänderten Werte an die FHTs gehen.
Normalerweise ändere ich, wenn überhaupt, mit andFHEM. Ich habe aber ein "Problem-FHT", dass ich nur am Gerät programmieren kann, weil es die von fhem gesendeten langen Befehlsketten nicht verarbeitet und sich dann vom Funk verabschiedet, bis ich die Batterien rausgenommen habe...

Ach und deswegen habe ich auch einen Dummy Heizungen. Wenn der Kalender einen Urlaubseintrag hat, setzt ein Notify set Heizungen off. Dahinter steckt dann ein Notify, dass set TYPE=FHT mode manual desired-temp 14 sendet.
Wozu der Umweg über einen "Zwischendummy"?
Wenn ich zurückkomme, bevor der Urlaub-Ende-Event im Kalender kommt. So kann ich bei einem Urlaubsabbruch schnell von unterwegs set Heizungen on schicken und die Heizungen fahren auch vor Urlaubsende wieder hoch.
Titel: Antw:Heizung bei Abwesenheit kurzfristig absenken
Beitrag von: Puschel74 am 10 Dezember 2013, 23:44:34
Hallo,

ZitatWarum gibt es dann überhaupt Fhem bzw. Verschiedene  Heizungssyteme?
FHEM verbindet nur unterschiedliche Systeme verschiedener Hersteller unter einer Oberfläche.

ZitatWas bringt es mir wenn ich 2Stunden ausser Haus bin die Temperatur herunter zu "drehen"?
Energetisch gesehen - aus Sicht der Heizung - nichts.

ZitatWarum schalten diese Systeme die Temperatur schon runter wenn ich 5 Minuten das Fenster öffne?
Diese Syteme schalten nicht die Heizung runter sondern stellen sagen nur dem jeweiligen zugehörigen thermostat - das Fenster ist auf.
Der Thermostat macht dann das Ventil zu - und stellt sich auf die window-open-temp (so kenn ich das von den FHT).

Alle Automatisierungssysteme werden niemals in die Zukunft schauen können.
Woher soll das System wissen das du das Fenster nur für 5 Minuten auf machst und nicht für 8 Stunden?
Sowas kannst nur du dem System mitteilen - aktiv über einen Taster,Schalter,Button wie auch immer.

Aber das musst DU machen - das System wird das NIE erkennen können.
Selbst wenn das "System" mal irgendwann "selbstlernend" sein wird (Gott bewahre uns davor) wird es deine nächste Aktion (hoffentlich) nie voraussagen können.
Den das würde bedeuten das die "Maschine" weiß war wir machen wollen.

Wenn sich Probleme mit FHT ergeben dann sollte mal dieser Wiki-Eintrag durchgelesen werden (danke an Rudi - ich hatte kürzlich Probleme mit meinen 11 FHT)
Link: http://www.fhemwiki.de/wiki/Kommunikationsprobleme_mit_FHT (http://www.fhemwiki.de/wiki/Kommunikationsprobleme_mit_FHT)

Grüße

P.S.: Ein System ist hoffentlich nur so intelligent wie sein Programmiere und wird diesen NIE! übertreffen
Titel: Antw:Heizung bei Abwesenheit kurzfristig absenken
Beitrag von: Mitch am 12 Mai 2014, 14:48:17
So, lange ist es her....

Habe mich dem Thema nochmal angenommen, da ich auch zwischen zeitlich das ganze anders regeln wollte.
Ich hatte mir überlegt, dass ich am liebsten die Temp aller Räum unabhängig vom eingestellt Wert einfach um 1 Grad absenken möchte.

betateilchen hat mir hier super unter die Arme gegriffen: http://forum.fhem.de/index.php/topic,21769.0.html

Rausgekommen ist jetzt dieser Code:
define act_on_HZ.Absenkung_An notify HZ.Absenkung:on {
my @@FHT=devspec2array("TYPE=FHT");;
    foreach(@@FHT) {
my $t = ReadingsVal('$_','desired-temp',0)-1;;
fhem("set '$_' desired-temp ".$t);;
}
}

define act_on_HZ.Absenkung_Aus notify HZ.Absenkung:off Heating_Control_SetAllTemps()


Das ganze ist quasi nur auf dem Papier entstanden und noch ungetestet.
Ich benutze damit die Subroutinen Heating_Control und habe mich an FHTnominal orientiert.

Nun kann ich über den Schalter HZ.Absenkung ein und aus schalten.
Dieser kann widerum manuel per Wandtaster oder über das PRESENCE Modul getriggert werden.

Vielleicht könnten die Profis mal drüber fliegen, ob das so machbar ist.
Titel: Antw:Heizung bei Abwesenheit kurzfristig absenken
Beitrag von: strauch am 12 Mai 2014, 15:39:10
Ich frage mich warum du nur um 1°C absenken willst. Wenn du ne fröstelige Tochter hast die immer auf 23°C stellt, dann fände ich 22°C absenkung wenn jemand nen halben Tag weg ist zu wenig. Ich senke meine alle auf 17°C ab und fahre gut damit.
Titel: Antw:Heizung bei Abwesenheit kurzfristig absenken
Beitrag von: Mitch am 12 Mai 2014, 15:50:19
Ups, jetzt habe ich auf Deinen anderen Post geantwortet und schon war er weg  :o

Wenn meine Tochter auf 23 Grad stellt bekommt sie sowieso ärger - viel zu heiß!!

Alle pauschal auf 17 Grad finde ich sehr unglücklich, weil ich in jedem Zimmer unterschiedliche Temperaturen habe.
z.B. ist im Waschkeller 8 Grad, weil Fenster offen, dann würde mir FHEM die 17 Grad auf den FHT "bügeln".
Oder am Dachboden sind 14 Grad eingestellt, usw.

Deswegen will ich alle FHTs um 1 Grad absenken und zwar von dem aktuell eingestellten Wert.

BTW finde ich 17 Grad im Winter viel zu kalt und die Energieeinsparung geht durch das wieder Aufheizen verloren.

ZitatGenerell gilt: Jedes Grad weniger spart rund sechs Prozent der aufgewendeten Heizenergie. Und logischerweise auch die entsprechenden Kosten.

lesen Sie weiter: http://www.utopia.de/ratgeber/sieben-wochen-nachhaltig-leben-tipps-ratgeber-gruener-leben-heizen-sparen

Es geht mir aber gar nicht vorrangig um die Kosteneinsparung, sondern einfach um ein kleinen Beitrag zum Umweltschutz zu tätigen.


Grundsätzlich habe ich auch niedrigere Temperaturen, wenn niemand zu Hause ist, also geplant.
Mir geht es ja eher um die spontanen Abwesenheiten.
Und dass mit Geofancy (und watchdog) geregelt, dass nach einer bestimmt Abwesenheit von z.B. 30 Minuten die Heizung um 1 Grad runter fährt.
Titel: Antw:Heizung bei Abwesenheit kurzfristig absenken
Beitrag von: strauch am 12 Mai 2014, 16:33:38
Zitat von: Mitch am 12 Mai 2014, 15:50:19
Ups, jetzt habe ich auf Deinen anderen Post geantwortet und schon war er weg  :o

Wenn meine Tochter auf 23 Grad stellt bekommt sie sowieso ärger - viel zu heiß!!

okok :-), sorry wollte dann doch hier schreiben und nicht in dem anderen Beitrag damit es nicht zu durcheinander wird.

Zitat von: Mitch am 12 Mai 2014, 15:50:19Alle pauschal auf 17 Grad finde ich sehr unglücklich, weil ich in jedem Zimmer unterschiedliche Temperaturen habe.
z.B. ist im Waschkeller 8 Grad, weil Fenster offen, dann würde mir FHEM die 17 Grad auf den FHT "bügeln".
Oder am Dachboden sind 14 Grad eingestellt, usw.

Also zum einen könntest du ja individuelle Tag und Absenktemperaturen haben auf die du einstellst zum anderen (was du ja sowieso brauchst wenn du weiter runterfährst, wenn jemand weiter/länger weg ist. Ich habe ich die Vermutung das im Keller sowieso nicht wirklich geregelt wird. Ich hab da auch gar keine Regler bisher installiert wo es nur darum geht das eine Temperatur Tag wie Nacht gehalten wird.


Zitat von: Mitch am 12 Mai 2014, 15:50:19BTW finde ich 17 Grad im Winter viel zu kalt und die Energieeinsparung geht durch das wieder Aufheizen verloren.

Ich würde gerne mal für solche Aussagen Messwerte sehen. Gelesen habe ich das schon oft. Mir ist die Aussage zu Pauschal, wenn jemand 2 Wochen weg ist, ist es das bestimmt nicht. Das gleiche Thema gibt es z.B. auch bei Siebträger Kaffeemaschinen, ab wann lohnt es sich die Maschine abzuschalten und wann an zu lassen. Letztendlich hab ich noch nicht verstanden, warum Temperatur halten weniger Energie verbrauchen soll, als aufheizen und absenken, da ich nach meinem Verständnis ja eine gewisse Menge an Energie benötige um Wasser auf eine Temperatur zu bringen die ja im Verhältnis zur Umgebung steht. Mal schauen ob ich zu solchen Dingen Messwerte im Internet finde.

Ich finde 17°C beim Schlafen z.B. durchaus angenehm :-)
Titel: Antw:Heizung bei Abwesenheit kurzfristig absenken
Beitrag von: Mitch am 12 Mai 2014, 16:40:32
Ich schalte auch im Keller, schon allein wegen der Gefahr von Schimmel.
Ansonsten habe ich noch einen Wohnkeller-Raum, der wird natürlich auch geheizt.

Wirklich Testwerte der Einsparung kenne ich auch nicht, nur eben die Angaben von 1 Grad = 6% etc.

Aber es ist schon logisch, dass es weniger Energie kostet, eine Temperatur zu halten, als von unten rauf zu heizen. Dazu gibt es schon belastbares Material.

Und ich habe im Schalzimmer auch lieber kühle 17 Grad, wobei es bei mir meist 18 bis 19 sind, aber die ventile mache ich auf jeden Fall zu.



Aber zurück zu meinem Script, kann den mal bitte jemand "analysieren", ob das so passen würde?
Titel: Antw:Heizung bei Abwesenheit kurzfristig absenken
Beitrag von: strauch am 12 Mai 2014, 17:12:00
Zitat von: Mitch am 12 Mai 2014, 16:40:32
Aber zurück zu meinem Script, kann den mal bitte jemand "analysieren", ob das so passen würde?

Sorry fürs Offtopic. hab noch nen Bericht dazu gefunden: http://www.sueddeutsche.de/wissen/heizen-und-energiesparen-wie-warm-muss-die-leere-wohnung-sein-1.1590673 .

Zum eigtl. Thema kann ich nicht viel Beitragen. Schaut beim drüber schauen gut aus, aber ich bin auch nicht besonders gut in Perl.
Titel: Antw:Heizung bei Abwesenheit kurzfristig absenken
Beitrag von: Mitch am 12 Mai 2014, 17:48:20
Interessant und zeigt, dass auch die "Experten" unschlüssig sind.
Titel: Antw:Heizung bei Abwesenheit kurzfristig absenken
Beitrag von: Dietmar63 am 12 Mai 2014, 18:32:20
Sieh dir Heating_Control an.
Damit kannst für jede Heizung eigene Profile anlegen, und einfach hin und Herschalten.

Bei Abwesenheit gilt dann ein Profil, das je nach Wunsch stark oder weniger stark abgesenkt ist

Bei mir gibt es für jeden Raum die Einstellung an, aus, Uebergang jeweils in Kombination mit Wochenende bzw. Kein Wochenende.

Ich schalte per dummy. Anwesenheitserkennung geht natürlich auch.
Titel: Antw:Heizung bei Abwesenheit kurzfristig absenken
Beitrag von: Mitch am 12 Mai 2014, 19:21:43
Ich nutze doch Hearing_Control, aber damit kann ich auch nicht alle FHT, egal auf was sie stehen (Temp, Fenster auf, usw.), um 1 Grad runter fahren.
Oder hab ich da etwas verpasst?

Ich will ja kein weiteres Profil anlegen (habe aktuell drei Stück), sondern gezielt 1 Grad absenken.
Und danach wieder auf den letzten eingestellten Wert.
Titel: Antw:Heizung bei Abwesenheit kurzfristig absenken
Beitrag von: Mitch am 12 Mai 2014, 19:28:11
Hab jetzt mal am "lebenden Objekt" getestet:

define HZ.Absenkung dummy
attr HZ.Absenkung webCmd on:off
attr HZ.Absenkung room Zentrale

define act_on_HZ.Absenkung_An notify HZ.Absenkung:on {\
my @@FHT=devspec2array("TYPE=FHT");;\
        foreach(@@FHT) {\
my $t = ReadingsVal('$_','desired-temp',0)-1;;\
fhem("set '$_' desired-temp ".$t);;\
}\
}

define act_on_HZ.Absenkung_Aus notify HZ.Absenkung:off Heating_Control_SetAllTemps()


bringt bei HZ.Absenkung on folgende Fehlermeldung für jeden FHT:
set 'FHT_Bad' desired-temp -1 : Please define 'FHT_Bad' first
Obwohl ja der FHT definiert ist?  :o

EDIT: okay, die Hochkomas ware falsch:
define act_on_HZ.Absenkung_An notify HZ.Absenkung:on {\
my @@FHT=devspec2array("TYPE=FHT");;\
        foreach(@@FHT) {\
my $t = ReadingsVal('$_','desired-temp',0)-1;;\
fhem("set '$_' desired-temp ".$t);;\
}\
}

define act_on_HZ.Absenkung_Aus notify HZ.Absenkung:off Heating_Control_SetAllTemps()


Jetzt habe ich das Problem, das nicht desired-temp minus 1 gesendet wird, sondern -1??

set FHT_Bad desired-temp -1 : Invalid temperature -1, choose one of on off 6.0 6.5 7.0 7.5 8.0 8.5 9.0 9.5 10.0 10.5 11.0 11.5 12.0 12.5 13.0 13.5 14.0 14.5 15.0 15.5 16.0 16.5 17.0 17.5 18.0 18.5 19.0 19.5 20.0 20.5 21.0 21.5 22.0 22.5 23.0 23.5 24.0 24.5 25.0 25.5 26.0 26.5 27.0 27.5 28.0 28.5 29.0 29.5 30.0
Titel: Antw:Heizung bei Abwesenheit kurzfristig absenken
Beitrag von: Puschel74 am 12 Mai 2014, 19:34:48
Hallo,

nur mal ins Blaue geraten:
my $t = (ReadingsVal('$_','desired-temp',0)-1);;\
Was passiert damit?

Grüße
Titel: Antw:Heizung bei Abwesenheit kurzfristig absenken
Beitrag von: Mitch am 12 Mai 2014, 19:37:17
FHEM soll für den FHT die desired-temp einlesen und davon 1 abziehen und das Ergebnis soll dann in der Variablen $t stehen.
Titel: Antw:Heizung bei Abwesenheit kurzfristig absenken
Beitrag von: Puschel74 am 12 Mai 2014, 19:42:24
Hallo,

ist mir schon klar.
War an meinem Beispiel was unverständlich?
Ich hab nur ( und ) eingefügt und dich gebeten das mal zu versuchen  ;)

Grüße
Titel: Antw:Heizung bei Abwesenheit kurzfristig absenken
Beitrag von: Mitch am 12 Mai 2014, 19:48:22
Sorry, hab die Klammern nicht gesehen  :-[

Ich denke auch, dass es an den Klammern liegen muss, aber leider hat Deine Idee auch nicht funktionier.

Habe jetzt folgendes -ohne Erfolg- getestet:
my $t = ReadingsVal(('$_','desired-temp',0)-1)

Bei beiden Versionen:
act_on_HZ.Absenkung_An return value: Not enough arguments for main::ReadingsVal at (eval 177385) line 4, near "1)"
Titel: Antw:Heizung bei Abwesenheit kurzfristig absenken
Beitrag von: Dietmar63 am 12 Mai 2014, 19:59:01
Heating_Control bietet keine einfache Möglichkeit der Absenkung. Man müsste ein neues Profil anlegen.

Man kann aber mit Heating_Control_setAllTemps() alle HC anweisen, nach einer Absenkung Phase die Aktuelle Temperatur wieder einstellen.
Titel: Antw:Heizung bei Abwesenheit kurzfristig absenken
Beitrag von: Mitch am 12 Mai 2014, 20:19:49
So, es klappt nun:
define act_on_HZ.Absenkung_An notify HZ.Absenkung:on {\
my @@FHT=devspec2array("TYPE=FHT");;\
        foreach(@@FHT) {\
my $t = ReadingsVal("$_", "desired-temp", "")-1;;\
fhem("set $_ desired-temp ".$t);;\
}\
}


und ja, ich nutze zum "Wieder-Rauffahren" ja Hearing_Control:
Heating_Control_SetAllTemps()
Titel: Antw:Heizung bei Abwesenheit kurzfristig absenken
Beitrag von: Puschel74 am 12 Mai 2014, 20:39:06
Hallo,

ZitatSo, es klappt nun:
Na das ist ja mal was - aber macht ist den Funkverkehr wirklich wert wegen 1°C?

strauch hatte ja vorhin mal gepostet:
ZitatLetztendlich hab ich noch nicht verstanden, warum Temperatur halten weniger Energie verbrauchen soll, als aufheizen und absenken, da ich nach meinem Verständnis ja eine gewisse Menge an Energie benötige um Wasser auf eine Temperatur zu bringen die ja im Verhältnis zur Umgebung steht.
@strauch
Werte sind nur Beispielwerte!

Aufheizen benötigt immer mehr Energie als die Temperatur zu halten da das Medium ja nach dem aufheizen nichtmehr 15 °C hat sondern idR etwas unter 35 °C.
Bei mir sind es im Heizkessel z.B.:
Wenn ich die Heizung komplett ausschalte fällt die Kesseltemperatur nach einer endlichen Zeit auf die Raumtemperatur = 15 °C (bei uns im Heizraum).
Nun gehe ich her und gebe der Heizung die Freigabe zum aufheizen - Temp. = ~35°C
Temp.Diff = 20 °K zum aufheizen
Wenn die Heizung 35 °C erreicht hat schaltet sie ab (inkl. "Nachwärme" komme ich dann auf ~ 40°C).
Die Temperatur fällt dann auf ~30°C und die Heizung schaltet wieder ein.
Temp.Diff = 5 °K
Nun sind nur noch 5 °K zum aufheizen - das benötigt natürlich weniger Energie als 20 °K - in diesem unseren Fall weniger Gas.

Grüße
Titel: Antw:Heizung bei Abwesenheit kurzfristig absenken
Beitrag von: Mitch am 12 Mai 2014, 20:44:38
Naja, sagen wir mal so, wenn der Script zum tragen kommt, ist sowieso niemand da, also auch kein anderer Funk.

Ob es energetisch etwas bringt? Kann ich nicht sagen, aber mein "Umweltgewissen" beruhigt es etwas.

Titel: Antw:Heizung bei Abwesenheit kurzfristig absenken
Beitrag von: Puschel74 am 12 Mai 2014, 20:51:26
Hallo,

es geht mir nur um "anderen Funk".
Es geht mir um LOVF-Meldungen  ;)

Mein Umweltgewissen könnte ich mit -1°C nicht beruhigen  ;)

Grüße
Titel: Heizung bei Abwesenheit kurzfristig absenken
Beitrag von: Mitch am 12 Mai 2014, 20:58:34
Ist schon klar, dass es um LOVF geht, meinte ja nur, dass dann niemand da ist und die Heizung bedient, also nur der "übliche" Abfragetraffic.

Bzgl. umweltgewissen denke ich immer, lieber kleine Schritte als keine.
Die Summe macht es ;)
Titel: Antw:Heizung bei Abwesenheit kurzfristig absenken
Beitrag von: Dietmar63 am 12 Mai 2014, 21:51:41
mit

define creditTest             at +*00:03:00 { my ($e) = (CommandGet("","CUL_0 credit10ms") =~ /=> ([0-9]{1,3})$/);; Log (3, "credit is low: $1") if($1<500)} ;

könnt ihr prüfen ob bei euch die Gefahr für LOVF besteht. Probleme gibt es eigentlich nur, wenn versehentlich die FHT immer wieder geschaltet werden, oder wenn Geräte zu oft geschaltet werden(Programmierfehler, Endlosschleifen).

Ich habe meinem FHT einen Softpuffer verpaßt, so dass Kaskaden an Befehlen , die an FHT gerichtet sind, nicht gleich zum Absturz führen. Die Pufferung erfolgt dann in fhem.



11_FHT.pm:


sub
FHT_Set($@)

...

####
#am Ende von FHT_Set()
####
    $io->{SOFTBUFFER}{$key} = \%h;
    if($io->{TYPE} eq "CUL") {
       doSoftBufferCUL($io);
    } else {
       doSoftBuffer($io);
    }

...
#####################################
# Check the softwarebuffer and send/resend commands
sub
doSoftBufferCUL($)
{
  my ($io) = @_;

  my $necessaryCredit = AttrVal($io->{NAME}, "FHT_necessaryCredit", 200);
  my $ll              = GetLogLevel($io->{NAME},5);
  my $now             = gettimeofday();
  my $waitTime        = 0;

  # a second command of "desire-temp" overrides a previous one
  my %doppelt  = ();
  foreach my $key (keys %{ $io->{SOFTBUFFER} }) {
     my $h    = $io->{SOFTBUFFER}{$key};
     my $name = $h->{HASH}->{NAME};
     my $cmd  = $h->{CMD};

     if ($cmd =~ /^desired-temp.*/) {
        if (defined( $doppelt{$name}{DESIRED})) {
            my $dkey = $doppelt{$name}{DESIRED};
            Log 2, "FHT_CUL_SendQueueHandler: New $cmd for $name overrides old value in softbuffer!";
            delete($io->{SOFTBUFFER}{$dkey});
        }
        $doppelt{$name}{DESIRED} = $key;
     }
  }

  # is still a command in the buffer
  my ($buffer) = (CommandGet("","$io->{NAME} raw T02") =~ /[^ ]* [^ ]* => (.*)/);
  $waitTime = 30 if ($buffer ne "N/A");

  # check enought credit to avoid LOVF
  if ($waitTime==0) {
      my ($credit10ms) = (CommandGet("","$io->{NAME} credit10ms") =~ /[^ ]* [^ ]* => (.*)/);

      $waitTime = ($necessaryCredit - $credit10ms);
      $waitTime  = 0 if ($waitTime < 0);
      $waitTime += 5 if ($waitTime > 0);   # five credits more, to be sure to have enought credits after wakeup
      if ($waitTime > 0) {
         Log 2, "FHT_CUL_SendQueueHandler: Not enough credit! credit10ms is $credit10ms, but we need $necessaryCredit. Waiting $waitTime seconds.";
      }
  }

  # put first command from softbuffer into CUL buffer
  if ($waitTime==0) {
    foreach my $key (sort keys %{ $io->{SOFTBUFFER} }) {

       my $h    = $io->{SOFTBUFFER}{$key};
       my $name = $h->{HASH}->{NAME};

       IOWrite($h->{HASH}, "04", $h->{ARG});
       Log GetLogLevel($name,2), "FHT set $name $h->{CMD}";

       delete($io->{SOFTBUFFER}{$key});
       $waitTime = 120;                # next command in 115 + 0.5*(last fhtid-nibble 5 Sek.) Sekunden
       last;
    }
  }

  my $anzCommands = keys (%{$io->{SOFTBUFFER}});
  Log 3, "FHT_CUL_SendQueueHandler: " . $anzCommands . " FHT-Commands are waiting in softbuffer" if ($anzCommands>3);

  if(keys (%{$io->{SOFTBUFFER}}) && !$io->{SOFTBUFFERTIMER}) {
    $io->{SOFTBUFFERTIMER} = 1;
    InternalTimer($now+$waitTime, "softBufferTimer", $io, 0);
  }
}
Titel: Antw:Heizung bei Abwesenheit kurzfristig absenken
Beitrag von: strauch am 13 Mai 2014, 09:44:25
@Puschel, das ist mir auch alles klar. Was hier fehlt ist die zeitliche Komponente. Ich denke mit das so: Der Raum verliert eine bestimmte Menge an Wärme nach draußen die ich irgendwie nachführen muss und ob ich jetzt alle 30min 5K nachheize oder alle 2h 20K nachheize, kommt beides über 2h gesehen auf 20K.
Evtl. ist der Wärmeverlust bei geringeren Differenzen zwischen innen und Außentemperatur geringer, dann hätte das abkühlen sogar Vorteile, weil der Raum immer langsamer abkühlt und sonst würde ja auch eine geringere Temperatur nicht 6% Energie sparen.

Will z.B. heißen ich heize entweder alle 30min 5K nach, oder aber nach 2h hat der Raum erst 15K verloren die ich nachheizen muss. Und meine Messkurven sprechen sehr dafür, das ein Raum immer langsamer die Wärme verliert.

Ich werde das mal mit einem Strommessgerät an meiner Kaffeemaschine ausprobieren.
Titel: Antw:Heizung bei Abwesenheit kurzfristig absenken
Beitrag von: Mitch am 13 Mai 2014, 10:58:49
Also, wie gesagt, ich denke mir, meine persönliche Meinnung, dass es erstens besser und effektiver ist, eine Temperatur zu halten. Auf der anderen Seite bringt eine leichte Absenkung von 1 bis 2 Grad bestimmt eine Einsparung und das wieder Aufheizen braucht minimal mehr Energie, da ja die Räume viel langsamer auskühlen.

Schön wäre schonmal eine wirklich belastbare Studie zu diesem Thema.
Titel: Antw:Heizung bei Abwesenheit kurzfristig absenken
Beitrag von: Thorsten Pferdekaemper am 13 Mai 2014, 11:15:00
Hi,
das hier ist ganz interessant:
http://www.energieverbraucher.de/de/Nachtabsenkung__1838/ (http://www.energieverbraucher.de/de/Nachtabsenkung__1838/)
Spezielle diese Aussagen hier:
ZitatDie einzige Messung zu dem Thema, so Eicke-Hennig, stammt aus dem Jahr 1947.
ZitatDie Einsparung, von denen wir ausgehen, wurden nicht gemessen, sondern vor etwa 15 Jahren berechnet.
Ich gehe davon aus, dass man dann etwas spart, wenn sich die Temperatur tatsächlich auf die Absenk-Temperatur einpendelt.  Ob das wirklich passiert, kann ein FHEM-Nutzer ja leicht sehen.
Ansonsten kommt es wohl auch darauf an, wie die Heizanlage geregelt ist. Bei mir geht durch das Aufheizen die Vorlauftemperatur hoch, was größere Verluste mit sich bringt.
Gruß,
    Thorsten