Homematic HM-CC-RT-DN Fallback Temperatur bei alten externen Daten

Begonnen von Gruvol, 13 April 2020, 13:43:17

Vorheriges Thema - Nächstes Thema

Gruvol

Hallo Community,
ich habe die aktuelle Konfiguration, dass ich mit meinen Netatmo-Thermometern die Raumtemperatur messe und mit Hilfe eines virtuellen Gerätes und Kanal die Werte in mein HM-CC-RT-DN Funk-Heizkörperthermostat einspeise. Leider habe ich vermehrt Probleme mit den Netatmo-Daten, wodurch ich einen Fallback bauen will, der im Zweifel die Daten vom Thermostat nehmen soll und nicht die extern ermittelten Daten.

Dazu habe ich auch etwas im FHEM-Wiki gefunden:
https://wiki.fhem.de/wiki/HM-CC-RT-DN_Funk-Heizkörperthermostat#Temperatursensoren

Unter dem Punkt "Simulation von Fensterkontakten und externen Temperatursensoren" und den 7. Schritt steht folgendes:

7. Sicherstellen, dass nicht längerfristig veraltete Temperaturdaten berücksichtigt werden: Aufgrund des oben beschriebenen Verfahrens wird solange der im virtuellen Kanal vorhandene Wert wieder gesendet, wie dieser dort steht. Fällt z.B. der echte Sensor oder das Interface nicht nur vorübergehend aus, muß der Wert gelöscht werden. Hier ein Vorschlag für ein at, das alle 15 Minuten alle virtuellen Temperaturwerte löscht, die älter als eine Stunde sind, und damit den Rückfall des jeweiligen RT auf seinen internen Sensor bewirkt:


defmod a_delete_outdated_virtTemps at +*00:15 {\
my @vTemps = devspec2array("TYPE=CUL_HM:FILTER=model=VIRTUAL:FILTER=temperature~.+");;\
foreach my $vTemp (@vTemps) {\
   CommandDeleteReading(undef,"$vTemp temperature" ) if ReadingsAge($vTemp,"temperature",0) > HOURSECONDS ;;\
}\
}


Ich habe das Skript bei mir einmal eingebunden, jedoch bewirkt dies zum aktuellen Zeitpunkt nichts. Muss ich das noch auf meine Bedürfnisse anpassen? Habe es so verstanden, dass es allgemein schon funktionieren sollte. Leider verstehe ich auch nur teils, was genau in dem Skript gemacht wird.

Kann mir eventuell jemand helfen?

Danke und Gruß
Gruvol