Modul 39_ZHK.pm - Steuerung Zentralheizung (Heizkessel) mit FHEM v.0.9b

Begonnen von epsrw1, 27 Mai 2014, 12:38:51

Vorheriges Thema - Nächstes Thema

epsrw1

Aktuelle BETA-Version in der fußzeile dieses beitrages als download-link.
siehe auch: http://www.fhemwiki.de/wiki/ZHK

aktuelle version:

# $Id: 39_ZHK.pm 933 2014-06-17 18:03:00Z Florian Duesterwald $






Hallo zusammen,
ich habe mich entschlossen, die recht simple steuerung meiner steinzeit-zentralheizung etwas zu überarbeiten. hierzu soll ein neues modul entstehen. wer macht oder plant etwas ähnliches?
ich würde mich über mitstreiter ebenso freuen wie über feature-vorschläge :)

verschiedene steuerungen die tante gockel mir zum kauf vorgeschlagen hat haben nicht die features die ich mir so vorstelle. ganz zu schweigen von der kompatibilität mit sensoren,heizungsventilen,schaltaktoren...

meine aktuelle idee sieht vor, folgende punkte zu berücksichtigen:
außentemperatur (vorlauf-basiseinstellung)
vorlauf/rücklauf spreizung (zum nachjustieren)
holzofen (temperatursprung in vordefiniertem raum erkennen und vorlauf auf null drehen)
ventilpositionen: alle daten, 3 gewichtungsstufen (standard, ignore, priority) um einen "demand" wert zu ermitteln
brenner-taktung auswerten, threshold kesseltemp anpassen
warmwasser: tagesprogramm, erkennung temperatursturz (brenner sofort anfahren bei großer entnahme)
wer würde ein solches modul verwenden wollen, und was muß es dafür können? habt ihr irgendwelchen komplizierten speicher/zusatzpuffer oder zig-pumpen-installationen? wer kann mir sagen was ich vergessen bzw. nicht bedacht habe?
LG, florian

Ich habe keine Ahnung, aber davon wenigstens ganz viel

Thorsten Pferdekaemper

Hi,
ich muss ehrlich gestehen, dass ich mir Dein Coding nicht im Einzelnen betrachtet habe. Ich bin mir auch nicht ganz sicher, ob ich das per FHEM gesteuert haben möchte. Mein Ansatz ist eher der, dass ich einen Arduino in der Heizanlage habe, der die Auswertung der Temperaturfühler etc. macht und den Brenner etc. steuert. Das Teil bekommt dann seinen Input über FHEM.
Zitat von: epsrw1 am 27 Mai 2014, 12:38:51meine aktuelle idee sieht vor, folgende punkte zu berücksichtigen:
außentemperatur (vorlauf-basiseinstellung)
Ich glaube nicht, dass man den Vorlauf "heutzutage" noch über die Außentemperatur regeln sollte. Das geht IMHO besser durch Auswertung der Regelventile an den Heizkörpern.
Zitatvorlauf/rücklauf spreizung (zum nachjustieren)
Da gibt's ziemliche Unterschiede zwischen wirklich alten Anlagen und Brennwertkessel. Bei alten Anlagen muss der Rücklauf eine bestimmte Mindesttemperatur haben. Ansonsten kommt es zur Abgaskondensation, was aufs Material geht. Bei Brennwertkesseln will man gerade diese Kondensation, daher möglichst niedrige Rücklauftemperaturen. Daher ist bei Brennwertanlagen der Mischer auch nicht so wichtig (glaube ich).
Zitatholzofen (temperatursprung in vordefiniertem raum erkennen und vorlauf auf null drehen)
Wenn man die Vorlauftemperatur über die Heizkörperventile regelt, dann ergibt sich das von selbst. Wenn's sowieso warm genug ist, dann machen die Ventile zu.
Zitatventilpositionen: alle daten, 3 gewichtungsstufen (standard, ignore, priority) um einen "demand" wert zu ermitteln
Ist das nicht zu kompliziert gedacht?
Zitatbrenner-taktung auswerten, threshold kesseltemp anpassen
Ich bin mir nicht ganz sicher, was da gemeint ist. Wenn man keinen Brennwertkessel hat, dann sollte die Regelung sowieso über den Rücklauf gehen. Zu kalt ist schlecht und zu heiß auch. Die Rücklauftemperatur sollte wahrscheinlich nicht unter 55°C fallen. Da ist dann nach oben für den Vorlauf sowieso nicht mehr so viel Platz.
Bei Brennwert ohne Mischer (wie bei mir) ist die Kesseltemperatur sowieso so ziemlich dasselbe wie die Vorlauftemperatur.
Zitatwarmwasser: tagesprogramm, erkennung temperatursturz (brenner sofort anfahren bei großer entnahme)
Das kommt wieder ganz darauf an. Momentan ist mein Tagesablauf nicht sehr geregelt. Bei großer Entnahme bedeutet das wahrscheinlich, dass ich gerade dusche. Ich werde dann nicht gleich wieder duschen. Es wäre also eher sinnvoll, danach erstmal kein warmes Wasser zu machen.
Zitatwer würde ein solches modul verwenden wollen, und was muß es dafür können?
Ich fände die Idee einer "Open-Source Heizungsregelung" tatsächlich sehr interessant. Allerdings nicht als FHEM-Modul, sondern eher als Microcontroller-basierende Lösung (Arduino...).

Gruß,
   Thorsten
FUIP

epsrw1

#2
Hi,
Habe gerade Nachtdienst, daher nur kurze vorab antw. Von unterwegs, ausführlich folgt ggf nach.

Microcontroller oder Linux/fhem/Webserver ist eine wichtige Grundsatzfrage. Ich habe Erfahrung mit Linux und. Failsafe Installationen, falls Server 1 abkackt übernimmt Server 2 automatisch. Sowas schwebt mir auch vor für meine Heizung, sie soll schließlich nicht 99 sondern 100% zuverlässig laufen. Abgesehen davon daß ich sehr wenig Erfahrung mit arduinos habe, weiß ich nicht wie sich damit ein failover realisieren läßt. Gerne lasse ich mich eines besseren belehren!

VL außen temp Regelung brauch ich, um im Sommer Modus alle Ventile auf 100% zu stellen (Federn schonen) und den Vorlauf auf min, dafür ist die Ventil pos abhängige Std Steuerung zugunsten der Außentemp abgeschaltet.
Für Brennwert ohne Mischer muß man Mischer-Modul insgesamt abschalten können, das ist bereits vorgesehen.
Daß man die Steuerung dabei am RL orientieren muß hab ich bereits in die Optionen aufgenommen.
Die VL/RL Spreizung betrifft die tatsächliche Wärme Abnahme in der gesamt heizg, ich verwende sie um meinen berechneten Vorlauf dynamisch zu verbessern. Bin der Meinung daß voreingestellte (fantasie-)werte _immer_ falsch sind. Egal was ich vorher ausgerechnet habe, falls VL=RL (ungefähr) dann wurde null energie im ganzen haus abgenommen und ich muß meine formel/berechnungsgrundlagen für VL dynamisch verbessern (dito bei zuviel spreizung).
Holzofen Modul hat praktischen Hintergrund, der ist hier bei uns im EG und nachdem er an ist wird es ca 1h später im ganzen Haus viel zu warm. Daher will ich eine Regelung um den VL schon vorher runter zu drehen wenn die temp. Erkennen läßt daß der Ofen an ist, schon 1h bevor es überall zu warm wird und die Energie in Kessel und Leitungen verrottet.
Ventil pos hab ich komplett in den Daten, da sind Räume dabei die wärmer sein sollen und andere die ich niemals heize. Für denkbare Anwender die keinen hydraulischen Abgleich haben ist die hohe Abweichung zw den valve pos Standard.
Daher will ich eine dreistufige Gewichtung der valve pos durchrechnen bevor ich die Daten berücksichtige. Beispiel: WC neben Heizung ist immer warm genug und versaut im Winter den Durchschnitt der valve pos weil permanent null.
Die Brenner taktung geht in Richtung Verschleiß senken, jeder Start nimmt einen teil der Rest Lebensdauer weg. Soweit vermeidbar will ich das nicht. Den passenden Kompromiß für den attr wert muß jeder selbst entscheiden anhand ISO Qualität v Kessel u Pufferspeicher etc. . Bei mir erache ich min 5 minuten brenner ON und min 10 minuten OFF für sinnvoll, das sind aber im monent nur statistische erkenntnisse aus der "alten" steuerung. Es stört nicht wirklich diese Zeitspannen zu warten weil VL/RL/Ww gleich bleiben trotz künstlicher Wartezeiten.
Mein Warmwasser ist so eingestellt, daß es gerade so nicht reicht für die dusche. Es reicht die ersten zwei oder drei Minuten dann wird es knapp. A grundtemp permanent erhöhen oder B regeln. Da ich eher für b bin, erkenne ich arctan() der temp kurve des ww und setze frühzeitig <1min Kessel hoch und starte den Brenner. Das (teil)Modul dafür läuft schon.
das tagesprogramm bei mir ist nciht sonderlich restriktiv, aber ich unterstelle dass zb um 3 uhr morgens niemand im haus lust hat zu duschen, und mittags zb auch nicht. daher fahre ich zu diesen zeiten das WW noch weiter herunter. Ich habe eine art boost-knopf vorgesehen für spontane meinungsänderungen. (diff W/kessel erhöhen + WW pumpe an bringt ordentliche + meßbare resultate in <60sec.).

LG, florian
Ich habe keine Ahnung, aber davon wenigstens ganz viel

Thorsten Pferdekaemper

Zitat von: epsrw1 am 28 Mai 2014, 00:02:36Microcontroller oder Linux/fhem/Webserver ist eine wichtige Grundsatzfrage. Ich habe Erfahrung mit Linux und. Failsafe Installationen, falls Server 1 abkackt übernimmt Server 2 automatisch. Sowas schwebt mir auch vor für meine Heizung, sie soll schließlich nicht 99 sondern 100% zuverlässig laufen. Abgesehen davon daß ich sehr wenig Erfahrung mit arduinos habe, weiß ich nicht wie sich damit ein failover realisieren läßt. Gerne lasse ich mich eines besseren belehren!
Ich habe bereits etwas selbst gebasteltes auf Arduino-Basis in meine Heizanlage eingebaut. Das Ding hat ein Ethernet-Shield, mit dem es kommuniziert. Damit ist die Einbindung in FHEM recht einfach. Das nächste Mal würde ich es vielleicht per RS485 machen und das ganze dann vielleicht sogar Homematic-Wired kompatibel, aber das ist eine andere Geschichte.
Zur Zuverlässigkeit: Das ganze läuft jetzt seit ein paar Monaten. Es gab zwei Ausfälle: Einmal der Brenner und einmal das Netzwerk. Der Arduino ist so einfach gestrickt, dass ein Ausfall recht gering ist. Ich würde sogar davon ausgehen, dass ein "Failsafe-Mechanismus" selbst fehleranfälliger wäre als der Arduino. Ein Arduino hat kein Betriebssystem, keine Festplatte und man muss nicht dauernd auf irgendwelche Speichermedien schreiben, die das nur begrenzt lange aushalten.
Ich benutze sogar den Arduino, um die Heizanlage durchzustarten, wenn mal was hängt. (Das komplette Ding hängt an einem Relais, das vom Arduino gesteuert wird.)
Wenn das Netzwerk ausfällt, dann läuft die Regelung trotzdem weiter, da der Arduino das alleine kann. Er bekommt nur keinen neuen Soll-Vorlauf mehr. Momentan schalte ich da automatisch so um, dass der eigentliche Regler der Heizung wieder übernimmt, aber das baue ich gerade um.
ZitatVL außen temp Regelung brauch ich, um im Sommer Modus alle Ventile auf 100% zu stellen (Federn schonen) und den Vorlauf auf min, dafür ist die Ventil pos abhängige Std Steuerung zugunsten der Außentemp abgeschaltet.
Das mache ich momentan noch gar nicht, aber mein Plan dazu ist der: Wenn alle Ventile auf 0% sind und überall Ist >= Soll, dann geht die Pumpe aus, die Anlage schaltet auf "Sommer" und alle Ventile gehen auf 100%. Wenn irgendwo (für eine Weile) Ist < Soll wird, dann wird die Anlage wieder angefahren.
ZitatDie VL/RL Spreizung betrifft die tatsächliche Wärme Abnahme in der gesamt heizg, ich verwende sie um meinen berechneten Vorlauf dynamisch zu verbessern. Bin der Meinung daß voreingestellte (fantasie-)werte _immer_ falsch sind. Egal was ich vorher ausgerechnet habe, falls VL=RL (ungefähr) dann wurde null energie im ganzen haus abgenommen und ich muß meine formel/berechnungsgrundlagen für VL dynamisch verbessern (dito bei zuviel spreizung).
Bei mir läuft das momentan so: Wenn die Ventile weit offen sind, dann geht die Vorlauftemperatur hoch, wenn sie eher geschlossen sind, dann geht die Vorlauftemperatur runter. Dafür verwende ich ein PID20, welches als Istwert den Ventilöffnungsgrad des maximal geöffneten Ventils hat. Der Sollwert dafür ist 75%. Steuergröße ist die Soll-Vorlauftemperatur. Ich musste zwar ein bisschen mit dem Parametern spielen, aber das klappt ganz gut.
Im von Dir beschriebenen Fall wären alle Ventile zumindest relativ weit geschlossen. Dadurch schaltet sich bei mir die Heizung ab oder es geht zumindest die Vorlauftemperatur runter. 
ZitatHolzofen Modul hat praktischen Hintergrund, der ist hier bei uns im EG und nachdem er an ist wird es ca 1h später im ganzen Haus viel zu warm. Daher will ich eine Regelung um den VL schon vorher runter zu drehen
Ah jetzt ja. Sowas ähnliches könnte man auch mit der Außentemperatur oder dem Wetterbericht machen.
ZitatDaher will ich eine dreistufige Gewichtung der valve pos durchrechnen bevor ich die Daten berücksichtige. Beispiel: WC neben Heizung ist immer warm genug und versaut im Winter den Durchschnitt der valve pos weil permanent null.
Ich nehme daher die maximale Ventilposition über alle Ventile. Da fällt Dein WC dann automatisch raus.
ZitatDie Brenner taktung geht in Richtung Verschleiß senken, jeder Start nimmt einen teil der Rest Lebensdauer weg.
Das überlasse ich momentan noch der alten Regelung. Ich denke aber darüber nach, das zu ändern. Ich habe festgestellt, dass (selbst ohne Mischer) auch größere Schwankungen der Vorlauftemperatur nicht viel ausmachen. Das gleichen die Regelventile an den Heizkörpern locker aus, falls nötig.
Zitatdaher fahre ich zu diesen zeiten das WW noch weiter herunter. Ich habe eine art boost-knopf vorgesehen für spontane meinungsänderungen. (diff W/kessel erhöhen + WW pumpe an bringt ordentliche + meßbare resultate in <60sec.).
Ich überlege mir zurzeit, ob ich grundsätzlich so umstelle, dass man immer ein paar Minuten bevor man heißes Wasser braucht, auf einen Knopf drückt. ...oder zumindest die Temperatur soweit abfallen lässt, dass es innerhalb von ein paar Minuten auf "Duschtemperatur" ist.

Gruß,
    Thorsten
FUIP

epsrw1

#4
ZitatIch habe bereits etwas selbst gebasteltes auf Arduino-Basis in meine Heizanlage eingebaut. Das Ding hat ein Ethernet-Shield, mit dem es kommuniziert. Damit ist die Einbindung in FHEM recht einfach.
wo hast Du die grenze gesetzt zwischen entscheidungen die der arduino selbst trifft und die in fhem?
temp.fühler heizung am arduino, der dann brenner und pumpen an/aus schaltet, und fhem übermittelt nur die soll-werte? wenn ventile>x dann arduino solltemp plus 1?
bei mir hängen die temp.sensoren derzeit eh an einem arduino an der heizung. failsafe wäre der wohl schon, die idee gefällt mir mehr und mehr, und falls er wirklich mal abstürzt könnten sogar meine kinder die platine tauschen gegen einen bereitliegenden ersatz.
kannst Du mal deine arduino lösung verlinken? würde mich interessieren.
Zitatmein Plan dazu ist der: Wenn alle Ventile auf 0% sind und überall Ist >= Soll, dann geht die Pumpe aus, die Anlage schaltet auf "Sommer"
mein plan ist eher, grundsätzlich zu vermeiden dass viele ventile nahe 0 gehen sondern frühzeitig zuerst mit dem vorlauf immer weiter runter zu gehen, und dann die pumpe aus. wenn die vorlaufregelung gut funktioniert wird also ein ventil-null quasi nie erreicht werden weil schon vorher die energiezufuhr in den heizkreis gestoppt wird. ob man als kriterium wie Du soll>ist der räume ins modul füttert oder außen-t. oder kalender oder was auch immer sollte dem modul egal sein.
ZitatBei mir läuft das momentan so: Wenn die Ventile weit offen sind, dann geht die Vorlauftemperatur hoch
nur die ventilposition alleine sagt nicht aus wieviel wärme tatsächlich von den heizungen abgegeben wird. in einem einzelnen raum der ist=10° hat wird bei 100% ventil mehr energie abgenommen als bei ist=20°. mein bauchgefühl hält es für umständlich für jeden raum die diff. VL-t. und ist-t. durch irgendwelche berechnungen auszuwerten, ich würde daher eher den differenzwert aus VL und RL verwenden und mit einer einstellbaren gewichtung für die VL-soll-temp mit berücksichtigen.
stelle mir vor, daß zb. ein raum der eine zeitlang nicht genutzt wurde sehr kalt ist. wenn dieser dann aufgeheizt wird ist die ventilpos. bei 100%. statt abzuwarten daß die normale VL regelung in kleinen schritten langsam erhöht, erkenne ich daß der RL sehr kalt ist und mache einen größeren sprung nach oben bei der VL-temp. weiter kann man das auch noch verwenden um die durchflußmenge einer regelbaren heizkreispumpe dynamisch zu optimieren.
ZitatIch nehme daher die maximale Ventilposition über alle Ventile.
das würde ich als "confort" lösung betrachten. was ich suche ist ein mittelweg zwischen confort und energieverbrauch, daher der ansatz die daten aller ventile nach einstellbaren gewichtungen zu verwenden.
ZitatDie Brenner taktung ... ... Das überlasse ich momentan noch der alten Regelung.
die alte mechanische regelung hat eine fest eingestellte spreizung, d.h. zb. eingestellt 50° brenner startet bei 5° unterschreitung uns stoppt bei 5°überschreitung. wenn es sehr kalt ist bzw Du sehr viel heizt  geht der brenner dann ständig an und aus. soweit ich weiß ist die lebensdauer der hardware in zyklen angegeben, also wird dadurch der gesamt verfügbare verschleiß unnötig aufgebraucht (und auch unnötig strom für die starts verblasen). da ich sowieso schon mit einem relais das teil schalte, ist das feature schnell als code drin.
ZitatIch überlege mir zurzeit, ob ich grundsätzlich so umstelle, dass man immer ein paar Minuten bevor man heißes Wasser braucht, auf einen Knopf drückt. ...oder zumindest die Temperatur soweit abfallen lässt, dass es innerhalb von ein paar Minuten auf "Duschtemperatur" ist.
habe eine art winkelerkennung der temperaturkurve des warmwassers gerade in arbeit. mein WW ist so niedrig eingestellt, daß es gerade so nicht reicht für die gesamte dusche, dh. wenn ich den hahn aufdrehe und kaltes wasser nachströmt fällt die temp im speicher schnell ab. wenn frühzeitig nachgeheizt wird reicht es problemlos um die temp zu halten. das ist mir lieber als eine "knopf" lösung die ich unconfortabel finde.
sub WarmWasserRegler($){

return;
}

(http://screenshot.png)
gruß florian
Ich habe keine Ahnung, aber davon wenigstens ganz viel

Thorsten Pferdekaemper

Zitat von: epsrw1 am 28 Mai 2014, 14:24:32wo hast Du die grenze gesetzt zwischen entscheidungen die der arduino selbst trifft und die in fhem?
temp.fühler heizung am arduino, der dann brenner und pumpen an/aus schaltet, und fhem übermittelt nur die soll-werte?
Ich habe jetzt ein wenig vermischt, was ich schon habe und was ich momentan am überlegen/entwickeln bin. Momentan ist meine Lösung etwas speziell, da ich mich (noch) nicht traue die alte Regelung meiner Anlage komplett zu ersetzen. FHEM berechnet eine Soll-Vorlauftemperatur und daraus eine Außentemperatur, die dem alten Regler über ein digitales Poti vorgegaukelt wird. Wenn eine Weile von FHEM keine Befehle kommen, dann schaltet der Arduino in einen "autarken" Modus und gibt dem Regler die tatsächliche Außentemperatur weiter (oder so ungefähr).
In der Zukunft will ich es so machen, dass FHEM die Soll-Vorlauftemperatur, die Soll-Wassertemperatur und ob Heizbedarf besteht vorgibt. Alles weitere soll der Arduino machen.
Zitatwenn ventile>x dann arduino solltemp plus 1?
Wie gesagt, das geht über das Modul PID20 in FHEM. Das Ding versucht sozusagen einen Ventilöffnungsgrad von 75% hinzubekommen. Das ist wahrscheinlich nicht optimal, aber es war relativ einfach und es ist wirkungsvoll.
Zitatkannst Du mal deine arduino lösung verlinken?
Wie gesagt, ist bei mir etwas speziell...
Zitatmein plan ist eher, grundsätzlich zu vermeiden dass viele ventile nahe 0 gehen sondern frühzeitig zuerst mit dem vorlauf immer weiter runter zu gehen, und dann die pumpe aus.
Meine Ventile gehen zu, wenn die Solltemperatur erreicht ist (vielleicht nicht ganz sofort, aber im Prinzip schon). Da ich mit dem PID20 die Ventile auf 75% regle, geht die Vorlauftemperatur schon langsam runter, sobald das "maximale" Ventil auch nur ein bisschen unter 75% steht. Das geht dann so weit, bis Soll-Vorlauf unter 25° fällt, dann gaukle ich der Heizung "Sommer" vor.
Zitatnur die ventilposition alleine sagt nicht aus wieviel wärme tatsächlich von den heizungen abgegeben wird. in einem einzelnen raum der ist=10° hat wird bei 100% ventil mehr energie abgenommen als bei ist=20°.
Das stimmt, aber warum sollte das interessieren? Ich weiß, dass wenn die Ventilposition eine Weile lang (I-Anteil des PID20) auf 100% steht, dann muss mehr Energie her. Wie viel das absolut ist, interessiert mich nicht.
Zitatmein bauchgefühl hält es für umständlich für jeden raum die diff. VL-t. und ist-t. durch irgendwelche berechnungen auszuwerten, ich würde daher eher den differenzwert aus VL und RL verwenden und mit einer einstellbaren gewichtung für die VL-soll-temp mit berücksichtigen.
Das mit der Differenz zwischen VL und RL habe ich mir auch schon überlegt. Es wäre für mich aber schwieriger, da ich  noch keine direkte Kontrolle über die Pumpe habe.
Zitatstelle mir vor, daß zb. ein raum der eine zeitlang nicht genutzt wurde sehr kalt ist. wenn dieser dann aufgeheizt wird ist die ventilpos. bei 100%. statt abzuwarten daß die normale VL regelung in kleinen schritten langsam erhöht, erkenne ich daß der RL sehr kalt ist und mache einen größeren sprung nach oben bei der VL-temp.
Tatsächlich ist das Aufheizen bei mir etwas langsam. Es dauert ungefähr eine Stunde, bis der Vorlauf wesentlich angestiegen ist. Da wäre ein Vergleich von VL und RL wahrscheinlich wirklich sinnvoll.

Ich denke, dass es da ziemlich viel Möglichkeiten gibt und man wahrscheinlich die perfekte Lösung für alle nie hinbekommt.

Gruß,
    Thorsten
FUIP

Thorsten Pferdekaemper

Hi,
Mal eine ganz andere Frage: Wie hast Du die Brennersteuerung ("Feuerungsautomat") angeschlossen?
Gruß,
Thorsten
FUIP

epsrw1

#7
der ursprüngliche status bei mir war (feste gleichbleibende) kesseltemperatur mit poti an der heizung einstellbar, warmwasser über poti (auch fix) um die ladepumpe zu starten, und mischer über mechanische zeitschaltuhr für den VL.

status quo:
Kessel:
überhitzungssicherung und poti sind weiter angeschlossen. leitung ausgang poti zum brenner aufgetrennt und ein relais so eingeschleift daß es im ruhezustand durchleitet. ist der pi aktiv, klinkt er sich ein und schaltet ab bevor die mechanische überhitzungssicherung oder der poti greift. stürzt er mal ab, wird halt der kessel sehr warm.
es gibt noch einen mechanischen abschalter für das relais damit der schonsteinfegermeister seine messung machen kann (brenner-dauerbetrieb).

welche leitungen das sind, ergibt sich aus dem handbuch des brenners oder ist dort innendrin aufgedruckt. vorsicht da ist überall saft drauf! bei mir zb hat der brenner dauerstrom (braucht er für vor und nachlauf des lüfters) und schickt dann nochmal 230 zurück durch die temperatur poti und überhitzungsschutz. bekommt er von da strom zurück leitet die brennerinterne steuerung die startsequenz ein, kommt keiner mehr zurück gehts in die stopsequenz. an dieser stelle kann man auch die leitung brennerstörung abgreifen um sich zb von fhem benachrichtigen zu lassen bei mir sind da auch 230v drauf sobald der brenner rot zeigt.

warmwasser:
mechanischer poti in reihe mit relais, ähnlich wie beim brenner mit ruhezustand leitend (falls der pi mal aussteigt). die ladepumpe kann so ebenfalls mit dem pi abgeschaltet werden. zweites relais deaktiviert den mechanischen poti damit ich per zeitplan 1* im monat den wassertank kochen kann.

vorlauf:
alte mischer steuerung komplett entsorgt, viessmann platine abgeklemmt, direktanschluß an den eingängen des mischermotors (N und jeweils phase 230v für rechts und linkslauf). in die phasen R+L sind noch mechanische endschalter eingeschleift. position und ansteuerung macht mein modul 98_VORLAUFMISCHER mit lastrelais die am PiFace hängen. zusätzlich habe ich mit dem zahnriemen einer alten elektrischen schreibmaschine einen winkelgeber (Grayhill 25L) mit dem modul FRM_ROTENC für die ausgabe in fhem dran.

temperaturen:
1W sensoren (über arduino) in der hülse im kessel und im warmwasser, VL+RL+2.VL zwischen rohr und isolierung, außentemp an der unterseite des balkons, und noch einen in der nähe des holzofens

wenn der tag gekommen ist an dem ich den kessel austausche, wird die steuerung erhalten bleiben. da die zukünftige konfiguration unbekannt ist, versuche ich alles modular aufzubauen. zb läßt sich dann jederzeit ladung diverser pufferspeicher etc, solar, wassertaschen-ofen, oder was auch immer für wärmequellen nachrüsten. alles was ich an "von der stange" steuerungen kenne ist irgendwie limitiert und kommt für mich nicht wirklich in frage.

bild ist nicht ganz aktuell, zeigt aber en gros wie es hier funktioniert.
pi.JPG
gruß, florian
Ich habe keine Ahnung, aber davon wenigstens ganz viel

Thorsten Pferdekaemper

Aha, Du benutzt also zumindest noch die sicherheitsrelevanten Teile der alten Regelung. Damit sind wir ja gar nicht so weit auseinander. 
Wie behandelst Du die 230V-Rückmeldungen,  wie z.B. die Brennerstörung? Ich habe dazu folgende Schaltung gefinden: http://www.mikrocontroller.net/wikifiles/4/47/230V_am_uC_Port-Pin.png
Gruß,
Thorsten
FUIP

epsrw1

da ich nicht so sehr der lötkolben spezialist bin habe ich ein eltako 230v schaltrelais aus meiner wühlkiste verwendet, und schalte 5V damit
Ich habe keine Ahnung, aber davon wenigstens ganz viel

Thorsten Pferdekaemper

Das ist zumindest eine sichere Lösung. Allerdings habe ich mal gelesen, dass Relais schnell verschleißen, wenn man am Ausgang zu wenig Strom zieht. Möglicherweise ist das bei den verhältnismäßig seltenen Schaltvorgängen aber egal.
FUIP

epsrw1

#11
hier der aktuelle stand der heizungssteuerung. hat noch jemand wünsche oder gute ideen?
gruß, florian

sub AussentempRegler($){
sub HolzofenRegler($){
sub WarmWasserRegler($){
sub WwPumpStopStart($$){
sub WwBoostStartStop($$){
sub BrennerStopStart($$){
sub ZHK_Set($@){
sub ZHK_Get($@){


Readings:
   
     2014-06-01 13:35:57   zhkWwSollTemp   30


Attr:

"zhkBrennerTaktMinOnSec"=>"300",

Ich habe keine Ahnung, aber davon wenigstens ganz viel

epsrw1

hallo zusammen,
hier eine erste beta release mit den ersten 1000 zeilen code .... alles soweit lauffähig. wünsche und/oder fehlerhinweise wären sehr willkommen :)
LG, florian

# $Id: 99_ZHK.pm 5251 2014-06-03 17:12:00Z Florian Duesterwald $
####################################################################################################



Ich habe keine Ahnung, aber davon wenigstens ganz viel

epsrw1

teil 2 - datenlänge posting leider limitiert:
Internals:
e
Ich habe keine Ahnung, aber davon wenigstens ganz viel

epsrw1

in arbeit: http://www.fhemwiki.de/wiki/Zhk

und update:
# $Id: 99_ZHK.pm 5251 2014-06-03 21:55:00Z Florian Duesterwald $
####################################################################################################
Ich habe keine Ahnung, aber davon wenigstens ganz viel