Fehler bei Berechnung von measuredTemperature ?

Begonnen von John, 08 Februar 2013, 00:03:32

Vorheriges Thema - Nächstes Thema

maplemaple

Hallo,

anbei mal ein Plot, in dem es gut zu erkennen ist. Aber ich denke ich habe eine Lösung für mein Problem.
in 10_MAX.pm in der Zeile 623,

$measuredTemperature -= $measOffset if($measuredTemperature ne "" and $measOffset ne "" and $shash->{type} =~ /HeatingThermostatPlus/ and $hash->{TYPE} eq "MAXLAN");

müsste das "and" nach /HeatingThermostatPlus/ ein "or" sein. Habe das bei mir jetzt mal geändert und es sieht sehr gut aus. Ich denke das ist genau das, was ich suche.

Was sagt der Fachmann dazu?? Liege ich an der Stelle richtig?

Matthias Gehre

#16
In deinem Plot treffen sich doch desiredTemperature und temperature am Ende, oder? So wie es sein soll?
Ansonsten ist das etwas zu kurz, um das Regelverhalten beurteilen zu können.
Dafür müsstest du eine desiredTemperature für ca. 8 Stunden fest einstellen und dann schauen, wie sich "temperature" dazu bewegt.
Ich vermute, dass "temperature" nach einer gewissen Zeit gleich "desiredTemperature" wird. Kleine Regelabweichungen von +/- ein paar Grad zu Beginn sind bei einer Heizung zu erwarten.
Die Frage ist ja, ob sich auf lange Zeit eine Differenz einstellt, weil das Thermostat möglicherweise falsch mit dem measurementOffset umgeht.

Deine Änderung der Code-Zeile kann ich so nicht einbauen. Der Ausdruck wurde genau so gebaut, nachdem verschiedene andere Leute den getestet und für richtig befunden haben. Sonst würden wir es für diese Leute kaputt machen. Wir müssen daher schauen, unter welchen genauen Umständen es bei dir nicht funktioniert. Bisher habe ich allerdings noch nichts gesehen, was mich davon überzeugt, dass es bei dir nicht richtig funktioniert.

Ich hoffe, dass der oben vorgeschlagenen Plot etwas Licht ins Dunkel bringen kann.

Um das deutlich zu sagen: measurementOffset kann nur dazu benutzt werden, dass das Thermostat die richtige Temperatur an der Heizung anzeigt. Es bringt nichts, measurementOffset auf -2 zu setzten, damit das Thermostat die Temperatur am anderen Ende des Raums "anzeigt". Der Temperaturunterschied an der Heizung und am anderen Ende des Raums ist nämlich nie konstant. So handelt man sich nur Fehler in der Regelung ein.