From your description, it sounds like you have three separate problems:
- how to detect that the device doesn't have power (engine off)?
- if the engine is on, how to detect that the service you are interested in is running (or that the data is being transmitted)
- how to avoid alarms when the engine is off
How reliable is the network connection? Can you safely assume that if there's no network connection, the device doesn't have power?
Sounds to me that you can use blackbox_exporter to monitor the device using a ping check, and if you can safely assume that no ping means no power, you can use that to inhibit alarms: if the device is up, send other alarms as necessary, but if the device is down, then inhibit the other alarms.
If the network test is not reliable, is there something else that you can use as a heartbeat? Something that you can observe that tells you that the device is in fact powered down?
There's also the question of what you are trying to accomplish. I mean, if the data you are getting is up to an hour old, what is the purpose of the alert? Are you trying to create some kind of report?