I see a few different ways to do this, but each has it’s pros and cons.
To make it run off of a battery you’d need to not draw power from the OBD port, and instead use the seperate battery, this could be done using a OBD splitter cable. This means that any battery HAT won’t work, as our board needs the 12v to provide power to the different components, modems, accelerometer, power management system etc.
And if you go this route, the device loses its ability to detect when the car is started, as this is done through monitoring the voltage of the battery, but then again, if the device is always on, it shouldn’t need to know when to start. But it does also mean that the device can’t measure the battery voltage, which may be more of a showstopper.
This route would possibly also cause some unintended issues as the measured battery voltage would then instead be of the seperate battery, and the power management system uses this for a few different things, like shutting down if the voltage level goes too low. And a seperate battery may not act the same as the car battery. Fortunately all that stuff should be configurable, and if it’s not currently, it can be added.
A much easier, but but not quite the same way - If you drive the car regularly, you could also configure the device to go to sleep or hibernation after 24 hours instead of the currently configured 2 hours.
If surveillance is not required, it could be made to sleep in specific periods, so that it should always be awake when you use the car, like in the daytime, but at night, it could go to sleep.