I’m not sure if this comes to a feature request. First I want to ask here. Possibly someone has a solution with the existing conditions that I am too blind to see.
I just try to harden my Pimatic-HA to work even good if I am not at home for a longer time. My biggest problem is heating during the cold time of the year. I have 5 temperature sensors in my flat. From these sensor values I calculate a mean value and use it for comparison in rules to decide about heating or not.
Sometimes a sensor fails and does no longer transmit a value (fast unexpected battery down, software hangs, …). So the last value transmitted stays as the value of this sensor and is used further on for calculation of the mean value. If the last sensor value before transmission stopped was high so the mean value will will be higher than real value and it will not be heated enough. If the last transmitted value is low and the temperature of the flat is becomming higher the heating is not stopped early enough and energy is wasted.
Conditions that test if a value of a variable is changing do not help because the measured temperature can stay constant over a longer time. But I can force the sensors to send once in 60 minutes even if the value has not changed (mySensors). So an update of the value (possibly with the same value) is done in pimatic. But I have no condition to test it.
Possibly I could use tricks with different offsets added to the measured value in the sensor software so that directly following values would be always different. This had to be done in the mysensors sketch. But it’s a bad trick and after some month I will have problems do understand why it was done.
If I had a condition “if (sensor)variable was updated during last xx seconds/minutes/hours” I could decide if I set the value of the sensorvariable to another variable which is used in the filter plugin for calculating a new mean value. If the sensorvariable would not be updated it would not be used for calculation of the mean value.
For the existing opposite condition “if variable is not updated for …” I found no easy way to use.
Has anyone an idea?