Micropelt iTRV MVA-004 und Nodon STPH-2-1-05: Regelprobleme

Begonnen von RoKoInfo, 10 Februar 2019, 12:08:54

Vorheriges Thema - Nächstes Thema

RoKoInfo

Hallo,

im Zuge der Umstellung auf EnOcean baue ich gerade eine Heizkörperregelung mit den oben genannten Komponenten auf:

  • iTRV eep A5-20-01,
  • STPH eep A5-04-01: Messung alle 100s, Broadcast bei dT>0,5°C oder dH>2%, Heartbeat alle 15min bis 30min (Herstellerangaben),
  • und dem Modul HeatingControl und einige Dummys für Schaltzustände. Dabei wird innerhalb eines Temperaturbands um den Sollwert geregelt (iTRV operationMode setpointTemp), darüber oder darunter operationMode setpoint mit keiner/maximaler Heizleistung.

Das funktioniert mittlerweile in etlichen Räumen prächtig (mit einer kleinen Ausnahme, siehe Problem 2), aber:

  • Im letzten Raum, den ich umstelle, hängen zwei iTRV an einem STPH, was irgendwie bockt. Der zweite Regler flippt immer wieder vom Regelbetrieb zurück in operation Mode setpoint, ohne dass ich bisher den Grund dafür finden konnte,
  • Hie und da gibt es die Fehlermeldung "EVENT alarm: no_response_from_actuator". Die STPHs sind für den Regler scheinbar etwas zu langsam.

So, jetzt zu meinen Fragen:

  • Ich habe mich abgemüht Problem 1 zu verstehen, scheitere daran aber im Moment. Vielleicht gibt es jemand, der die Module kennt und der mir einen Tipp geben kann. Essen sich da die iTRVs gegenseitig die Events weg, oder was passiert da?
  • Zum Problem 2 kenne ich den Hinweis (die Lösung?) mit event-min-interval aus dem FHEMWiki. Das würde aber mehr Logzeilen für das jeweilige STPH bedeuten, richtig? Jetzt bin ich auf die Idee verfallen aus dem STPH eine "Dummy-Temperatur" abzuleiten. Wie kriege ich den temperature-Wert aus dem STPH in einen Dummy, der dann wieder in das temperatureRefDev des iTRV gefüttert werden könnte? Ginge das überhaupt so? Würde mir eine "Dummy-Temperatur" pro iTRV Problem 1 nebenbei von der Backe schaffen?
Vielen Dank im voraus. Ich kann für eine detailliertere Diskussion gerne noch Code-Snippets anhängen.

RoKoInfo

cwagner

#1
Leider kann ich nicht aus eigener Erfahrung mit Themostaten beisteuern, weil ich nur mit Temepratursensoren (Enocean und 1-Wire) die Aktoren regele.

Was ich aber aus diesem Setup bestätigen kann ist, dass jahrelang schon -1- Sensor für -2- Aktoren klappt (als temperatureRefDev) störungsfrei funktioniert.

Die Alarme und der Rückfall in den Notbetrieb habe ich aber auch reichlich beobachtet.  Um zu verifizieren ob das auch bei Dir das Problem ist schlage ich dies  vor:


define DI_TEST2 DOIF {[+00:05] {fhem "set RR_HWR desired-temp [T.Kanal.HWR:temperature]"}}


RR_HWR ist mein Raumregler   
T.Kanal.HWR wäre Dein Thermostat

Der sendet alle 5 Minuten die letzte gemessene Temperatur...

Natürlich geht das alternativ auch mit einem Notify

Herzliche Grüße

Christian

PI 2B+/3B+ Raspbian 12, Perl 5.36.0, FHEM 6.3: 295 Module in ConfigDB: Steuerung Heizkessel, FBH, Solarthermie, kontr. Lüftung mit WRG. Smarthome u.a. HMCUL, 1-Wire (FT232RL ; DS2480B), EnOcean (TCM EPS3), MQTT2. DOIF, PID20, Threshold, OWX; Micropelt IRTV, Volkszähler, SolarForecast; MariaDB

RoKoInfo

Hallo Christian "cwagner", hallo an alle,

so, nach einer schöpferischen Pause habe ich mir die Heizungsregelung noch einmal angesehen. Ich habe die Sollwerteinstellung komplett vereinfacht - geht nur mehr über ein rechtzeitig aktualisiertes "desired-temp", und jetzt scheint es zu laufen. Etwas Mühe machte dabei noch, dass "pidState" immer mal wieder zu "stopped" gesprungen ist. Dann gibt es wohl kein neues "setpointSet", richtig?

Ich konnte die genaue Ursache dafür nicht ausmachen, aber das (aktiv gesetzte) Attribut "pidCtrl = on" scheint es gerichtet zu haben. Ich werde die kommenden Tage noch dran bleiben, aber bisher toitoitoi... obwohl natürlich die Heizzeiträume immer kürzer werden, und die nächste Heizperiode erst im Herbst wieder beginnt. Mal sehen, was aus dem "no_response_from_actuator" wird, im Moment hat es sich wohl ebenfalls verflüchtigt, ebenso wie das Problem mit zwei Aktuatoren an einem Sensor.

Als etwas unschön betrachte ich an der jetzigen Lösung das Fortlaufen des Integralteils am Ende der Heizzeitraums, bis das Verhindern des Wind Ups über PID20 einsetzt. Als einfache und in sich geschlossene Lösung erscheint es mir sinnvoll, den Integralteil zu Null zu setzen, wenn der Proportionalteil einen gewissen Betrag überschreitet. Würde indirekt das ursprüngliche "Regelband" wieder zurück bringen. Wie macht man das richtig? Danke im voraus.

RoKoInfo