Urlaubsmodus bei MAX-Thermostat

Ich versuche gerade den Urlaubsmodus einzurichten, scheitere aber an den Parametern. Ich verwende ein PHP-Script mit folgenden Parametern:

  • stopTime: Zeit in Minuten seit 0:00
  • stopDay: End Tag
  • stopMonth: End Monat
  • stopYear: End Jahr (2- oder 4-stellig? habe beides probiert)
  • $temp: Urlaubstemperatur

HIer der entsprechende Teil aus dem Skript:

$hg->setValue($id, 1, "PARTY_STOP_TIME", $stopTime);
$hg->setValue($id, 1, "PARTY_STOP_DAY", $stopDay);
$hg->setValue($id, 1, "PARTY_STOP_MONTH", $stopMonth);
$hg->setValue($id, 1, "PARTY_STOP_YEAR", $stopYear);
$hg->setValue($id, 1, "PARTY_TEMPERATURE", $temp);

Es geht aktuell um einen Wandthermostaten (BC-TC-C-WM-2), aber mehrere Heizungsthermostate (BC-RT-TRX-CyG-2) müssen auch noch eingestellt werden.

Mein Problem ist, dass der Thermostat zwar in den Urlaubsmodus wechselt, aber nicht zur eingestellten Zeit wieder in den Auto-Modus wechselt.

Update 1:
Laut den Log-Ausgaben scheint es so, dass bei jedem Aufruf von setValue alle Party-Parameter gesetzt werden. Was allerdings komisch ist, ist dass der Monat immer mit dem Wert 0 gesetzt wird. Der Aufruf (über das CLI) von

$hg->setValue(8,1,"PARTY_STOP_MONTH",8);

bewirkt folgende Log-Ausgabe

10/01/17 21:18:17.714 Module MAX: Info: PARTY_STOP_DAY on channel 1 of peer 8 with serial number KEQ0061689 was set to 0x01.
10/01/17 21:18:17.714 Module MAX: Info: PARTY_STOP_MONTH on channel 1 of peer 8 with serial number KEQ0061689 was set to 0x00.
10/01/17 21:18:17.714 Module MAX: Info: PARTY_STOP_TIME on channel 1 of peer 8 with serial number KEQ0061689 was set to 0x2B.
10/01/17 21:18:17.714 Module MAX: Info: PARTY_STOP_YEAR on channel 1 of peer 8 with serial number KEQ0061689 was set to 0x11.

Update 2:
Ich habe mir mal die Definitionsdatei im github angeschaut und gesehen, dass im PARTY_MODE_SET packet der Monat zwei mal gesetzt wird (Zeile 373 und 383) - könnte das der Fehler sein?

Vielleicht kann @Zennix da helfen?

Würde ich gerne, ich nutze ja auch nur die API.
Ich denke das ist ein Fall für Sathya.

Grüße / Zennix

1 Like

Hast Du denn schon mal erfolgreich den Urlaubsmodus gesetzt?

Hallo DOliana,

habs mal probiert. Die Jahreszahlen sind immer zweistellig. Den Monat setzt er bei mir auch immer auf 0.
Den Urlaubsmodus verwende ich nicht.

Grüße / Zennix

@Zennix: Danke für den Test.
@sathya: Kannst Du mir hier helfen?

Hallo @DOliana,

das muss ich mir im büro noch einmal näher ansehen. Die Implementierung ist schon zu lange her… Es ist aber ziemlich sicher verkehrt, dass der Monat im Log auf 0 gesetzt wird.

Viele Grüße

Sathya

Hi Sathya,
wäre super, wenn Du dir das anschauen kannst. Wenn ich etwas testen soll, sag Bescheid!
Gruß,
Denis

Hi @sathya,

Hattest du schon Gelegenheit, dir das anzuschauen?

Hallo @DOliana,

da war ein Fehler, so dass tatsächlich niemals der richtige Wert übertragen wurde. Er sollte im nächsten Nightly gefixed sein. Ich kann es gerade an meinem Computer nicht testen, werde das morgen aber nachholen.

Viele Grüße

Sathya

Da war noch ein kleiner Fehler. Jetzt gehts :slight_smile: - hab’s heute getestet.

1 Like

@sathya: Super - vielen Dank. Ich werde es testen und melde mich.

Hi @sathya,

der Monat wird jetzt korrekt gesetzt - danke nochmal. Irgendetwas scheint da aber noch schief zu sein (evtl. natürlich auch bei mir!).
Wenn ich den Urlaubsmodus setze, zeigt er auf dem Thermostat (BC-TC-C-WM-2) 26.00 als Uhrzeit für das Ende des Urlaubsmodus an - normalerweise wird dort die eingegebene Uhrzeit angezeigt. Befehl:

 $hg->setValue(8, 1, "PARTY_STOP_TIME", 660) 

Log-Ausgabe (bin mir nicht ganz sicher, da scheinbar zwei mal alles gesetzt wird):

12/29/17 10:44:36.510 Module MAX: Info: PARTY_STOP_DAY on channel 1 of peer 8 with serial number KEQ0061689 was set to 0x1D.
12/29/17 10:44:36.510 Module MAX: Info: PARTY_STOP_MONTH on channel 1 of peer 8 with serial number KEQ0061689 was set to 0x00.
12/29/17 10:44:36.510 Module MAX: Info: PARTY_STOP_TIME on channel 1 of peer 8 with serial number KEQ0061689 was set to 0x16.
12/29/17 10:44:36.511 Module MAX: Info: PARTY_STOP_YEAR on channel 1 of peer 8 with serial number KEQ0061689 was set to 0x43.
12/29/17 10:44:37.848 Module MAX: Info: PARTY_STOP_DAY on channel 1 of peer 8 with serial number KEQ0061689 was set to 0x1A.
12/29/17 10:44:37.848 Module MAX: Info: PARTY_STOP_MONTH on channel 1 of peer 8 with serial number KEQ0061689 was set to 0x00.
12/29/17 10:44:37.848 Module MAX: Info: PARTY_STOP_TIME on channel 1 of peer 8 with serial number KEQ0061689 was set to 0x2C.
12/29/17 10:44:37.848 Module MAX: Info: PARTY_STOP_YEAR on channel 1 of peer 8 with serial number KEQ0061689 was set to 0x01.

Ich verwende übrigens die nightly vom 22.12.2017.

2 Likes