The system needs to do the following things:
operate a PID loop that:
reads from the temperature sensor
writes to the duty cycle
stores the error etc for PID
make available to homekit:
read the current temperature
write the desired temperature
read the off/heating/cooling status
write the off/heating/cooling status
make available to web interface:
read the current temperature
write the desired temperature
read the off/heating/cooling status
write the off/heating/cooling status
make available to promtheus interface:
current temperature
current heating/cooling
errors with things
metrics
core logic:
read/write the setpoint
read/write available the setpoint
read/write available the current temp
read/write available the state of off/heating/cooling
read the current temperature from the MAX318650
operate a PID loop that con