Offset einstellen für MAX!-Heizkörperthermostate

Begonnen von stobor, 02 Februar 2014, 20:09:00

Vorheriges Thema - Nächstes Thema

Nekano

Entschuldige wenn ich das Frage, aber hast du gelesen was mein Problem ist?

fermoll

Hallo Nekano

Du hast recht. Ich habe wohl den Sinn der Frage nicht ganz verstanden. Hast du aber mal überlegt, ob die Elektronik des HT überhaupt zu solchen Berechnungen in der Lage ist? Zum anderen, wie genau kann die Temperaturanzeige direkt am Heizkörper sein? Bei meiner Konfiguration zeigt im Moment der S300Th, der frei im Wohnzimmer  steht, 20,8°C an,  ein HT 23,0°C, der andere 24,5°C. Beide haben einen Offset von -3 eingestellt und sind von einer Gardine verdeckt. ELV bietet nicht umsonst Raumthermostate an. Wie im anderen Strang schon beschrieben, stößt der Cube z.B. bei meiner Konfiguration an seine Grenzen. Das Abfragen mit dem Temp.Scanner scheint bei der Verwendung von vielen HT's ebenfalls kritisch zu sein.
FHEM auf Synology Ds 1621+ in Docker, . 2x Max!Cube, Debmatic auf RPI 3  mit HM-MOD-RPI-PCB , CUNO mit 35cm Antene, 2x HM-LC-Bl1PBU-FM, HC-LC-Bl1-FM
22 HT u. HT+, Fensterkontakte, S300TH, EM 100-GZ(S).
Diverse Wemos mit ESPEasy. 2. RPI3+, 1 RPI 4 8GB

berndgel

Hallo,
nach meinem Wissen kann über Cube ein measurmentOffset nur für den Wandthermostaten eingestellt werden.
Das habe ich probiert und das funktioniert auch.
Nützt aber bei 4 Heizkörpern in einem Raum gar nichts, weil Sie trotzdem alle die gleiche Solltemperaturvorgabe mit dem gleichen Offset (nämlich dem, mit dem der Wandthermostat programmiert ist) vom Wandthermostaten vorgegeben bekommen, unabhängig von Lage der Heizkörper im Raum.

Nachdem ich genau deshalb den Cube rausgeworfen habe und nun alles nur noch über FHEM CUL laufen lasse, kann ich nun für die Heizkörperthermostate einen jeweils eigenen measurementOffset einstellen. z.B.

set Heizkörperthermostatname measurementOffset 3

Der kommt auch an, leider zeigt der programmierte Offset keine Wirkung.

Gibt es da andere Erfahrungen?

LG

bernd

fermoll

#18
Zitat von: berndgel am 03 März 2015, 00:46:44
Hallo,
nach meinem Wissen kann über Cube ein measurmentOffset nur für den Wandthermostaten eingestellt werden.
Das habe ich probiert und das funktioniert auch.


Das ist so nicht richtig. Man sollte jedoch die Änderung nicht in der FHEM.cfg vornehmen.

Eine Bitte: In der Signatur die verwendeten Geräte eintragen. Das ist sehr hilfreich.
FHEM auf Synology Ds 1621+ in Docker, . 2x Max!Cube, Debmatic auf RPI 3  mit HM-MOD-RPI-PCB , CUNO mit 35cm Antene, 2x HM-LC-Bl1PBU-FM, HC-LC-Bl1-FM
22 HT u. HT+, Fensterkontakte, S300TH, EM 100-GZ(S).
Diverse Wemos mit ESPEasy. 2. RPI3+, 1 RPI 4 8GB

berndgel

Hallo Fermoll,

ich hatte versucht zu erklären, dass unter der Benutzeroberfläche der zum CUBE gehörigen SW der Offset nur für den Wandthermostaten einstellbar ist. Das bezog sich auf einen Betrieb ohne FHEM und ohne CUL. Deshalb habe ich ja den CUBE rausgeworfen und betreibe nunmehr das System ausschließlich mit FHEM, CUL und Fritzbox (allerdings mit dem von mir beschriebenen Problem).
Haben wir uns da vielleicht missverstanden?

Hat jemand erfolgreich unter FHEM den measurementOffset in Max-Heizkörper-Thermostaten mit entsprechender Auswirkung verändern können?
Ich komme da nicht weiter.

LG

Bernd

fermoll

#20
Hallo berndgel
Schau dir mal die beiden Bilder an. Ich habe das allerdings bisher immer mit Max!Buddy gemacht, aber auch in FHEMWeb ausprobiert, nicht durch Änderung der FHEM.cfg. Es geht übrigens mit dem set Befehl.
FHEM auf Synology Ds 1621+ in Docker, . 2x Max!Cube, Debmatic auf RPI 3  mit HM-MOD-RPI-PCB , CUNO mit 35cm Antene, 2x HM-LC-Bl1PBU-FM, HC-LC-Bl1-FM
22 HT u. HT+, Fensterkontakte, S300TH, EM 100-GZ(S).
Diverse Wemos mit ESPEasy. 2. RPI3+, 1 RPI 4 8GB

fermoll

#21
@ Joachim

Im Übrigen finde ich dein Verhalten grenzwertig.
Die Dokumentation z.B. bei MaxLan ist ja wohl alles andere als berauschend. Wenn man mal vergleicht.
FHEM auf Synology Ds 1621+ in Docker, . 2x Max!Cube, Debmatic auf RPI 3  mit HM-MOD-RPI-PCB , CUNO mit 35cm Antene, 2x HM-LC-Bl1PBU-FM, HC-LC-Bl1-FM
22 HT u. HT+, Fensterkontakte, S300TH, EM 100-GZ(S).
Diverse Wemos mit ESPEasy. 2. RPI3+, 1 RPI 4 8GB

Joachim

Zitat@ Joachim

Im Übrigen finde ich dein Verhalten grenzwertig.
Die Dokumentation z.B. bei MaxLan ist ja wohl alles andere als berauschend. Wenn man mal vergleicht.

Ich weiß nicht, was an meiner Antwort aus dem letzten Jahr grenzwertig war.
Wenn man in die commandref zum MAX (nicht MAXLAN!) sieht, steht dort:
Zitat
measurementOffset <value>
Nur für Heizkörperthermostate. Schreibt die angegebene offset Temperatur in den Speicher des Gerätes. Wenn der interne Temperatursensor nicht korrekt kalibriert ist, kann dieses einen systematischen Fehler erzeugen. Mit dem Wert measurementOffset, kann dieser Fehler kompensiert werden. Die ausgelese Temperatur ist gleich der gemessenen Temperatur + measurementOffset. Normalerweise ist die intern gemessene Temperatur höher als die Raumtemperatur, da der Sensor näher am Heizkörper ist und man verwendet einen kleinen negativen Offset, der zwischen -3,5 und 3,5 Kelvin sein muß.

Ich finde dass ziemlch eindeutig.
und verweise deshalb noch einmal auf:
« Antwort #4 am: 02 Februar 2014, 22:46:10 » hier der Link:
http://forum.fhem.de/index.php/topic,19669.msg132805.html#msg132805

Gruß Joachim

@Nekano,
bei mir macht measurementOffset genau das, was es soll.
negativer Offset verringert die angezeigte Ist Temperatur,
positiver Offset erhöht die angezeigte Ist Temperatur.
FHEM aktuellste Version auf FB 7570 und 7390 mit Zebradem Toolbox Freetz
FHEM auf Raspberry
1-Wire mit LinkUSBi und Rs-Pi ds2482-800  1-Wire-9 Board; Max mit Cube, HMLAN
div. 1-Wire Sensoren; MAX-Thermostaten; Homematic-Komponenten, Zehnder KWL über RS-232

fermoll

Einen Neueinsteiger, und an die war ja dein Statement gerichtet, so abzukanzeln, halte ich nach wie vor für grenzwertig. Von der Qualität der CommandRef will ich hier gar nicht anfangen.
Wenn du dir mal anschaust, wieviele Attr. im Frontend aufgeführt sind ( s. meine beiden letzten Fotos) und wie viele an zwei Stellen in zwei Sprachen - man hätte allerdings auch das Thema MAX auf Englisch lesen können -  beschrieben sind, ist das für jemanden der beide Sprachen beherrscht, aber im Thema wenig bewandert ist, schon sehr schwierig. Und das war bei dem Adressaten mit ca. 170 Beiträgen wohl offensichtlich gar nicht der Fall.
Aber tröste dich, gegenüber den Entwicklern des MAX!Systems ist das noch wesentlich besser.
FHEM auf Synology Ds 1621+ in Docker, . 2x Max!Cube, Debmatic auf RPI 3  mit HM-MOD-RPI-PCB , CUNO mit 35cm Antene, 2x HM-LC-Bl1PBU-FM, HC-LC-Bl1-FM
22 HT u. HT+, Fensterkontakte, S300TH, EM 100-GZ(S).
Diverse Wemos mit ESPEasy. 2. RPI3+, 1 RPI 4 8GB

berndgel

#24
Hallo,
ich habe versucht folgendes Problem zu erkunden: associate blockiert measurementOffset.

Ich habe einen Max Heizkörperthermostaten und einen MAX Wandthermostaten auf dem Schreibtisch getestet mit folgender fhem.cfg (beide Komponenten sind factoryresetted und mit CUL gepaired) :

attr global logfile ./log/fhem-%Y-%m.log
attr global modpath .
attr global statefile ./log/fhem.save
attr global verbose 3
attr global updateInBackground

define telnetPort telnet 7072 global

define WEB FHEMWEB 8083 global

define WEBphone FHEMWEB 8084 global
attr WEBphone stylesheetPrefix smallscreen

define WEBtablet FHEMWEB 8085 global
attr WEBtablet stylesheetPrefix touchpad

# Fake FileLog entry, to access the fhem log from FHEMWEB
define Logfile FileLog ./log/fhem-%Y-%m.log fakelog

#define autocreate autocreate
attr autocreate filelog ./log/%NAME-%Y.log

define eventTypes eventTypes ./log/eventTypes.txt

# Disable this to avoid looking for new USB devices on startup
define initialUsbCheck notify global:INITIALIZED usb create

#xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx bir hierher original xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx


#attr global autoload_undefined_devices 1
#define WEB FHEMWEB 8083 global
#attr WEB stylesheetPrefix bright


define CUL0 CUL /dev/ttyACM0@9600 0000
attr CUL0 rfmode MAX
define cm CUL_MAX 123456 # event-on-change-reading .*
attr cm IODev CUL0
set cm pairmode 720



#xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx Anfang Komponenten xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

#neuer Thermostat Bernd
define HKn_Bernd MAX HeatingThermostatPlus 113e49
attr HKn_Bernd IODev cm
attr HKn_Bernd group HK
attr HKn_Bernd room Bernd
define FileLog_HKn_Bernd FileLog ./log/HKn_Bernd-%Y.log HKn_Bernd
attr FileLog_HKn_Bernd logtype text
attr FileLog_HKn_Bernd room Bernd


#Wandthermostat Bernd
define WT_Bernd MAX WallMountedThermostat 1058fc
attr WT_Bernd IODev cm
attr WT_Bernd group WT
attr WT_Bernd room Bernd
define FileLog_WT_Bernd FileLog ./log/WT_Bernd-%Y.log WT_Bernd
attr FileLog_WT_Bernd logtype text
attr FileLog_WT_Bernd room Bernd


#!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Ende Komponenten   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
#set WT_Bernd displayActualTemperature 1
#XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX Anfang Setings     xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx



#HKn_Bernd
#set HKn_Bernd measurementOffset -3.0
set HKn_Bernd windowOpenTemperature 5
set HKn_Bernd comfortTemperature 20
set HKn_Bernd ecoTemperature 10
set HKn_Bernd maxValveSetting 60

#WT_Bernd
set WT_Bernd displayActualTemperature 1
set WT_Bernd windowOpenTemperature 5
set WT_Bernd comfortTemperature 20
set WT_Bernd ecoTemperature 10




#Wochenprogramm HKn_Bernd
set HKn_Bernd weekProfile Mon 10.0,17:00,20.0,23:00,10.0,23:55,10.0
set HKn_Bernd weekProfile Tue 10.0,17:00,20.0,23:00,10.0,23:55,10.0
set HKn_Bernd weekProfile Wed 10.0,17:00,20.0,23:00,10.0,23:55,10.0
set HKn_Bernd weekProfile Thu 10.0,17:00,20.0,23:00,10.0,23:55,10.0
set HKn_Bernd weekProfile Fri 10.0,17:00,20.0,23:00,10.0,23:55,10.0
set HKn_Bernd weekProfile Sat 10.0,17:00,20.0,23:00,10.0,23:55,10.0
set HKn_Bernd weekProfile Sun 10.0,17:00,20.0,23:00,10.0,23:55,10.0

#Wochenprogramm WT_Bernd
set WT_Bernd weekProfile Mon 10.0,17:00,20.0,23:00,10.0,23:55,10.0
set WT_Bernd weekProfile Tue 10.0,17:00,20.0,23:00,10.0,23:55,10.0
set WT_Bernd weekProfile Wed 10.0,17:00,20.0,23:00,10.0,23:55,10.0
set WT_Bernd weekProfile Thu 10.0,17:00,20.0,23:00,10.0,23:55,10.0
set WT_Bernd weekProfile Fri 10.0,17:00,20.0,23:00,10.0,23:55,10.0
set WT_Bernd weekProfile Sat 10.0,17:00,20.0,23:00,10.0,23:55,10.0
set WT_Bernd weekProfile Sun 10.0,17:00,20.0,23:00,10.0,23:55,10.0


#!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Ende Settings     !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Dann habe ich in der Kommandozeile

set Hkn_Bernd measurmentOffset -3
eingegeben. Daraufhin wird der eingestellte measurementOffset richtig vom Heizkörperthermostaten beücksichtigt und auch die Anzeige der Temperatur im reading ist entsprechend korrigiert.

Funktioniert also, wie gewünscht.

Wenn ich jetzt aber Wand- und Heizörperthermostat  mittels Kommandozeile per associate miteinander verheirate,mit :
set HKn_Bernd associate WT_Bernd
set WT_Bernd associate HKn_Bernd

wird zwar der measurementOffset des Heizkörperthermostaten im reading weiterhin richtig angezeigt, wird aber nicht mehr als Korrekturgröße verarbeitet und nicht im reading der Isttemperatur berücksichtigt, hat also keinen Effekt mehr und ist damit sinnlos.

Funktioniert überhaupt nicht, wie gewünscht.

Dieser Fehler kann auch nicht mit anschließendem deassociate oder shutdown restart wieder rückgängig gemacht werden. MeasurementOffset ist somit für diesen Heizkörperthermostaten nur noch mit factoryreset wieder aktivierbar. Aus meiner Sicht ein schwerwiegender Fehler, der es nicht gestattet, mehrere Heizkörperthermostate mit einem Wandthermostaten sinnvoll zu betreiben.

Ein z.B. 2 m hoher Heizkörper und ein 50 cm hoher Heizkörper können nicht ohne Berücksichtigung eines Offset miteinader vernünftig mit einem Wandthermostaten betrieben werden (ein Ventil ganz oben, das andere ziemlich weit unten).

Meine Frage nach vielen Stunden des Testens ist nun: Liegt es an dem entsprechenden Perl Modul in FHEM oder ist das ein Fehler in der Firmware des Heizkörperthermostaten?

Ich bitte um eine Erklärung des festgestellten Verhaltens oder besser noch um einen Vorschlag zu Lösung des Problems.

Danke

+

LG

bernd

Joachim

Moin berndgel,

verstehe Dein Problem nicht wirklich.
Wenn Du einen Wandthemostat verwendest, interessiert der Temperatursensor des Heizkörperthermostaten nicht mehr, der Wandthermostat ist der Sollwertgeber. Wenn Deine Heizkörper unterschiedlich warm werden heisst der richtige Parameter:
valveOffset <value>
Nur für Heizkörperthermostate. Schreibt den angegebenen offset Wert der Ventilstellung in den Speicher des Gerätes Der Heizkörperthermostat wird diesen Wert während der Regelung zu den berechneten Ventilstellungen hinzuaddieren.


Zum zweiten Punkt:
ZitatDieser Fehler kann auch nicht mit anschließendem deassociate oder shutdown restart wieder rückgängig gemacht werden. MeasurementOffset ist somit für diesen Heizkörperthermostaten nur noch mit factoryreset wieder aktivierbar. Aus meiner Sicht ein schwerwiegender Fehler, der es nicht gestattet, mehrere Heizkörperthermostate mit einem Wandthermostaten sinnvoll zu betreiben.

wurde das deassociate wirklich komplett durchgeführt, oder mangels Credits abgebrochen?
was spricht gegen einen factory reset?

Gruß Joachim
FHEM aktuellste Version auf FB 7570 und 7390 mit Zebradem Toolbox Freetz
FHEM auf Raspberry
1-Wire mit LinkUSBi und Rs-Pi ds2482-800  1-Wire-9 Board; Max mit Cube, HMLAN
div. 1-Wire Sensoren; MAX-Thermostaten; Homematic-Komponenten, Zehnder KWL über RS-232

berndgel

Guten Abend Joachim,

ich habe insgesamt 4 HKs in einem Raum. MaxValveSetting hilft hier nicht weiter. Das habe ich als allererstes ausprobiert. Es ist einfach so, dass der größte HK (der Hohe mit der größten Leistung) aufhört, zu heizen (Ventil ganz oben, also zuerst warm) und die kleinen wie wild weiterheizen (Ventil ganz unten also zuletzt warm). Wenn ich die kleinen mit hydraulischem Abgleich begrenze, fehlt einfach die Heizleistung insgesamt. Das kann man heizungstechnisch nur durch Offset ( man macht das dann normalerweise mit einem abgesetzten Fühler, genau dafür gibt es die, aber eben nicht für einen Max-Thermostaten, dort sollte der measurementOffset für da sein). Mit meinen normalen Thermostaten habe ich einfach jeden Heizkörper individuell aufgedreht. Das gab es das Problem nicht. Aber bei jeder Sollwertveränderung der Raumtemperatur zu 4 Heizkörpern zu rennen, war mir zu unpraktisch, auch deshalb MAX.

Zu Deinen Fragen:
-  Natürlich prüfe ich immer anhand des LOGs, ob das System eingeschwungen ist (keine Wartezeiten mehr für  credits   anhängig). Deshalb habe ich auch so lange für das Testen gebraucht, auch weil ich erstmal gar nicht verstanden habe, was da los ist und viele Versuche brauchte, weil ja der Offsetwert selbst im reading korrekt erschien.
Also deassociate wurde komplett durchgeführt.

- Factoryreset führt mich ja genau wieder in die gleiche Situation. Nach associate ist wieder Schluß mit measurementOffset.

Trotzdem stellt sich die Frage für mich, was mit dem, measurementOffset los ist. So ein Feature wird doch nicht ohne Grund eingebaut. Es funktioniert für sich allein ja auch (ohne Wandthermostat), nur eben mit associate nicht. Also nach wie vor: Ist die Firmware oder das Max-Modul die Ursache? Wer könnte so etwas wissen?

Danke

+
LG

bernd

Joachim

Moin berndgel,

bitte lese, was ich geschrieben habe.
Ich habe nirgens etwas von
ZitatMaxValveSetting hilft hier nicht weiter
geschrieben, das kann Dir in Deiner Situation nicht helfen, sondern
valveOffset ist der Parameter, der Dir helfen sollte.

Falls ich mich gestern beim measurementOffset nicht verständlich ausgedrückt habe, nocheinmal in anderen Worten:
Max Thermosttat ohne Wandthermostat --> measurementOffset, um den Internen Meßfehler auszugleichen!
ein (mehrere) Max Thermostat(e) und ein Wandthermostat --> valveOffset um den unteren Totraum der einzelnen Heizkörperventile auszugleichen, damit diese gleichmäßigen Heizbeginn haben. Der eingestellte measurementOffset wird nicht beachtet!

Gruß Joachim
FHEM aktuellste Version auf FB 7570 und 7390 mit Zebradem Toolbox Freetz
FHEM auf Raspberry
1-Wire mit LinkUSBi und Rs-Pi ds2482-800  1-Wire-9 Board; Max mit Cube, HMLAN
div. 1-Wire Sensoren; MAX-Thermostaten; Homematic-Komponenten, Zehnder KWL über RS-232

berndgel

Hallo Joachim,

da habe ich in der Tat nicht richtig gelesen. War wohl schon etwas spät. Ich teste weiter und melde mich dann. Was genau macht denn valveOffset? Ich möchte ja auch nicht, dass das Ventil unabhängig von der gewünschten Temperatur immer offen ist. Irgendwann soll das Ventil ja auch mal zugehen.

LG

bernd

Joachim

ZitatWas genau macht denn valveOffset?
So wie ich das verstanden habe, wird damit der untere Totraum des Ventils ausgeglichen, nicht jedes Ventil öffnet zum gleichen Zeitpunkt, bei dem einen beginnt der Durchfluss bei 1% Ventilöffnung, bei einem anderen, z.B. bei mir erst bei 22%. Damit nun jeder Heizkörper zum gleichen Zeitpunkt mit dem Heizen beginnt, stellt man den vlaveOffset ein. hier mal 2 Links:
http://www.elv.de/topic/eine-heizung-bleibt-kalt.html
http://www.elv.de/topic/probleme-mit-max-raumloesung-suche-loesung.html

aber wir werden hier OT.
Heiungsregelung ist ein hoch komplexes Thema, und die Firmware der MAX-Thermostaten ist mMn. grenzwertig, auf Komfort ausgelegt (also lieber überheizen, als den Raum zu kalt werden zu lassen), ausserdem versucht die Max-Regelung zu lernen (kann bis zu einer Woche dauern). Und wenn Computer selbst versuchen zu lernen, kann das nur schief gehen.
Wenn Deine Frage zum measurementOffset jetzt geklärt ist, schau Dir mal das PID20-Modul an, und eröffne ggf. einen neuen Thread im Heizungssteuerung/Raumklima Unterforum.

Gruß Joachim
FHEM aktuellste Version auf FB 7570 und 7390 mit Zebradem Toolbox Freetz
FHEM auf Raspberry
1-Wire mit LinkUSBi und Rs-Pi ds2482-800  1-Wire-9 Board; Max mit Cube, HMLAN
div. 1-Wire Sensoren; MAX-Thermostaten; Homematic-Komponenten, Zehnder KWL über RS-232