I had a servo motor attached to a raspberry pi which turned a small gear that connected to a plastic gear m on the analogue temperature control of my gas heater.
Then I had it switch to various temperatures while heating and also had a geofence for my phone implemented that turned on the heating when I entered a 500m radius. Even had a calibration script for the servo motor.