Um eine Schätzung der Umgebungstemperatur zu erhalten, misst das Gerät alle 5 Minuten die Vorlauftemperatur und bildet einen gleitenden Mittelwert über die letzten 30 Minuten. Es führt dann die folgende Berechnung durch:

--uriencoded--\text%7BUmgebungstemperatur%7D = \frac %7B\text%7BUmgebungssensor Roh Wert%7D%5e%7B2.2%7D%7D %7B\text%7BVorlaufsensor Roh Wert Gleitender Durchschnitt%7D%5e%7B1.2%7D%7D

Um die vorgegebene Raumtemperatur zu erreichen, wendet das Gerät den PI-Algorithmus an.

Wenn innerhalb der letzten 5 Minuten über Port 0x01 Downlink eine Raumtemperatur übermittelt wurde, verwendet das Gerät diese; andernfalls verwendet es die geschätzte Raumtemperatur.

--uriencoded--e = \text%7BSolltemperatur%7D - \text%7BUmgebungstemperatur%7D
--uriencoded--\text%7BVentilprozent%7D = \text%7Bvorheriges Ventilprozent%7D + K_p * e + K_I *  \sum e

Die PI-Koeffizienten können durch Senden eines Port 0x07 Downlink geändert werden.

Das Gerät erwägt, den Motor alle 5 Minuten zu bewegen.