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.
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?
- Wir definieren einen neue Variable, in die wir die korrigierte Temperatur schreiben wollen, z.B. Javascript.0.Zuhause.Temperatur.Wohnzimmer
- Die Logik funktioniert wie folgt:
- Sobald sich die Temperatur am Temperatursensor ändert, startet das Script, korrigiert die Temperatur und schreibt die Temperatur in die neue Variable
- 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:
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.
EIn super Artikel genau das was ich suche :-) Lässt sich das Programm auch auf einfachen Wege für mehrere Sensoren verwenden oder muss pro Gerät ein Skript verwendet werden?
Nein, das kann in einem Script ablaufen, einfach die dargestellten Blöcke für jeden weiteren Temperatursensor duplizieren und anpassen.
Toller Artikel. Allerdings bin ich noch nicht so weit. Ich versuchte gerade die Temperatur- und Feuchtigkeitssensoren über die Tuya App unter dem Punkt Kalibrierung einzustellen. Da kann ich 0,1 Grad – Schritte einstellen. Leider aber wird die Einstellung nicht übernommen und ladet immer wieder bei 0,0. Eigentlich sollten die Sensoren ja die aktuelle Raumtemperatur an die Heizkörperthermostate melden. Nehme an, es liegt an der App weil 5 Sensoren betroffen sind.