Fussbodenheizung mit PWM steuern

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

Vorheriges Thema - Nächstes Thema

Blauhorn

Versuch Mal autoCalcTemp auf 0 zu stellen.
1xBananaPi; 1x FB7490; 1xCUL433; 1x CC2530+CC2591; OpenMiLight-Gateway; 1xHMUART; HM-LC-Sw4-DR; Sonoff* mit TASMOTA, LEDController; MySensors; zigbee2mqtt;

jamesgo

Hallo Sascha,

ich vermute dass es an diesen 3 Parametern liegt:

   NoRoomsToStayOff 1
   NoRoomsToStayOn 4
   NoRoomsToStayOnThreshold 0.25


Setzte doch bei dem PWM Modul das Attribut "verbose" auf "3". Dann siehst du im FHEM log genauer was entschieden wurden.

Grüße
Andy

jamesgo

Hallo Sascha,

es sieht so aus als ob du für jeden Raum ein separates PWM objekt hast. Normalerweise gibt es ein PWM und pro Raum ein PWMR.
Nur dann kann NoRoomsToStayOn/Off funktionieren.

Grüße
Andy

sash.sc

Danke erstmal für eure Antworten.

Zur Info.

Ich habe das PWM_Ben genannt, da es ursprünglich das Kinderzimmer steuern sollte.
Habe es jetzt aber mit dem Bad versucht (Trockenlauf auf eine Funksteckdose). Habe es aber nicht umbenannt, das PWM_Ben ist immer noch für das Badezimmer.

Bevor ich jetzt hier weiter erkläre, habe ich alles nochmal gelöscht und neu definiert.
1x PWM und 1x PWMR für das Badezimmer.

Werde es jetzt mal "trocken" laufen lassen und schauen was bis morgen passiert !!!!!

Die definitionen habe ich aus der Wiki, da es sich ja um eine Fußbodenheizung handelt.

Hier schonmal vorab die "neu" definierten Sachen ! Steckdose und Slider sind geblieben !


Internals:
   ACTOR      EG_HZ_bad
   DEF        PWM_Bad 1,0 ts_bad_eg:temperature EG_HZ_bad
   INTERVAL   300
   IODev      PWM_Bad
   NAME       PWMR_Bad
   NR         470
   STATE      Initialized
   TEMPSENSOR ts_bad_eg:temperature
   TYPE       PWMR
   WINDOW     
   a_regexp_on on
   actor      EG_HZ_bad
   c_PID_useit 0
   c_autoCalcTemp 1
   c_desiredTempFrom EG_HZ_test_temp
   c_factor   1
   c_foffset  0
   c_frostProtect 0
   c_tempC    22
   c_tempD    20
   c_tempE    19
   c_tempFrostProtect 6
   c_tempN    16
   c_tempRule1 1-5 0600,D 2200,N
   c_tempRule2 6-0 0800,D 2200,N
   c_tempRule3
   c_tempRule4
   c_tempRule5
   d_name     EG_HZ_test_temp
   d_reading  desired-temp
   d_regexpTemp (\d[\d\.]+)
   p_actor    EG_HZ_bad
   p_factor   1,0
   p_pid     
   p_tsensor  ts_bad_eg:temperature
   p_window   
   t_reading  temperature
   t_regexp   ([\d\.]+)
   t_sensor   ts_bad_eg
   w_regexp   .*Open.*
   windows   
   READINGS:
     2017-12-18 11:53:37   PWMOnTime       05:24
     2017-12-18 11:53:37   PWMPulse        36
     2017-12-18 11:46:27   actorState      unknown
     2017-12-18 11:37:33   desired-temp    23.0
     2017-12-18 11:37:33   desired-temp-until 2017-12-18 12:37:33
     2017-12-18 11:53:37   desired-temp-used 23.0
     2017-12-18 11:53:37   energyused      00000000000
     2017-12-18 11:53:37   energyusedp     0.0
     2017-12-18 11:43:15   lastswitch      1513593795
     2017-12-18 11:38:01   manualTempDuration 0
     2017-12-18 11:53:37   oldpulse        0.36
     2017-12-18 11:53:37   temperature     22.4
   helper:
Attributes:
   desiredTempFrom EG_HZ_test_temp
   group      Bad
   room       10_Bad,20_Heizung


Internals:
   CHANGED   
   CYCLETIME  900
   DEF        60 900 120 0.85 1,1 4,1,0.25
   INTERVAL   60
   MINONOFFTIME 120
   MaxPulse   0.85
   MaxSwitchOffPerCycle 1
   MaxSwitchOnPerCycle 1
   NAME       PWM_Bad
   NR         451
   NoRoomsToStayOff 1
   NoRoomsToStayOn 4
   NoRoomsToStayOnThreshold 0.25
   OverallHeatingSwitch
   OverallHeatingSwitch_delayTimeOn
   OverallHeatingSwitch_followUpTime
   OverallHeatingSwitch_regexp_on
   OverallHeatingSwitch_roomBased
   OverallHeatingSwitch_threshold
   STATE      lastrun: 2017-12-18 11:53:37
   TYPE       PWM
   p_cycletime 900
   p_interval 60
   p_maxPulse 0.85
   p_minOnOfftime 120
   p_overallHeatingSwitch
   p_roomsMinOnOffThreshold 4,1,0.25
   READINGS:
     2017-12-18 11:46:27   OverallHeatingSwitch
     2017-12-18 11:46:27   OverallHeatingSwitchWaitBeforeOn
     2017-12-18 11:46:27   OverallHeatingSwitchWaitUntilOff
     2017-12-18 11:53:37   avgPulseRoomsOff 0.36
     2017-12-18 11:53:37   avgPulseRoomsOn 0
     2017-12-18 11:53:37   lastrun         calculating
     2017-12-18 11:53:37   pulseAvg        0.36
     2017-12-18 11:53:37   pulseAvg2       0.36
     2017-12-18 11:53:37   pulseAvg3       0.36
     2017-12-18 11:53:37   pulseMax        0.36
     2017-12-18 11:53:37   pulseSum        0.36
     2017-12-18 11:53:37   roomsActive     1
     2017-12-18 11:53:37   roomsOff        1
     2017-12-18 11:53:37   roomsOn         0
     2017-12-18 11:53:37   roomsToStayOn   4
     2017-12-18 11:53:37   roomsToStayOnList PWMR_Bad
   helper:
     pulses:
       PWMR_Bad   0.36 / 0
Attributes:
   event-min-interval .*:300
   event-on-change-reading .*
   group      Bad
   room       10_Bad,20_Heizung


Falls da was mit den DEF´s nicht i.O. sein sollte, dann raus mit der Sprache !!! ;-)

Gruß und Danke
Sascha
Raspi 4B+ Bullseye ;LaCrosse; HomeMatic; MapleCUL; ZigBee; Signalduino ESP32 ; Shellys; MQTT2; Grafana mit Influxdb

jamesgo

Hallo Sascha,

wenn du zweimal dasselbe konfigurierst, warum glaubst du dass was anderes rauskommt?

Versuch mal statt

60 900 120 0.85 1,1 4,1,0.25

lieber

60 900 120 0.85 1,1 0,0,0

denn roomStayOff = 1 bei einem Raum führt dazu dass kein Raum eingeschalten wird.
Bzw. roomStayOn = 4 würde dazu führen, dass er nie wieder ausgeschalten wird.

define <name> PWM [<interval>] [<cycletime>] [<minonofftime>] [<maxPulse>] [<maxSwitchOnPerCycle>,<maxSwitchOffPerCycle>] [<roomStayOn>,<roomStayOff>,<stayOnThreshold>] [<overallHeatingSwitch>[,<pulseThreshold>[,<followUpTime>[,<h_regexp_on>[,<delayTimeOn>]]]]]

Grüße
Andy

sash.sc

Ok. Werde es ausprobieren!

Gruß und danke
Sascha

Gesendet von meinem...... was auch immer

Raspi 4B+ Bullseye ;LaCrosse; HomeMatic; MapleCUL; ZigBee; Signalduino ESP32 ; Shellys; MQTT2; Grafana mit Influxdb

sash.sc

so, habe es mal ausprobiert und beobachtet.

Sieht ganz gut aus.
Aber es wird ja der Heizkreislauf entwerder für eine gewisse Zeit komplett geöffnet bzw. geschlossen.
Gibt es einen Stellantrieb der auch nur teilweise geöffnet werden kann ???
Wenn ja, wie kann dann dieser angesteuert werden ?
Würde das auch über diese(s) Module funktionieren ?

Gruß und Danke
Sascha
Raspi 4B+ Bullseye ;LaCrosse; HomeMatic; MapleCUL; ZigBee; Signalduino ESP32 ; Shellys; MQTT2; Grafana mit Influxdb

Morgennebel

Das hier ist das PWM-Modul.

Steuerung über An/Aus mit verschiedener Dauer - Puls-Weiten-Modulation.

Es gibt auch Stellantriebe für 0...10V aber wofür bei einer FB-Heizung?

Ciao, -MN
Einziger Spender an FHEM e.V. mit Dauerauftrag seit >= 24 Monaten

FHEM: MacMini/ESXi, 2-3 FHEM Instanzen produktiv
In-Use: STELLMOTOR, VALVES, PWM-PWMR, Xiaomi, Allergy, Proplanta, UWZ, MQTT,  Homematic, Luftsensor.info, ESP8266, ESERA

sash.sc

Habe im Haustechnik Forum ein bischen rum gelesen. Da wird teilweise (viel) davon abgeraten die Heizkreisläufe komplett abzuregeln/schließen.
Soll mit en Massen/Wärmeströmungen zu tun haben.

Gruß
Sascha
Raspi 4B+ Bullseye ;LaCrosse; HomeMatic; MapleCUL; ZigBee; Signalduino ESP32 ; Shellys; MQTT2; Grafana mit Influxdb

Morgennebel

Ich würde Dir auch von PWM abraten...

Wenn Du in einem Passivhaus neuster Bauart wohnst, Deine Heizung nicht älter als 5 Jahre ist und eine toll-funktionierende Steuerung hat.

Das ist aber dann auch nicht der Anwendungsfall von PWM. Wir nutzen das, weil wir kein Passivhaus haben. Unser letzter hydraulischer Abgleich ist 30 Jahre her. Die Heizung würde fünf Mal umgebaut.Die Steuerung der Heizung versagt. Und unsere FB-Vorlauftemperatur ist höher als 30 Grad. Mein Haus ist extra nicht gedämmt und hat noch Belüftungsbleche...

In diesem Fall funktioniert es perfekt und spart Geld.

Wenn Du das in Ruhe diskutieren willst, mache bitte einen neuen Thread auf, denn mit PWM hat das nichts mehr zu tun.

Ciao, -MN
Einziger Spender an FHEM e.V. mit Dauerauftrag seit >= 24 Monaten

FHEM: MacMini/ESXi, 2-3 FHEM Instanzen produktiv
In-Use: STELLMOTOR, VALVES, PWM-PWMR, Xiaomi, Allergy, Proplanta, UWZ, MQTT,  Homematic, Luftsensor.info, ESP8266, ESERA

jamesgo

Hallo,

ich denke gerade über eine Erweiterung nach.

Problem: Kachelofen ist an oder in der Übergangszeit scheint die Sonne ins Wohnzimmer. Da die Wunschtemperatur erreicht ist entscheidet der P (aber auch der PID) Regler dass nicht geheizt werden muss. Der Boden kühlt aus und abends sackt die Temperatur zu weit ab bzw. der Boden bleibt kalt.

Idee: Implementierung einer maximalen "off" Zeit (ähnlich wie bei Valve Protect) über die man z.B. definieren kann "wenn für 4 Stunden nicht geheizt wurden dann temperiere den Boden durch 1 Stunde 50% heizen. (Zeit und Puls natürlich variabel). Das würde natürlich auch Nachts passieren wenn eine Nachtabsenkung aktiv ist und der "OverallHeatingSwitch" muss auch irgendwie berücksichtigt werden.

Was haltet ihr davon?

Grüße
Andy

wowogiengen

Zitat von: jamesgo am 21 Dezember 2017, 14:15:13
Hallo,

ich denke gerade über eine Erweiterung nach.

Problem: Kachelofen ist an oder in der Übergangszeit scheint die Sonne ins Wohnzimmer. Da die Wunschtemperatur erreicht ist entscheidet der P (aber auch der PID) Regler dass nicht geheizt werden muss. Der Boden kühlt aus und abends sackt die Temperatur zu weit ab bzw. der Boden bleibt kalt.

Idee: Implementierung einer maximalen "off" Zeit (ähnlich wie bei Valve Protect) über die man z.B. definieren kann "wenn für 4 Stunden nicht geheizt wurden dann temperiere den Boden durch 1 Stunde 50% heizen. (Zeit und Puls natürlich variabel). Das würde natürlich auch Nachts passieren wenn eine Nachtabsenkung aktiv ist und der "OverallHeatingSwitch" muss auch irgendwie berücksichtigt werden.

Was haltet ihr davon?

Grüße
Andy

Hallo Andy,
ich brauche die Erweiterung nicht, aber wenn du Lust hast, etwas reinzuprogrammieren, dann doch folgendes:
Die Homematic-Wandthermostate können ja ausser der Temperatur auch noch Off und On ausgeben als Desired-Temperature.
Wenn du diese beiden Werte dann dazu verwenden würdest, den Aktor auf Off oder On zu stellen, ohne dass das PWM-Modul aktiv würde, wäre es auch gut.

Ich hab das grade über ein DOIF-Konstrukt gelöst, aber eingebaut wäre es sicher besser
Viele Grüße
Wolfgang

Morgennebel

Zitat von: jamesgo am 21 Dezember 2017, 14:15:13
Idee: Implementierung einer maximalen "off" Zeit (ähnlich wie bei Valve Protect) über die man z.B. definieren kann "wenn für 4 Stunden nicht geheizt wurden dann temperiere den Boden durch 1 Stunde 50% heizen. (Zeit und Puls

Nett.

Mir persönlich aber zu teuer. Dies hiesse, daß die Pumpe mehr liefe (170W) und der Brenner mehr heizen muß. Dann lieber den kalten Boden...

Ciao, -MN (geizig)
Einziger Spender an FHEM e.V. mit Dauerauftrag seit >= 24 Monaten

FHEM: MacMini/ESXi, 2-3 FHEM Instanzen produktiv
In-Use: STELLMOTOR, VALVES, PWM-PWMR, Xiaomi, Allergy, Proplanta, UWZ, MQTT,  Homematic, Luftsensor.info, ESP8266, ESERA

sash.sc

#538
@Morgennebel

Unser aus ist auch aus den 90er.Also nix mit plassiv Haus. Am FB Verteiler sind auch nur Knöpfe zum drehen.

Im großen und ganzen läuft die Heizung. Letzt endlich geht es nur um Feintuning und evtl. Ersparnis.


@jamesgo

Die Erweiterung hört sich gut an. Ich habe das Problem im WZ, dass es nach Süden ausgerichtet ist.
Wenn ich den Raum automatisiere, dann müsste da so eine Funktion rein.
Wenn der Fußboden warm ist, dann ist es schon recht angenehm.
Hoher WAF Faktor!

Gruß Sascha
Raspi 4B+ Bullseye ;LaCrosse; HomeMatic; MapleCUL; ZigBee; Signalduino ESP32 ; Shellys; MQTT2; Grafana mit Influxdb

wowogiengen

Zitat von: jamesgo am 15 Dezember 2017, 07:02:25
Hallo Wolfgang,

define mylog FileLog ./log/mylog.log nix

dann kannst du ein Chart davon machen. Für ein Niedrigenergiehaus sind 36° ausreichend. Für ein älteres Haus ein bisschen wenig. Es kommt aber auch drauf an wo die Temperatur gemessen wir. Bei mir sind es am Mischer auch 1-2° mehr als am Heizkreisverteiler.

Die Hysterese ergibt sich aus der "minonofftime". Wenn der errechnete Puls zu klein ist, wird weder ein- noch ausgeschalten.

Grüße
Andy

Hallo Andy,
ich habe jetzt die Vor- und Rücklauftemperatur in ein SVG-Plot übertragen können. Kannst du dir die beiden Bilder mal anschauen, und sagen, ob das so in Ordnung sein kann?
Teilweise ist die RT höher als die VT, aber das liegt wohl daran, dass der Fühler nicht sauber am Rohr angeklebt war, und somit mehr Lufttemperatur als Rohrtemperatur gemessen haben könnte.
Ich habe 4 Räume, die alle mit der selben Definition des PWM arbeiten:


define PWMRBad PWMR fh 1,0.11 HzgStatusBad:temperature HzgAktorBad
attr PWMRBad desiredTempFrom HzgSetBad:desired-temp
attr PWMRBad event-min-interval .*:900
attr PWMRBad event-on-change-reading .*
attr PWMRBad room Bad,Heizung
attr PWMRBad verbose 3

Ich vermute mal, dass die große Schwingung (15 Minuten) eben daher kommt, dass das fh so definiert ist:

define fh PWM 60 900 180 1 4,4 2,1,0

Und weil eben die Räume zu unterschiedlichen Zeiten die Wärme anfordern, kann eben auch nur zu unterschiedlichen Zeiten die Wärme abtransportiert werden, und somit habe ich die Abstufung in der Vorlauftemperatur drin.

Bild 1 zeigt den Graph über mehrere Tage, Bild 2 zeigt die Temperatur an einem Nachmittag/Abend.

Viele Grüße
Wolfgang