Die Temperaturen der Sensoren unterscheiden sich deutlich untereinander und die angezeigten Werte sind deutlich zu hoch oder zu niedrig? Dann hilft nur der Versuch einer manuellen Korrektur bzw. der Definition eines Offsets der Temperatur, um ein genaueres Ergebnis zu erreichen.

In unserem Fall haben alle Xiaomi Aqara Mija Temperatur Sensoren eine unterschiedliche Ungenauigkeit bzw. sind sehr ungenau, die teilweise bis zu 1 Grad Celsius betrug. Leider kann man weder im Xiaomi Mija Gateway noch im ioBroker-Adapter ein Offset für Temperatur-Sensoren einstellen.

Wie kann man also die Temperatur eines ungenauen Xiaomi Mija Temperatur Sensors (die Beschreibung funktioniert natürlich auch für jeden anderen Temperatur-Sensor, z.B. auch HUE Bewegungsmelder) korrigieren und ein Offset definieren?

In ioBroker ist dies sehr einfach möglich.

  1. Wir definieren einen neue Variable, in die wir die korrigierte Temperatur schreiben wollen, z.B. Javascript.0.Zuhause.Temperatur.Wohnzimmer
  2. Die Logik funktioniert wie folgt:
    1. Sobald sich die Temperatur am Temperatursensor ändert, startet das Script, korrigiert die Temperatur und schreibt die Temperatur in die neue Variable
  3. Alle Auswertungen oder weiteren Scripte greifen nicht mehr auf das Objekt des Sensors für die Temperatur, sondern auf unsere neue Variable zu

Hier das Blockly-Script:

Offset für Temperatur Sensor definieren, z.B. Xiaomi Aqara Temperatur Sensor

Offset für Temperatur Sensor definieren, z.B. Xiaomi Aqara Temperatur Sensor

Wie haben wir die Korrektur ermittelt? Wir haben alle Xiaomi Aqara Temperatur Sensoren und Philips HUE Bewegungsmelder neben ein geeichtes Thermometer gelegt. Bei ca. 20 Grad Celsius haben wir die prozentuale Abweichung zur geeichten Temperatur ermittelt und korrigieren anhand dieser prozentualen Abweichung ab sofort im Script immer die Temperatur mit diesem Wert. WICHTIG: Die Abweichung kann natürlich in anderen Temperaturbereichen unterschiedlich sein, da wir die meisten Sensoren nur innen anwenden, nehmen wir die Ungenauigkeit in Kauf. Es ist auf jeden Fall genauer, als die unveränderte Temperatur.

Tipp: Alternativ zum Script lässt sich die Korrektur in ioBroker auch über ein Alias definieren. Hierüber kann z.B. auch gelöst werden, dass die Korrektur nur bei Auslesen des Objekts erfolgt, der originale Wert aber im Datenpunkt unverändert bleibt. Alternativ kann über ein Alias auch bereits beim Schreiben eines Datenpunkts eine Korrektur (mathematische Berechnung zur Korrektur) hinterlegt werden. Alle Infos hierzu im Alias Manual.