Den enda påverkan av själva temperaturen är att endast en del av temperaturdeltat (från i går 70%) läggs till den tidigare temperaturen. Vid en viss tröskel (0,13grader om jag inte minns fel) tillämpas inte denna minskning av temperaturdeltat.
"Normal" temperaturförändring är oftast ca 1-2grader per h. Under denna timme så uppdateras temperaturen i snitt 20 gånger. om temperaturdeltat över 1h är 2grader innebär det en förändring på 0,1 grad per avläsning. Och det är en icke modifierad temperatur som läggs till.
Om temperaturdeltat över en timma i stället är 5 grader, vilket är ovanligt men inte omöjligt, kommer temperaturdeltat vid varje avläsning att bli 0,25grader och scripten slår till.
Om vi utgår från temperaturen 0 grader, en temperaturändring på 5 grader över en timma och att temperaturen beräknas så här: ((nuvarande_temperatur-föregående_sparad_temperatur)*0,7+föregående_sparad_temperatur):
Kod: Markera allt
0 0
0,25 0,175
0,5 0,4025
0,75 0,64575
1 0,893725
1,25 1,1431175
1,5 1,39293525
1,75 1,642880575
2 1,892864173
2,25 2,142859252
2,5 2,392857776
2,75 2,642857333
3 2,8928572
3,25 3,14285716
3,5 3,392857148
3,75 3,642857144
4 3,892857143
4,25 4,142857143
4,5 4,392857143
4,75 4,642857143
5 4,892857143
Dvs, efter en timma diffar temperaturen endast 0,11 grader. Om temperaturen skulle vara den samma vid två mätningar i rad läggs den riktiga temperaturen in. Under ca 2v kördes dock scripten med en utjämningsfaktor på 0,3 i stället för 0,7. Vid en utjämningsfaktor på 0,3 hade temperaturdifferansen varit 0,58 grader.
Vid normala temperaturförändringar har scripten mycket liten effekt, det är vid hastiga spikar utjämningen sker.
Antagligen är det kanske bättre att sänka utjämningsfaktorn något (till 0,5-0,6) och samtidigt öka tillåten förändring innan utjämningen sker.
I ditt fall är det lite mer komplext då den temperatur som rapporterades till temperatur.nu var konstant för att sedan hastigt ändras. Om min mjukvara hade hunnit detektera din temperatur som felaktig hade utjämningen inte skett utan den "riktiga" temperaturen hade lagts in utan att filtreras. Om felet inte uppstått när utjämningsfaktorn var 0,3 hade utjämningen inte varit lika påtaglig.