Fussbodenheizung mit PWM steuern

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

Vorheriges Thema - Nächstes Thema

Mathias89

Hallo zusammen. Ich bin FHEM Beginner. Ziel meiner ganzen Aktion ist es die Fußbodenheizung meiner Eltern Smart zu machen, da bisher über den nun Defekten Mischer gesteuert wurde und alle Heizkreise stets offen waren. Wäre es möglich, bevor ich übermorgen beginne alles einzubauen, dass ihr mal über meine Konfiguration, die ich so trocken in meiner Wohnung aufgebaut habe (und auch die Relais schaltet) drüber zu schauen und ggf. schon Fehler vorher auszumerzen?

Folgende Daten:
Haus ist von 94, kein Passivkram, jedoch gut isoliert
Neue Pumpe (ca. 2 Jahre alt von Wilo mehr weiß ich dazu leider aktuell nicht)
Vorlauftemperatur liegt aktuell bei 25° (müsste mal wahrscheinlich etwas hoch stellen?)
Wohnzimmerfläche sind ca. 45-50m² inkl Küche mit 3 Heißkreisen, die ich alle zusammen anspreche
Flur sind grob 10-13m²
Fensterkontakte habe ich keine ist das mit den dummys so richtig?
Stellantrieb braucht für Schaltvorgang ca. 3,5 Minuten
Temperatur kommt über MQTT(Wemos mini)
Die Kreise werden per Relais geschaltet über Tasmota 4CH Pro R2 (notify schaltet die anderen zwei Kreise mit)
Pumpe schalte ich ebenfalls über ein Tasmota device

Das ganze funktioniert im Trockenbetrieb auch soweit

define fussbodenheizung PWM 60 900 120 1 99,99 0,0,0 pumpe
attr fussbodenheizung room 00_Heizkeller


Gleiche Werte für Wohnzimmer und Flur im Moment, da ich von PID leider keine Ahnung habe
define wohnzimmer_fussbodenheizung PWMR fussbodenheizung 0 wohnzimmer_sensor heizkreis1 dummy 1:0.8:0.3:0.5
attr wohnzimmer_fussbodenheizung autoCalcTemp 1
attr wohnzimmer_fussbodenheizung room 00_Wohnzimmer
attr wohnzimmer_fussbodenheizung tempDay 21
attr wohnzimmer_fussbodenheizung tempNight 22
attr wohnzimmer_fussbodenheizung tempRule1 Mo-Fr 05:00,D 19:00,N
attr wohnzimmer_fussbodenheizung tempRule2 Sa-So 5:00,D 19:00,N



Dankeschön vorab schon mal!

jamesgo

Hallo Matthias89,

Heizungen reagieren teilweise problematisch wenn alle Heizkreise gleichzeitig auf und zu fahren deshalb statt 99,99 lieber 1,1. Wenn du wirklich nur zwei Heizkreise hast wird das aber nicht viel ändern.

statt
define fussbodenheizung PWM 60 900 120 1 99,99 0,0,0 pumpe
also lieber
define fussbodenheizung PWM 60 900 120 1 1,1 0,0,0 pumpe

fussbodenheizung 0 wohnzimmer_sensor heizkreis1 dummy 1:0.8:0.3:0.5
eine factor von 0 macht keinen Sinn, ist aber für PID nicht relevant.
wohnzimmer_sensor sollte ein reading temperatur haben.
dummy ist so ok.
die PID Definition sollte so funktionieren. Ich verwende einen größeren ILookBackCnt 1:0.8:0.3,22:0.5,10

Viel Erfolg und Grüße
Andy



FB 1.0 tempEssen:temperature rEssen dummy 1:0.8:0.3,22:0.5,10
fussbodenheizung 0 wohnzimmer_sensor heizkreis1 dummy 1:0.8:0.3:0.5



jamesgo

Zitat von: gadget am 19 Oktober 2018, 15:30:13
Hallo,

besteht Hoffnung, das sich ein Maintainer meine Modifikation bzgl. minPulse anschauen könnte  ?

Grüße, gadget.

Hallo gadget,

ich bin der Maintainer und Endwickler der PWM und PWMR Module.

Ich habe deinen Post bewust ignoriert da ich keine Lust habe mir deine Erweiterungen anzuschauen. Dafür gibt es mehrere Gründe. Davon sind z.B.:

- wenn man einen Erweiterungswunsch hat, dann beschreibt man erst sein Problem und fragt im Forum nach möglichen Lösungen
- wenn der Maintainer keine Zeit hat eine Erweiterung zu implementieren dann kann man vorschlagen das zu übernehmen
- sollte das der Fall sein dann ist es notwendig die Art der Erweiterung abzustimmen

Ein "nogo" ist im stillen Kämmerchen an einem fremden Modul rumzuschrauben dann (ohnen eine genaue Funktionsweise zu bescheiben) aufzutauchen mit dem Statement "es funktioniert schon fast ... aber nur fast" und zu erwarten dass ich in Jubel ausbreche mit einem "diff" versuche herauszufinden was du dir überlegt hast, die Erweiterung "super finde" und dann versuche deinen Fehler zu finden.

Entschuldige wenn die obigen Worte etwas hart sind aber ich kann es absolut nicht leiden wenn ohne Vorankündigung mir nicht verständliche Logik in meine Module eingebaut wird.

Die Entwicklung der beiden Module hat einiges an Zeit gekostet und ich bin froh dass sie durch die Parameter einigermaßen allgemeingültig sind. Ich versuche alle Fragen hier im Forum zu beantworten und Erweiterungen auch zu implementieren.

Wenn du alles besser kannst (und mehr Zeit hast als ich) kannst du die Wartung und den Support gerne übernehmen.

Grüße
Andy




gadget

Hallo Andy,

du schreibst:

Zitat von: jamesgo am 31 Oktober 2018, 08:05:20
Ich habe deinen Post bewust ignoriert da ich keine Lust habe mir deine Erweiterungen anzuschauen.

Das ist dein gutes Recht. Ich finde es schade, denn:

Zitat von: jamesgo am 31 Oktober 2018, 08:05:20
- wenn man einen Erweiterungswunsch hat, dann beschreibt man erst sein Problem und fragt im Forum nach möglichen Lösungen

Das habe ich getan: https://forum.fhem.de/index.php/topic,41399.msg768558.html#msg768558

Die einzige vorgeschlagene Lösung ist aber für mich nicht praktikabel, da ich keinen Sensor im Boden habe. Darum habe ich versucht, selbst eine passende Erweiterung zu implementieren. Idee war, ein zusätzliches optionales Attribut minPulse einzuführen, das das Abregeln nach unten begrenzt, aber sonst nichts am sonstigen Regelungsverhalten ändert. Meine Codeänderungen betreffen also im Wesentlichen die Codestellen, die man für ein weiteres Attribut eben so braucht, inklusive SanityCheck, Onlinehilfe und Mechanismus das Attribut wieder zu löschen.

Ich bin nicht davon ausgegangen, dass ich dafür erst eine "Erlaubnis" brauche bzw. dass Du dich hierbei auf den Schlips getreten fühlst.

Ich hatte auch nicht vor, deine geleistete Arbeit in irgend einer Art und Weise zu relativieren oder in Frage zu stellen.

Im Gegenteil hatte ich eigentlich gehofft, zu diesem Modul etwas konstruktives und ggf. auch für andere Nutzer nützliches beizutragen. Da ich aber weder Pearl-Guru bin noch besonders gut im reverse engineering, wäre ich halt eben auf Deine Mithilfe angewiesen gewesen, die entscheidende Anpassung in der Kernlogik durchzuführen. Wenn Du das nicht willst: Ist wie gesagt Dein gutes Recht das abzulehnen. Davon geht meine Welt nicht unter.

Grüße, gadget.

Holzbein

Hallo Forum,

ich beschäftige mich gerade mit diesem Modul um meine Fussbodenheizung damit zu steuern.

ich habe mir einen Testaufbau gemacht um das Modul zu verstehen.
Die Temperaturen kommen von real vorhandenen Temperaturfühlern, der Schaltaktor für die Heizkreise ist ein Wemos mit 4-fach Relaiskarte, und für die Umwälzpumpe muß z.Zt. noch ein Dummy herhalten.

Über den "set" Befehl im PWMR kann ich die Aktoren (Relais auf der 4-fach Karte) zur Steuerung der Stellventile ohne Probleme an und ausschalten.

Nach meinem Verständniss des Moduls sollten sobald ich es in Betrieb nehme und Wärme angefordert wird, die Schaltaktoren eingeschaltet werden und sich durch stetiges ein bzw. ausschalten der angeforderten Temperatur annähern.

Das einschalten der Aktoren funktioniert auch ohne Probleme, alledings werden sie nie ausgeschaltet!

Ich bin nun schon seit Tagen am suchen und habe alle möglichen Eistellungen durch, allerdings Erfolglos.

Ich habe mal die DEF`s angehängt, vieleicht findet jemand der sich mit dem Modul auskennt den Fehler, oder möglicherweise ist ja auch mein Verständniss völlig daneben.

PWM:

Internals:
   CYCLETIME  900
   DEF        60 900 360 0.85 1,1 0,0,0 d_FBH_Pumpe,0,300,on,60
   INTERVAL   60
   MINONOFFTIME 360
   MaxPulse   0.85
   MaxSwitchOffPerCycle 1
   MaxSwitchOnPerCycle 1
   NAME       PWM.FussbodenHeizung
   NR         48
   NoRoomsToStayOff 0
   NoRoomsToStayOn 0
   NoRoomsToStayOnThreshold 0
   OverallHeatingSwitch d_FBH_Pumpe
   OverallHeatingSwitch_delayTimeOn 60
   OverallHeatingSwitch_followUpTime 300
   OverallHeatingSwitch_regexp_on on
   OverallHeatingSwitch_roomBased on
   OverallHeatingSwitch_threshold 0
   STATE      0 Raum an, 4 Raum aus
   TYPE       PWM
   p_cycletime 900
   p_interval 60
   p_maxPulse 0.85
   p_minOnOfftime 360
   p_overallHeatingSwitch d_FBH_Pumpe,0,300,on,60
   p_roomsMinOnOffThreshold 0,0,0
   READINGS:
     2018-11-01 10:32:23   OverallHeatingSwitch off
     2018-11-01 12:16:23   OverallHeatingSwitchWaitBeforeOn
     2018-11-01 12:16:23   OverallHeatingSwitchWaitUntilOff
     2018-11-01 12:16:23   avgPulseRoomsOff 0.00
     2018-11-01 12:16:23   avgPulseRoomsOn 0
     2018-11-01 12:16:23   lastrun         calculating
     2018-11-01 12:16:23   pulseAvg        0.00
     2018-11-01 12:16:23   pulseAvg2       0.00
     2018-11-01 12:16:23   pulseAvg3       0.00
     2018-11-01 12:16:23   pulseMax        0.0007
     2018-11-01 12:16:23   pulseSum        0.0024
     2018-11-01 12:16:23   roomsActive     4
     2018-11-01 12:16:23   roomsOff        4
     2018-11-01 12:16:23   roomsOn         0
     2018-11-01 12:16:23   roomsToStayOn   0
     2018-11-01 12:16:23   roomsToStayOnList
     2018-11-01 12:16:23   state           lastrun: 2018-11-01 12:16:23
   helper:
     pulses:
       PW_Room_Bad 0 / 0.0006
       PW_Room_Esszimmer 0 / 0.0006
       PW_Room_Kueche 0 / 0.0005
       PW_Room_Wohnzimmer 0 / 0.0007
Attributes:
   overallHeatingSwitchRef avgPulseRoomsOn
   room       Heizung
   stateFormat roomsOn Raum an, roomsOff Raum aus
   valveProtectIdlePeriod 14
   verbose    5


PWMR:

ACTOR      HZG_Stell_FB_Bad:POWER3
   CHANGED   
   DEF        PWM.FussbodenHeizung 1, Bad:temperature HZG_Stell_FB_Bad:POWER3:on dummy 1:0.8:0.4,5:0.5,10
   INTERVAL   300
   IODev      PWM.FussbodenHeizung
   NAME       PW_Room_Bad
   NR         49
   STATE      P: 0.00 I: -1 D: -0.05 Pulse: 0 Ist: 20.4 °C Soll: 12.0 °C
   TEMPSENSOR Bad:temperature
   TYPE       PWMR
   WINDOW     
   a_regexp_on POWER3:on
   actor      HZG_Stell_FB_Bad
   c_PID_DFactor 0.5
   c_PID_DLookBackCnt 10
   c_PID_IFactor 0.4
   c_PID_ILookBackCnt 5
   c_PID_PFactor 0.8
   c_PID_useit 1
   c_autoCalcTemp 1
   c_desiredTempFrom HZG_Bad:desiredTemperature
   c_frostProtect 0
   c_tempC    22.5
   c_tempD    21
   c_tempE    18.5
   c_tempFrostProtect 12
   c_tempN    18
   c_tempRule1 1-5 0600,D 2200,N
   c_tempRule2 6-0 0800,D 2200,N
   c_tempRule3
   c_tempRule4
   c_tempRule5
   d_name     HZG_Bad
   d_reading  desiredTemperature
   d_regexpTemp (\d[\d\.]+)
   h_deltaTemp 8.4
   h_deltaTemp_D 8.3
   p_actor    HZG_Stell_FB_Bad:POWER3:on
   p_factor   1,
   p_pid      1:0.8:0.4,5:0.5,10
   p_tsensor  Bad:temperature
   p_window   dummy
   t_reading  temperature
   t_regexp   ([\d\.]+)
   t_sensor   Bad
   w_regexp   .*Open.*
   windows    dummy
   READINGS:
     2018-11-01 12:19:23   PID_DVal        -0.05
     2018-11-01 12:19:23   PID_IVal        -1
     2018-11-01 12:19:23   PID_PVal        0.00
     2018-11-01 12:19:23   PID_PWMOnTime   00:00
     2018-11-01 12:19:23   PID_PWMPulse    0
     2018-11-01 10:55:14   actorState      off
     2018-11-01 12:15:23   desired-temp    12.0
     2018-10-31 20:40:33   desired-temp-until no
     2018-11-01 12:19:23   desired-temp-used 12.0
     2018-11-01 12:19:23   energyused      000000000000000000000000000000
     2018-11-01 12:19:23   energyusedp     0.0
     2018-11-01 10:55:14   lastswitch      1541066114
     2018-10-29 17:00:44   manualTempDuration 0
     2018-11-01 12:19:23   oldpulse        0.0006
     2018-11-01 12:15:23   state           FrostProtect
     2018-11-01 12:19:23   temperature     20.4
   helper:
     PID_D_previousTemps:
       20.3
       20.3
       20.3
       20.3
       20.3
       20.3
       20.3
       20.3
       20.3
       20.4
     PID_I_previousTemps:
       20.3
       20.3
       20.3
       20.3
       20.4
Attributes:
   autoCalcTemp 1
   desiredTempFrom HZG_Bad:desiredTemperature
   event-min-interval desired-temp-used:300,temperature:300,PID_PWMPulse:300
   event-on-change-reading desired-temp-used,temperature,PID_PWMPulse
   frostProtect 0
   room       Heizung
   stateFormat P: PID_PVal I: PID_IVal D: PID_DVal Pulse: PID_PWMPulse Ist: temperature °C Soll: desired-temp-used °C
   tempCosy   22.5
   tempDay    21
   tempEnergy 18.5
   tempFrostProtect 12
   tempNight  18
   verbose    5
   webCmd     desired-temp


Aktor:

DEVICETOPIC HZG_Stell_FB_Bad
   IODev      mqtt_fhem
   LASTInputDev mqtt_fhem
   MSGCNT     16
   NAME       HZG_Stell_FB_Bad
   NR         43
   STATE      OFF
   TYPE       MQTT2_DEVICE
   mqtt_fhem_MSGCNT 16
   mqtt_fhem_TIME 2018-11-01 10:55:14
   READINGS:
     2018-11-01 09:40:22   LWT             Online
     2018-11-01 09:40:22   POWER           
     2018-11-01 10:55:14   POWER3          OFF
     2018-11-01 10:55:14   state           OFF
Attributes:
   IODev      mqtt_fhem
   devStateIcon ON:ios-on-green:off OFF:ios-NACK:on offline:rc_BLUE:off
   event-on-change-reading POWER3
   readingList HZG_Ventile/stat/POWER3.* state
HZG_Ventile/tele/LWT:.* LWT
HZG_Ventile/cmnd/POWER:.* POWER
HZG_Ventile/stat/POWER3:.* POWER3
   room       Heizung
   setList    on HZG_Ventile/cmnd/Power3 on
off HZG_Ventile/cmnd/Power3 off
   webCmd     on:off


Ich bedanke mich im Vorraus und hoffe dieses Modul irgendwann einsetzen zu können.

Gruß
Erhardt



gadget

Hallo,

Du hast bei Deinem Actor ja eine setlist. Somit solltest Du den ja mit

set HZG_Stell_FB_Bad on
set HZG_Stell_FB_Bad off

ein- und ausschalten können.

Dann lass das :POWER3:on in der def beim PWM einfach weg. Das on/off dahinter ist eh default.

p_actor müsste dann nur noch HZG_Stell_FB_Bad beinhalten.


Grüsse,

gadget

Holzbein

Hallo gadget,

ZitatDann lass das :POWER3:on in der def beim PWM einfach weg. Das on/off dahinter ist eh default.


Das war einer von vielen Versuchen, ohne das "POWER3:on" ist es das gleiche verhalten, der Aktor wird zwar ein aber nie ausgeschaltet.

Danke für Deine Antwort
Erhardt

gadget

#667
Hi,

Bau Dir doch doch mal (zum debuggen) ein  dummy device und nimm das als Aktor. Und dann schau mal ob das richtig geschaltet wird.
Und dann einen notify, der deinen eigentlichen Aktor steuert. Damit müsstest Du die Ursache eigentlich finden können, kann ja eigentlich nur ne Kleinigkeit sein. Mich irritiert ein wenig das OFF in Grossbuchstaben beim Aktor state.

Grüße, gadget



gadget

Zitat von: Holzbein am 01 November 2018, 13:18:58
(...) der Aktor wird zwar ein aber nie ausgeschaltet.

Rückfrage, ob ich das richtig verstanden habe:

Geht das reading actorState beim PWMR auf off, aber dein Aktor bleibt on ?

Oder meinst Du damit, dass actorState beim PWMR immer "on" bleibt ?

Grüße, gadget

jamesgo

Hallo Roland,
Versuch mal
PWM.FussbodenHeizung 1, Bad:temperature HZG_Stell_FB_Bad:ON dummy 1:0.8:0.4,5:0.5,10

Der STATE von deinem Actor ist vermutlich ON/OFF statt on/off

Grüße Andy

Gesendet von meinem BTV-DL09 mit Tapatalk


Holzbein

Hallo,

der actorState bleibt auf "on" stehen, mit dem Zeitstempel wo er das erste mal eingeschaltet wurde, nach einem Neustart von Fhem steht er auf "unknown".

Gruß
Erhardt

Holzbein

Hallo jamesgo,

was soll ich sagen, Treffer...Versenkt.

Da Quäle ich mich seit Tagen rum und dabei ist es so einfach.
Jetzt steht dem Probebetrieb nichts mehr im Wege.

Vielen Dank an alle helfenden.
Erhardt

myhome

Mir ist folgendes beim Anlegen eines PWM aufgefallen. Ich nehme mal das Beispiel des Kollegen zuvor
define fussbodenheizung PWM 60 900 120 1 99,99 0,0,0 pumpe.

1: pumpe ist ein HM Device ==> dann ist alles OK
2: pumpe ist ein Dummy Device dann gibt es ein  Problem beim fhem "restart"

Löscht man  bei 2: pumpe im fhem cfg als switch im PWM define , macht einen restart bekommt man keine Fehlermeldung. Anschließend legt dann pumpe wieder über DEF im fhem (web Oberfläche) an, geht es wieder alles, keine Fehlermeldung bis zum nächsten "restart". Dann bekommt man eine Fehlermeldung für PWM das "pumpe" kein device wäre.

Dies passiert immer nur mit einem Dummy Switch. Das Dummy wirft keine Fehler und funktioniert nur nicht im Zusammenhang mit PWM.

Ich benötige das Dummy weil ich noch andere  Regler haben die ich über ein AND verknüpfe (Honneywell HCE60 mit Kesselrückgriff). Erst wenn beide OFF sind schalte ich die Heizanforderung für den Brenner auf off

Raspberry Pi4, Pi3 und Zero's, Homematic, Zigbee, WLAN, USB, One-wire für Wasser, Heizung und Rücklauftemp und alte F20 für den Garten, Messen GAS, Wasser, Strom, PV, weiteres

Holzbein

Hallo

lies mal 642, ich denke das ist dein Problem.

myhome

Top, es funktioniert ! Danke für den Hinweis!
Raspberry Pi4, Pi3 und Zero's, Homematic, Zigbee, WLAN, USB, One-wire für Wasser, Heizung und Rücklauftemp und alte F20 für den Garten, Messen GAS, Wasser, Strom, PV, weiteres