HTs ändern desiredTemp selbständig?

Begonnen von mahowi, 24 Februar 2016, 12:22:57

Vorheriges Thema - Nächstes Thema

mahowi

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
CUBe (MAX): HT, FK | CUBe (SlowRF): ESA2000WZ
JeeLink: LaCrosse | nanoCUL433: Smartwares SHS-51001-EU, EM1000GZ
ZME_UZB1: GreenWave PowerNode, Popp Thermostat | SIGNALDuino: HE877, X10 MS14A, Revolt NC-5462,  IT Steckdosen + PIR
tado° | Milight | HUE, Lightify | SmarterCoffee

mahowi

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
CUBe (MAX): HT, FK | CUBe (SlowRF): ESA2000WZ
JeeLink: LaCrosse | nanoCUL433: Smartwares SHS-51001-EU, EM1000GZ
ZME_UZB1: GreenWave PowerNode, Popp Thermostat | SIGNALDuino: HE877, X10 MS14A, Revolt NC-5462,  IT Steckdosen + PIR
tado° | Milight | HUE, Lightify | SmarterCoffee

willyk

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
NUC mit Ubuntu, MAX!Cube, CUNO, 6 MAX WT, 16 MAX HT, 2 MAX Fensterkontakt, MaxScanner

mahowi

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.
CUBe (MAX): HT, FK | CUBe (SlowRF): ESA2000WZ
JeeLink: LaCrosse | nanoCUL433: Smartwares SHS-51001-EU, EM1000GZ
ZME_UZB1: GreenWave PowerNode, Popp Thermostat | SIGNALDuino: HE877, X10 MS14A, Revolt NC-5462,  IT Steckdosen + PIR
tado° | Milight | HUE, Lightify | SmarterCoffee

mahowi

#4
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).
CUBe (MAX): HT, FK | CUBe (SlowRF): ESA2000WZ
JeeLink: LaCrosse | nanoCUL433: Smartwares SHS-51001-EU, EM1000GZ
ZME_UZB1: GreenWave PowerNode, Popp Thermostat | SIGNALDuino: HE877, X10 MS14A, Revolt NC-5462,  IT Steckdosen + PIR
tado° | Milight | HUE, Lightify | SmarterCoffee

willyk

Kann es sein dass das notify falsch definiert ist? Anscheinend wird es nicht nur für das Wohnzimmer gesetzt, sondern für alle WTs
NUC mit Ubuntu, MAX!Cube, CUNO, 6 MAX WT, 16 MAX HT, 2 MAX Fensterkontakt, MaxScanner

mahowi

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.
CUBe (MAX): HT, FK | CUBe (SlowRF): ESA2000WZ
JeeLink: LaCrosse | nanoCUL433: Smartwares SHS-51001-EU, EM1000GZ
ZME_UZB1: GreenWave PowerNode, Popp Thermostat | SIGNALDuino: HE877, X10 MS14A, Revolt NC-5462,  IT Steckdosen + PIR
tado° | Milight | HUE, Lightify | SmarterCoffee