split into two commits because for frost/service/heating_mode there is also a state the logs all transitions