Fussbodenheizung mit PWM steuern

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

Vorheriges Thema - Nächstes Thema

Wolfshund

Hallo,

habe seit zwei jahren das PWM modul am laufen, regelung funktioniert, soweit ich das beurteilen kann.
Nun habe ich eine neue Heizung bekommen die deutlich effektiver ist.
Ich versuche gerade alle Räume auf die Wunschtemperaturen zu bringen was auch funktioniert.

Aber:
Wenn alle Ventile zu sind, fängt der Boiler an zu heizen und bekommt das warme Wasser nicht weg.
Ich möchte erreichen das die Räume, die am wenigsten Energie brauchen auch wenn der Puls zu klein ist
offen bleiben.
Das ist im Bild Spreizung zu sehen, das Ventil "Bad" ist auf on , weil die Temperatur
noch nicht den Wunschwert erreicht hat,
das ist OK.
Bei dem Ventil "Keller Gross" ist die Wunschtemperatut auch nicht erreicht, aber das Ventil bleibt zu.
Im PWM Modul  (PWM1 und PWM2) habe ich nach meinem Denken 2 Räume eingetragen die offen bleiben sollen.
Kann auch sein das ich die Logik falsch verstehe.

Im EventMonitor wird passend zu den Bildern "roomstoStayON" mit 0 angezeigt.
Meine Vermutung ist das im define
der letzte Teil von mir falsch verstanden ist:

Define:
defmod PWM.FussbodenHeizung PWM 60 900 180 1 8,8 8,2,0.1
attr PWM.FussbodenHeizung DbLogInclude state
attr PWM.FussbodenHeizung room PWM
attr PWM.FussbodenHeizung verbose 2



also 8,2,0.1

Kann mir einer auf die Sprünge helfen welcher Parameter falsch ist damit die zwei
Heizkreise die gerade an der Grenze sind, an bleiben.
Damit erreiche ich das der Boiler nicht unnötig "Bullert".

LG

Andreas
Raspberry PI, Mysensors Serial Gateway, Firmata Relais,Mysensors Dallas/Relais, Mysensors Dallas mit Nokia Display

sash.sc

Hallo zusammen.

Ich habe bis jetzt das pwmr-modul nur für Räume benutzt wo ich eine Heizschlange drin habe. Kann man bei dem pwmr Modul auch mehrere Aktoren angeben für einen Raum also wenn man mehrere Heizkreisläufe hat?Ich habe im Wohnzimmer 4 Heizschlangen liegen und möchte die über das pwmr ansteuern.

Geht das? 4 Aktien in einer pwmr Definition oder muss ich für jeden Aktor bzw Heizschlange eine eigene Definition schreiben?

Wenn es geht, werden dann alle Aktoren gleichzeitig angesteuert oder nacheinander bzw abwechselnd?
So nach dem Motto ich versuche es erst mit Kreis 1,ob temp steigt nicht dann versuchs ich es mit Kreis 2,immer noch keine temp. Anstieg, dann nehme ich beide Kreise.

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

Skusi

Ich habe meine 3 Wohnzimmer Kreise einzeln definiert. Das hat den Vorteil das die Kreise nacheinander geöffnet werden, und dadurch Lastspitzen am Heizkessel vermieden werden.

Bei mir habe ich das Wohnzimmer sogar in einem eigenen PWM laufen.
HP ThinClient 630, SIGNALduino, NanoCul868 (a-culfw), JeeLink Clone (LaCrosse), Firmata  für FB Heizung,Wasser+Gas+Klingel+Lux, Somfy Rolladen, Pollin Steckd.,TX29DTH,Tasmota+IR Lesekopf an Stromz., MAX Fensterkontakte, IButton, Fingerprint, SonOff Tasmota, ESP LED Controler, WLed,zigbee2mqtt...

sash.sc

Zitat von: Skusi am 22 Januar 2025, 11:09:07Ich habe meine 3 Wohnzimmer Kreise einzeln definiert. Das hat den Vorteil das die Kreise nacheinander geöffnet werden, und dadurch Lastspitzen am Heizkessel vermieden werden.

Bei mir habe ich das Wohnzimmer sogar in einem eigenen PWM laufen.

Das hört sich doch gut an.

Kannst du mal bitte deine Definition einstellen, als Hilfestellung?

Danke schonmal

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

jamesgo

Zitat von: Wolfshund am 13 Januar 2025, 12:47:57Hallo,

habe seit zwei jahren das PWM modul am laufen, regelung funktioniert, soweit ich das beurteilen kann.
Nun habe ich eine neue Heizung bekommen die deutlich effektiver ist.
Ich versuche gerade alle Räume auf die Wunschtemperaturen zu bringen was auch funktioniert.

Aber:
Wenn alle Ventile zu sind, fängt der Boiler an zu heizen und bekommt das warme Wasser nicht weg.
Ich möchte erreichen das die Räume, die am wenigsten Energie brauchen auch wenn der Puls zu klein ist
offen bleiben.
Das ist im Bild Spreizung zu sehen, das Ventil "Bad" ist auf on , weil die Temperatur
noch nicht den Wunschwert erreicht hat,
das ist OK.
Bei dem Ventil "Keller Gross" ist die Wunschtemperatut auch nicht erreicht, aber das Ventil bleibt zu.
Im PWM Modul  (PWM1 und PWM2) habe ich nach meinem Denken 2 Räume eingetragen die offen bleiben sollen.
Kann auch sein das ich die Logik falsch verstehe.

Im EventMonitor wird passend zu den Bildern "roomstoStayON" mit 0 angezeigt.
Meine Vermutung ist das im define
der letzte Teil von mir falsch verstanden ist:

Define:
defmod PWM.FussbodenHeizung PWM 60 900 180 1 8,8 8,2,0.1
attr PWM.FussbodenHeizung DbLogInclude state
attr PWM.FussbodenHeizung room PWM
attr PWM.FussbodenHeizung verbose 2



also 8,2,0.1

Kann mir einer auf die Sprünge helfen welcher Parameter falsch ist damit die zwei
Heizkreise die gerade an der Grenze sind, an bleiben.
Damit erreiche ich das der Boiler nicht unnötig "Bullert".

LG

Andreas

Hallo,
meine Alarmierung eine Nachricht zu bekommen wenn sich was in diesem Thread tut scheint nicht mehr aktiv zu sein. Deshalb habe ich deinen Post nicht mitbekommen.

Ich glaube du hast in Gedanken die beiden Parameter vertauscht.

8,2,01 bedeutet (ohne dass ich im Code nachgeschaut habe)

roomStayOn (NoRoomsToStayOn) 8: es bleiben 8 Räume auf "on" wenn sie mindestens 0.1 Bedarf haben
roomStayOff (NoRoomsToStayOff) 2: es bleiben immer 2 Räume "off"

Das erklärt nicht warum KellerAndreas "off" bleibt, da würde ich mal die Logs anschauen ... wan hat der Raum warum geschalten

Ich schalte meinen Brenner über den OverallHeatingSwitch aus wenn alle Räume warm genug sind. Das machst du (bisher) noch nicht.

Viele Grüße
(auch) Andreas

sash.sc

Hallo zusammen.

Ich habe für mein Wohnzimmer FB Heizung 3 Heizkreise.
Eigenes PWM definiert und 3x ein PWMR, für jeden Heizkreis ein PWMR.
Ich habe gelesen, das man die Gewichtung der Räume über einen faktor einstellen kann.

Wie ist der zu handhaben? 1=100% ?
Habe die Einteilung so gemacht.
Kreis Mitte Links 0,5 (50% ?)
Kreis Mitte Rechts 0.4 (40% ?)
Kreis Mitte Rechts außen 0.1 (10%)

Hat den Effekt, das der Kreis Mitte rechts außen tatsächlich öfters angesteuert wurde.

Jemand eine Erklärung?

PWM
60 1200 180 0.85 1,1 1,0,0.5

PWMR Mitte links
WZ_PWM 1,0 ts01_t:state EG_HZ_WZ_ML dummy 1:0.8:0.5:0.5

PWMR Mitte Rechts
WZ_PWM 0.4,0 ts01_t:state EG_HZ_WZ_MR FK_SZ 1:0.8:0.3:0.5

PWMR Mitte Rechts außen
WZ_PWM 0.1,0 ts01_t:state EG_HZ_WZ_MRA FK_SZ 1:0.8:0.3,10:0.5,10

Ich möchte das der Kreis Mitte Links am häufigsten benutzt wird, dann Mitte Rechts, und zuletzt Mitte Rechts aussen (liegt unter der Couch)

Kann mir das einer erklären, oder wie ich die Einstellungen anpassen sollte?

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

jamesgo

Hallo Sasha,
eine direkte prozentuale Aufteilung der Steuerung nach deinen Wünschen gibt es leider nicht.

Du hast 2 Stellschrauben an denen du drehen kannst:
- die Solltemperatur: Du könntest die Solltemperatur unter der Couch z.B. ein halbes Grad unter die gewünschte Raumtemperatur setzen. Dadurch würde dort später angefangen und früher aufgehört zu heizen.

- den Faktor beim PID Regler
Der I und D Teil steuert hauptsächlich den Blick in die Vergangenheit. Also je länger die Solltemperatur nicht erreicht ist desto höher wird der Heizbedarf (Bedarf von 0 bis 1 mal dein Zeitinterval von 15 Minuten). Ohne I würde die Solltemperatur nie erreicht und ohne D würde die Regelung über das Ziel hinausschiessen.
Der P Anteil und der Faktor haben den größten Anteil am Heizbedarf. Ganz simpel (Bedarf = Temperaturdifferenz * Factor). D.h. je größer die Abweichung zur Solltemperatur oder je höher der Faktor desto früher wird der Heizkreis eingeschalten.
Mit einem kleineren Faktor kannst du also die Couch beim Einschalten benachteiligen.

Der Rest ist ein bisschen probieren.

Hoffe das hilft dir..
Viele Grüße
Andreas

sash.sc

#967
Hallo jamesgo.

Das mit der Temperatur ist schon ein guter Ansatz.
Ich würde über das Attribut desired_temp die Temperatur automatisch berechnen.

Raumtemp. -0,5

Wie Stelle ich das im Attribut an? Bin in perl nicht so fit.

Gruß und danke
Sascha

PS:
Habe es über userattr gelöst und 2 neue readings angelegt, die automatisch berechnet werden.
Wie kann ich die neuen Readings in die PWMR schreiben (desired-temp oder tempD), damit die neuen Readings dann als Regelwert genommen werden ?

PPS: hab es alles gefunden
Raspi 4B+ Bullseye ;LaCrosse; HomeMatic; MapleCUL; ZigBee; Signalduino ESP32 ; Shellys; MQTT2; Grafana mit Influxdb

GatuRatz

Hallos,
ich habe das Modul jetzt schon etliche Zeit am laufen und es funktioniert auch soweit alles gut.
Aber einen "Schönheitsfehler" gibt es noch: mein Log ist voll von Meldungen vom Typ
PERL WARNING: Argument "21.7 C" isn't numeric in subtraction (-) at ./FHEM/93_PWMR.pm line 1152.Offensichtlich liegt es daran, dass meine Z-Wave Temperatursensoren die Raumtemperatur als "nn.n C" ausgeben.
Räume, die von den Zigbee-Sensoren, die die Raumtemepratur als "nn.nn" ausgeben, gesteuert werden, erzeugen diese Log-Einträge nicht.
Eigentlich sollte durch das Default-Regex (\d[\d\.]+) doch das "C" weggefiltert werden, oder?
Ich hab dann auch noch eine Definition vom Typ "MelderKueche:temperature:d" ausprobiert (da müsste auch das C entfernt werden), das bringt aber auch nichts.
Was könnte ich sonst noch ausprobieren?

Danke und Gruß
GatuRatz