Radio Thermostat AC short cycling - adjusting temperature often sets it back on program temp

I have a Radio Thermostat (CT80 wifi version). I never use a program setpoint when I’m home, I just set the temp to whatever feels comfortable. When I adjust the temperature via the default thermostat entity in HA, often the actual thermostat’s setpoint goes immediately back to the PROGRAM setpoint.

I think the problem stems from the thermostat assuming it should use the programmed setpoint all the time, and that any deviation from that temperature is a “temporary target”. This temporary target is respected for a couple hours, and at the expiration of this time, the programmed setpoint is reinstated. If the HOLD function is set, the temporary setpoint stays the setpoint forever. I’m OK with that behavior so far as described, if adjusting the setpoint from HA behaves similar to adjusting the setpoint at the panel.

But it doesn’t. When it’s on HOLD (meaning temporary target setpoint won’t expire), and I make a setpoint adjustment from HA, the HOLD comes off, and the new temp seems to get immediately over-written by the thermostat’s programmed setpoint. I suspect the problem is the thermostat’s firmware. It’s clearing the temporary target timer and disabling HOLD when it receives a REST API setpoint change, which then allows the programmed setpoint to overwrite the target setpoint.

This is a problem when AC is currently running, and I decide to bump the SP even lower, that bump gets quickly changed to the programmed temp which is usually pretty high. So the AC cycles off, and now I have to make another adjustment from my phone and set the hold, and wait for the short cycle timeout to expire.

Ultimately, I think the problem is with the Radio Thermostat behavior. It should not disable HOLD when setpoint is adjusted via the rest API, and neither should the temporary target timer expire immediately. When I change the setpoint from the control panel, it maintains HOLD. And even if HOLD isn’t on, the temporary target timer doesn’t expire right away the way REST API adjustments expire.

Wondering if the five other folks who also use Radio Thermostat have this issue and if there’s way to solve it? This themostat is from 2010, and I can’t seem to update it’s firmware locally via web server. It’s using version 1.04.84.