We feel you… It has happened to us too.
The “hard” way is pressing the “hidden” reset button from the right side of the PCB by inserting something plastic through the ventilation hex holes. Please note this is similar to cutting the power so there is a slight chance that if your Pi was actively writing something on the SD, the whole filesystem may get corrupted which means you would need to reflash your card. No one wants that
The “soft” way is what you asked for and to be honest with the current situation and task list of the project is not near the top. If you would need some guidance I can break down the steps needed for you to experiment.
- The UI is HTML based rendered with the help of a framework. You would need to add a button somewhere (possibly a confirmation too)
- The UI talks to the back engine over MQTT commands. I don’t think there is a command for the reboot button you see on the web UI’s reboot button. You would need to add it linked directly to the reboot button or with an intermediate variable and the use of a rule monitoring this variable receiving an update to trigger the reboot button.
Sorry for not being much more help at the moment. We are moving production to Asia and software modifications are second priority due to lack of time and lack of physical availability of test devices.
Hope this helps a little.