Hello @Christian Wunderlich ,
I have noticed that your iff statement should include <=20 to show you the expected results.
iff(tolong($event.temperature.Double) <= 30, iff(tolong($event.temperature.Double) <= 20, 'cold', 'normal'), iff(tolong($event.temperature.Double) > 30, 'hot', 'normal'))
Neverheless, because you are ingesting hourly temperature values, if TSI ingests temperature 20.5 hourX and then 19.5 hourY you will have the area painted in color "Yellow" between hourX and hourY - and that is expected since TSI assumes you had a flat value of 20.5 during that period.
Thank you!