Meine HTs ändern seit neuestem ständig die eingestellte desiredTemp trotz Auto-Modus ab. Wie kann ich rausfinden, woran das liegt?
Die HTs werden über einen zum CUL geflashten Cube gesteuert. Hier mal ein list eines der Thermostate:
Internals:
CFGFN
DEF HeatingThermostat 00ff45
IODev cm
LASTInputDev cm
MSGCNT 18
NAME MAX_00ff45
NR 38
RSSI -57.5
STATE 19.5 °C
TYPE MAX
addr 00ff45
backend cm
cm_MSGCNT 18
cm_TIME 2016-02-24 12:00:10
dstsetting 1
mode 0
rferror 0
type HeatingThermostat
Readings:
2016-02-24 12:00:10 RSSI -57.5
2015-12-17 22:21:34 TimeInformationHour 5
2016-02-24 12:00:10 battery ok
2015-12-22 10:23:21 boostDuration 25
2015-12-22 10:23:21 boostValveposition 80
2015-12-22 10:23:21 comfortTemperature 21.0
2015-12-22 10:23:21 decalcification Sat 12:00
2016-02-24 12:00:10 desiredTemperature 19.5
2015-12-23 14:04:05 ecoTemperature 13.0
2015-12-22 10:23:21 firmware 1.4
2016-01-04 22:49:02 groupid 4
2015-12-22 10:23:21 maxValveSetting 100
2015-12-22 10:23:21 maximumTemperature on
2015-12-22 10:23:21 measurementOffset 0.0
2015-12-22 10:23:21 minimumTemperature off
2016-02-24 12:00:10 mode auto
2016-02-24 10:44:52 msgcnt 163
2016-02-24 12:00:10 state 19.5 °C
2016-02-24 12:00:10 temperature 18.7
2015-12-22 10:23:21 testresult 255
2015-12-22 10:23:21 valveOffset 0
2016-02-24 12:00:10 valveposition 75
2016-02-24 10:45:11 weekprofile-0-Sat-temp 15.0 °C / 15.0 °C
2016-02-24 10:45:11 weekprofile-0-Sat-time 00:00-23:55 / 23:55-00:00
2016-02-24 10:45:11 weekprofile-1-Sun-temp 15.0 °C / 15.0 °C
2016-02-24 10:45:11 weekprofile-1-Sun-time 00:00-23:55 / 23:55-00:00
2016-02-24 10:45:11 weekprofile-2-Mon-temp 15.0 °C / 15.0 °C
2016-02-24 10:45:11 weekprofile-2-Mon-time 00:00-23:55 / 23:55-00:00
2016-02-24 10:45:11 weekprofile-3-Tue-temp 15.0 °C / 15.0 °C
2016-02-24 10:45:11 weekprofile-3-Tue-time 00:00-23:55 / 23:55-00:00
2016-02-24 10:45:11 weekprofile-4-Wed-temp 15.0 °C / 15.0 °C
2016-02-24 10:45:11 weekprofile-4-Wed-time 00:00-23:55 / 23:55-00:00
2016-02-24 10:45:11 weekprofile-5-Thu-temp 15.0 °C / 15.0 °C
2016-02-24 10:45:11 weekprofile-5-Thu-time 00:00-23:55 / 23:55-00:00
2016-02-24 10:45:11 weekprofile-6-Fri-temp 15.0 °C / 15.0 °C
2016-02-24 10:45:11 weekprofile-6-Fri-time 00:00-23:55 / 23:55-00:00
2015-12-22 10:23:21 windowOpenDuration 15
2016-01-04 18:01:27 windowOpenTemperature 10.0
Internals:
interfaces thermostat;battery;temperature
Attributes:
IODev cm
alias Thermostat SZ
genericDeviceType thermostat
icon max_heizungsthermostat
room Homekit,MAX,Schlafzimmer
subtype thermostat
userattr subtype:thermostat,blindActuator,threeStateSensor
verbose 5
Wie man sieht, läuft das Thermostat auf auto und sollte laut Wochenprogramm auf 15°C stehen, eingestellt sind aber 19,5°C.
desiredTemperature 19.5
...
mode auto
...
weekprofile-4-Wed-temp 15.0 °C / 15.0 °C
weekprofile-4-Wed-time 00:00-23:55 / 23:55-00:00
Mittlerweile habe ich bereits den Max-Scanner rausgeschmissen und eben auch das Wochenprogramm neu ans HT geschickt. Nach dem Neuprogrammieren ging es auch auf 15°C. Nach kurzer Zeit wird aber wieder 19,5°C eingestellt. Trotz "verbose 5" finde ich aber dazu keine Einträge im Log, die letzten Einträge sind vom Senden des Wochenprogramms.
Ich habe das Gefühl, daß irgendwie dieselbe desiredTemp an mehrere Thermostate gesendet wird. Alle HTs, bei denen ich das Problem habe, haben nämlich dieselbe Temperatur. (siehe Screenshot)
Mein Wandthermostat im Wohnzimmer mit den beiden angeschlossenen HTs steht auf 19,5°C, aber sonst sehe ich keinen Zusammenhang. Jeder Raum hat eine eigene Groupid, keine davon ist 0.
Ich bin für jede Hilfe zum Finden des Problems dankbar, hab nämlich keine wirkliche Lust, wieder alles zu resetten und neu anzulernen. Das Verbinden mit den Fensterkontakten ist nämlich immer Glückssache.
Edit:
Hier habe ich den HT nochmal auf 15°C gesetzt:
2016-02-24 13:11:19.576 MAX MAX_007fed mode: manual
2016-02-24 13:11:19.576 MAX MAX_007fed battery: ok
2016-02-24 13:11:19.576 MAX MAX_007fed desiredTemperature: 15.0
2016-02-24 13:11:19.576 MAX MAX_007fed valveposition: 73
2016-02-24 13:11:19.576 MAX MAX_007fed 15.0 °C
2016-02-24 13:11:19.576 MAX MAX_007fed RSSI: -53.5
Und hier wird er wieder auf 19,5°C gesetzt ohne mein Zutun:
2016-02-24 13:13:00.620 weekprofile HT_GZ_Prog profile_count: 1
2016-02-24 13:13:01.046 readingsGroup Heizungswerte MAX_007fed.battery: image/svg+xml 13 -2.688,6 -6,6 l -65.5,20 c -3.313,0 -6,-2.687 -6,-6 v -20 c 0,-3.313 2.687,-6 6,-6 l 65.5,-20 c 3.313,0 6,2.687 6,6 v 20 z" id="path15" inkscape:connector-curvature="0" />
2016-02-24 13:13:01.146 readingsGroup Heizungswerte MAX_007fed.valveposition: 10 %
2016-02-24 13:13:01.213 readingsGroup Heizungswerte MAX_007fed.mode: manual
2016-02-24 13:13:01.280 readingsGroup Heizungswerte MAX_007fed.desiredTemperature: 19.5 °C
2016-02-24 13:13:01.346 readingsGroup Heizungswerte MAX_007fed.temperature: 18.7 °C
2016-02-24 13:13:01.369 MAX MAX_007fed mode: manual
2016-02-24 13:13:01.369 MAX MAX_007fed battery: ok
2016-02-24 13:13:01.369 MAX MAX_007fed desiredTemperature: 19.5
2016-02-24 13:13:01.369 MAX MAX_007fed temperature: 18.7
2016-02-24 13:13:01.369 MAX MAX_007fed valveposition: 10
2016-02-24 13:13:01.369 MAX MAX_007fed 19.5 °C
2016-02-24 13:13:01.369 MAX MAX_007fed RSSI: -53.5
Nachdem ich jetzt auch weekprofile noch rausgeschmissen habe, sollte jetzt eigentlich kein anderes Modul mehr mit MAX interagieren. Aber leider hat das auch nichts geholfen.
Irgendetwas übersteuert alle Einstellungen. Gestern habe ich ein Fenster geöffnet und das Thermostat ging erst brav auf windowOpenTemperature, nach kurzer Zeit stand es trotz geöffnetem Fensterkontakt wieder auf 19,5°C. Das einzige, was beibehalten wird, ist maximumTemperature. Wenn ich die z.B. auf 15°C setze, geht desiredTemperature auch nicht höher.
Da ich leider in den Events und Logs trotz verbose 5 nicht erkennen kann, was die Temperatur setzt, bleibt mir wohl nichts anderes übrigens, als alles zu reseten und das ganze MAX-System neu aufzusetzen. :(
Zumindest ist es momentan in der ganzen Wohnung mollig warm... ;D
Das einzige was mir dazu einfällt ist die groupid, die zwischen mehreren HT / WT (ungewollt) identisch ist.
Theoretisch müsste das doch einfach zu testen sein:
- Setze einen HT auf z.B. 13.5 Grad
- Prüfe ob / welche HT /WT sich noch auf 13.5 geändert haben
Das ganze solle auch mit auto / manu Umschaltung funktionieren.
Gruss + viel Erfolg
willyk
Es scheint am fakeWT zu liegen. Ein Thermostat habe ich über fakeWT gesteuert, indem ich ihm die Ist- und Solltemperatur von meiner tado-Heizungssteuerung übergeben habe. Nachdem ich fakeWT jetzt rausgenommen (deassociate) habe, scheint erstmal alles wieder zu funktionieren. Bis jetzt laufen alle HTs seit ein paar Stunden genau nach Wochenprogramm.
Dann werde ich heute abend mal testen, wo das Problem mit fakeWT liegt.
Hm, ohne fakeWT lief alles wieder wie es soll. Jetzt habe ich ein notify wieder aktiv gesetzt, daß die Temperatur im Wohnzimmer regelt.
tado_temp_v2:tempsoll:.* {
my $soll = $EVTPART1 + 1;
Log 4, "n_TadoExtTemp_wz - Soll: $soll";
MaxSetDesired("MAX_02a823", $soll);
}
Die von der Heizungssteuerung in der Küche kommende Solltemperatur soll also 1° höher ans Wandthermostat (MAX_02a823) im Wohnzimmer übergeben werden. Dazu habe ich aus "MaxFakeWallThermostat" folgendes gebastelt:
sub MaxSetDesired($$)
{
my ($heizung, $sollTemp) = @_;
my $desiredTemp = roundup($sollTemp);
my $windowOpenTemp = ReadingsVal($heizung, "windowOpenTemperature", undef);
my $lastTemp = ReadingsVal($heizung, "LastSetTemperature", 0);
if($desiredTemp && $windowOpenTemp &&
$desiredTemp != $windowOpenTemp &&
$desiredTemp != $lastTemp) {
Log 3, "MaxSetDesired: set $heizung desiredTemperature $desiredTemp";
readingsSingleUpdate($defs{$heizung}, "LastSetTemperature", $desiredTemp, 0);
fhem("set $heizung desiredTemperature $desiredTemp");
}
}
Wenn die Heizung nicht im "Fenster offen"-Modus ist und die übergebene Temperatur (auf 0,5° aufgerundet) ungleich der zuletzt gesetzten Temperatur ist, wird eine neue desiredTemp gesetzt. Das funktioniert auch. Solltemperatur der Heizung ist aktuell 18,21°C, das Wandthermostat hat als desiredTemp 19,5°C, prima.
ABER: Mein Badezimmer-Thermostat im Auto-Modus sollte laut Wochenprogramm auf 17°C laufen, hat jetzt aber auch 19,5°C, und war erst, seitdem der Notify wieder aktiv ist. Groupid fürs WZ ist 1, fürs Bad 3, also nicht gleich. Die habe ich auch gestern extra nochmal für alle Thermostate neu gesetzt.
Was läuft hier schief?
Edit: Alle anderen Thermostate werden auch hoch geregelt. War mir nur erst nicht aufgefallen, da ich bei denen noch maximumTemperature gesetzt hatte.
Edit2: Scheinbar werden die Temperatur-Readings auch einfach bei allen "fehlerhaften" Thermostaten falsch gesetzt. Es ist zumindest sehr unwahrscheinlich, daß in allen betroffenen Räumen auf 0,1° genau die gleiche Temperatur herscht trotz unterschiedlichen Ventilstellungen von 0-100% (siehe Screenshot).
Kann es sein dass das notify falsch definiert ist? Anscheinend wird es nicht nur für das Wohnzimmer gesetzt, sondern für alle WTs
Das Notify steht ja oben. Darin übergebe ich Heizung und Sollwert. Und in der entsprechenden Routine in MyUtils wird auch nur der Wert in dieses Gerät geschrieben. Es ist mir ein echtes Rätsel, was hier passiert.