Why is a sun.sun state change triggered when there is no change?

I listen to the state of sun.sun (from AppDaemon) and I noticed that a state change is triggered every 4 minutes, despite no change in the state:

2019-12-10 14:40:11.005663 INFO darkmode: ('sun.sun', 'state', 'above_horizon', 'above_horizon', {'handle': UUID('9d0b4c97-457b-4784-a994-732f559aefc2')})

Why is it so?

As a side note, I manually set other states, including cases when the same value of a state is applied several times. This does not trigger a change of the state (which is the correct behaviour). As of now sun.sun is the only one I saw behaving like that.

One or more state attributes of sun.sun has changed (elevation being one of them).

Any attribute value changes inside any state object cause a state change.

@pedro @Tediore
Thank you - you are right. I had my own states in mind, which do not hold attributes (or at least attributes which change). It is now clear, I will have an extra check on the “old” and “new” value of the state.