Fussbodenheizung mit PWM steuern

Begonnen von jamesgo, 24 September 2015, 08:28:49

Vorheriges Thema - Nächstes Thema

jamesgo

Mach doch mal einen Restart von fhem. Was steht da alles im log?

Nachdem du WZ_Heizung als actor definiert hast, sollte auch "set WZ_Heizung on" bzw. "set WZ_Heizung off" funktionieren.
Ist das der Fall?

Grüße
Andy

elral

Hallo Andy,

"set WZ_Heizung on/off" funktioniert, keine besonderen Einträge im Log nach einem Restart.
Bzgl. PWM/PWMR kommen nur diese hier:
2016.04.26 07:59:31 3: PWM Define DG_HeizRegler
2016.04.26 07:59:43 3: CUL_HM set WZ_Heizung statusRequest

Heute morgen habe ich aber die Commandref nochmals gelesen. Dabei ist mir aufgefallen, dass ich autoCalcTemp=1 bei beiden PWMR, die ihre Sollwerte von einem Thermostaten bekommen, nicht gesetzt habe.
Das habe ich jetzt ergänzt und die Solltemperatur kurzzeitig erhöht. Und schon sieht der Log Eintrag richtig aus :)
2016.04.26 08:10:22 3: CUL_HM set WZ_Thermostat_Climate desired-temp 22.0
2016.04.26 08:11:41 3: CUL_HM set WZ_Heizung on
2016.04.26 08:11:41 2: PWMR_SetRoom WZ_HeizungRegler: set WZ_Heizung on
2016.04.26 08:19:11 3: CUL_HM set WZ_Thermostat_Climate desired-temp 17.0
2016.04.26 08:22:41 3: CUL_HM set WZ_Heizung off
2016.04.26 08:22:41 2: PWMR_SetRoom WZ_HeizungRegler: set WZ_Heizung off

Interessant finde ich aber, dass er ohne dieses Attribut ein paar mal taktet und dann aufhört.

Ich bin gespannt, was heute nachmittag dann passieren wird (tagsüber Absenkung).

Danke und Grüße

Ralf
Raspberry Pi (Modell 3) als FHEM-Server,  1x HMLAN, 2x HM-TC-IT-WM-W-EU, 1x HM-LC-SW1-FM, 5x HM-SEC-SCo, 3x HM-LC-Bl1PBU-FM, 2x  HM-SCI-3-FM , 1x HM-OU-CFM-PL, 1x HM-WDS30-OT2-SM, 1x HM-LC-Sw4-DR , 1x WDE1

elral

Tja, leider zu früh gefreut.
Das gleiche Verhalten wie Sonntag vormittag nur heute dann am Nachmittag.
Ich habe auch noch die gesamte fhem.cfg durchgeschaut ob ein at oder notify auf WZ_Heizung wirkt, aber da ist nichts.
Zwischenzeitlich kamen auch keine Log Einträge mehr vom PWMR, aber das war nun hoffentlich das Attribut verbose=0. Keine Ahnung wie das dahin gekommen ist, aber nach dem löschen kommen nun Log Einträge vom PWMR (mal sehen wie lange).
Damit es nicht zu warm wird, habe ich ersteinmal ein notify angelegt das bei >21,5°C den Aktor ausschaltet.

Hast Du noch eine Idee?

Danke und Grüße

Ralf
Raspberry Pi (Modell 3) als FHEM-Server,  1x HMLAN, 2x HM-TC-IT-WM-W-EU, 1x HM-LC-SW1-FM, 5x HM-SEC-SCo, 3x HM-LC-Bl1PBU-FM, 2x  HM-SCI-3-FM , 1x HM-OU-CFM-PL, 1x HM-WDS30-OT2-SM, 1x HM-LC-Sw4-DR , 1x WDE1

jamesgo

plotte doch auch noch "desired-temp-used" und "temperature" von dem Raum.

elral

"desired-temp-used" war schon enthalten (dunkelrot), ist um weinige Minuten verzögert zur Solltemperatur des Thermostaten.
Ich hänge nochmal ein Plot von gestern an, zusätzlich noch temperature vom PWMR. Die Kurve liegt ziemlich genau über der Ist-Temperatur des Wandthermostaten.
Um kurz nach 18 Uhr hat das notify bei >22°C den Aktor ausgeschaltet.
Mich wundert, das Energy-used komplett auf 100 hoch läuft.

Danke und Grüße

Ralf
Raspberry Pi (Modell 3) als FHEM-Server,  1x HMLAN, 2x HM-TC-IT-WM-W-EU, 1x HM-LC-SW1-FM, 5x HM-SEC-SCo, 3x HM-LC-Bl1PBU-FM, 2x  HM-SCI-3-FM , 1x HM-OU-CFM-PL, 1x HM-WDS30-OT2-SM, 1x HM-LC-Sw4-DR , 1x WDE1

jamesgo

Wenn dauerhaft "Ist < Soll", dann wird der I-Anteil der PID Regelung immer größer (mit jeder Berechnung) und damit energy-used zwangsläufig 100%.

elral

Tja, aber es ist doch Ist>Soll.
Der P-Anteil geht auch auf Null, der I-Anteil auf -1 und PID PWM-Pulse auf 0 zwischen 17:00 Uhr und 18:00 Uhr.

Ich hatte das bisher auch so verstanden, dass durch die Begrenzung MaxPulse = 0.85 energy-used dementsprechend auch begrenzt ist und der Aktor immer mal wieder ausgeschaltet wird. Das kann ich im Badezimmer auch schön sehen, allerdings steigt nach Stunden energy-used auch auf 100 und der Aktor bleibt dauerhaft an (muss er auch, da momentan wahrscheinlich ein Problem mit dem Durchfluss vorhanden ist).

Grüße

Ralf
Raspberry Pi (Modell 3) als FHEM-Server,  1x HMLAN, 2x HM-TC-IT-WM-W-EU, 1x HM-LC-SW1-FM, 5x HM-SEC-SCo, 3x HM-LC-Bl1PBU-FM, 2x  HM-SCI-3-FM , 1x HM-OU-CFM-PL, 1x HM-WDS30-OT2-SM, 1x HM-LC-Sw4-DR , 1x WDE1

jamesgo

#217
Hallo Ralf,

ich schaue mir das später nochmal genau an.
energy-used basiert auf dem errechneten puls und kann somit 100% sein.
Wenn du einen MaxPulse=85% hast dann überschreibt das die 100%.
Es gibt aber noch "<roomStayOn>,<roomStayOff>,<stayOnThreshold>".

Wie ist denn DG_HeizRegler definiert

Grüße
Andy

PS und setzt doch bei dem PWM Element noch das attribut verbose 3

elral

Hallo Andy,
die Definition vom PWM habe ich von der Commandref übernommen: 60 900 120 0.85 1,1 4,1,0.25
Verbose 3 ist seit heute Mittag gesetzt, das log wird gut gefüllt.
Ich kann es nachher noch Online stellen, eben ist der Heizkreis wieder in mein Notify gelaufen.
Danke und Grüße
Ralf
Raspberry Pi (Modell 3) als FHEM-Server,  1x HMLAN, 2x HM-TC-IT-WM-W-EU, 1x HM-LC-SW1-FM, 5x HM-SEC-SCo, 3x HM-LC-Bl1PBU-FM, 2x  HM-SCI-3-FM , 1x HM-OU-CFM-PL, 1x HM-WDS30-OT2-SM, 1x HM-LC-Sw4-DR , 1x WDE1

jamesgo

Zitat von: elral am 27 April 2016, 18:58:58
Hallo Andy,
die Definition vom PWM habe ich von der Commandref übernommen: 60 900 120 0.85 1,1 4,1,0.25
Verbose 3 ist seit heute Mittag gesetzt, das log wird gut gefüllt.
Ich kann es nachher noch Online stellen, eben ist der Heizkreis wieder in mein Notify gelaufen.
Danke und Grüße
Ralf
Ersetze bitte 4,1,0.25 durch 0,0,0

Sonst hast du min 4 Räume an solange einer einen Puls von 0.25 hat. Dieser Parameter ist dazu da die Heizung nicht zu unterfordern.

elral

Hallo Andy,
habe ich jetzt geändert. Das war mir leider nicht so klar nach lesen der Anleitung, hätte ich besser einmal mehr gemacht.
Ich denke Log Einträge wie: 2016.04.27 16:19:34 3: PWM_Calculate WZ_HeizungRegler: F96 keep room on (pulse=0.0889999999999999) (min=4) (roomsOn=4)
deuten genau darauf hin.
Ich bin dann mal auf morgen gespannt  ;)
Danke und Grüße
Ralf
Raspberry Pi (Modell 3) als FHEM-Server,  1x HMLAN, 2x HM-TC-IT-WM-W-EU, 1x HM-LC-SW1-FM, 5x HM-SEC-SCo, 3x HM-LC-Bl1PBU-FM, 2x  HM-SCI-3-FM , 1x HM-OU-CFM-PL, 1x HM-WDS30-OT2-SM, 1x HM-LC-Sw4-DR , 1x WDE1

Skusi

Hallo,
ich steuere nun meine FB Heizung schon seit Monaten mit diesem Modul. Für die Umstellung auf PID Regelung hatte ich allerdings noch keine Zeit. So läuft das ganze nun immer noch mit der PWM Variante, das funktioniert sehr gut.

Nun da wir quasi im Sommer Betrieb sind vermisse ich noch die Ventilschutzfunktion die ich in meiner vorigen Steuerung auch hatte und die ich als sinnvoll betrachte.

Mir schwebt da eine DOIF vor das mir einmal täglich in der Nacht die Ventile für eine kurze Zeit auf fährt. Diese Funktion möchte ich aber nur ausführen wenn das Ventil entsprechen lange nicht durch das Modul angefordert wurde.

Mir sind dazu nicht alle Readings klar geworden (sind die eigentlich irgendwo erklärt ? im Commandref sind nicht alle aufgeführt) die ich dafür heranziehen könnte.

Wie genau ist das Reading lastswitch zu lesen ? Oder mach ich das besser über die Abfrage des energyused Reading ?
Also quasi wenn energyused = 000000000000000000000000000000 dann war wohl lange nicht angefordert (wie lange ist das eigentlich dann ?) und ich steuere das Ventil für z.B. 3 min an.

Toll wäre natürlich auch wenn man diese Funktion in das Modul integrieren könnte.

Was mein Ihr, wie kann ich das am intelligentesten machen. Oder hat schon jemand diese Geschichte realisiert ?

Gruß Skusi
RPI3B, SIGNALduino, NanoCul868 (a-culfw), JeeLink Clone (LaCrosse), Firmata  für FB Heizung,Wasser+Gas+Klingel+Lux, Somfy Rolladen, Pollin Steckd.,TX29DTH,ESPEasy an S0 Stromz., MAX Fensterkontakte, IButton, SonOff Tasmota, ESP LED Controler

jamesgo

Hallo Skusi,

jetzt hätte ich fast vergessen dir zu Antworten.

"engergyused" beinhaltet die letzten 30 Schaltzustände. Sie werden von rechts nach links durchgeschoben. Wenn du also alle 3 Minuten rechnest, dann hast also einen Rückblick von 90 Minuten.

"lastswitch" ist Datum und Uhrzeit (in Sekunden seit 1970) wann das letzte mal geschalten wurden (auf oder zu). D.h. die Zahl entspricht genau dem Zeitstempel des Readings.

Die FHT's machen den Ventilschutz einmal pro Woche. Ich könnte mir vorstellen das einzubauen. Man bräuchte dann einen Wochentag wann das passieren soll, eine Dauer (wie lange soll das Relais geschalten werden) und noch eine Dauer (wie alt darf "lastswitch" sein damit der Ventilschutz aktiviert werden soll).

Was sagst du dazu?

Grüße
Andy

Skusi

Also meine alte Uponor Funk Regelung hat stumpf alle 24 Stunden alle Ventile gleichzeitig für 5 min aufgefahren, dabei wurde das Pumpen/Kesselrelais ausgeschaltet.
Das kann man so machen, aber per fhem müsste das natürlich etwas schlauer gemacht werden.

Ich weiß nicht so recht ob das öffnen des Ventils einmal pro Woche nicht einwenig selten ist.

Ich würde täglich um täglich um 2:00 Uhr nachts prüfen ob es in den letzten 24 Stunden einen Impuls gab. Wenn nicht, das Ventil 5min  ansteuern (dann sollte jeder Thermoantrieb auf sein).
Dabei möglichst keine echte Anforderung an das PWM Modul erzeugen. Wegen des Ventilschutzes sollte keine Anforderung an den Kessel/Pumpe entstehen. Oder besser wäre wahrscheinlich noch das OverallHeatingSwitch während der 5 min einfach aus zu schalten.

Fürs Erste habe ich das über ein DOIF gelöst:

([02:00] and [?FBH_Buero:energyused] eq "000000000000000000000000000000")
(set Ventil_Buero on-for-timer 180)
DOELSEIF ([02:03] and [?FBH_Kueche:energyused] eq "000000000000000000000000000000")
(set Ventil_Kueche on-for-timer 180)
.... usw


Da muß ich nun noch was mit lastswitch erfinden, oder Du baust diese Funktion doch ins Modul ein...

ISt aber
RPI3B, SIGNALduino, NanoCul868 (a-culfw), JeeLink Clone (LaCrosse), Firmata  für FB Heizung,Wasser+Gas+Klingel+Lux, Somfy Rolladen, Pollin Steckd.,TX29DTH,ESPEasy an S0 Stromz., MAX Fensterkontakte, IButton, SonOff Tasmota, ESP LED Controler

Skusi

So, ich hab mein Ventilschutz DOIF erstmal umgestrickt:

([02:00] and [?FBH_Buero:lastswitch] < (time - 86400))
(set Ventil_Buero on-for-timer 300)


Und diese Zeile um 5 min versetzt für alle weiteren Ventile per DOELSEIF angefügt.

Scheint zu funktionieren. Nun noch ein Pumpenkick der den kessel nicht anfordert. Leider habe ich beides auf dem selben Relais geklemmt. Und Hardware umbasteln hab ich grad keine Lust....
RPI3B, SIGNALduino, NanoCul868 (a-culfw), JeeLink Clone (LaCrosse), Firmata  für FB Heizung,Wasser+Gas+Klingel+Lux, Somfy Rolladen, Pollin Steckd.,TX29DTH,ESPEasy an S0 Stromz., MAX Fensterkontakte, IButton, SonOff Tasmota, ESP LED Controler