Separate telemetry from records
A million sensor readings and a service contract are different kinds of data with different access patterns, retention needs, and consistency requirements. Storing them in the same tables works until it very abruptly does not.
We keep high-rate telemetry in a store designed for it and keep the business records, which are comparatively few and heavily related, in Odoo, with clear references between the two.
Design the API for the device, not for convenience
The client is a constrained device on an intermittent link, not a browser. That argues for batch endpoints, requests that are safe to retry, tolerance of clock skew, and payloads sized against a radio budget. An API designed purely for developer convenience tends to be expensive to talk to from a battery device.
Put the workflow where the business already is
An alert is only useful if it reaches whoever can act on it, inside the system they already work in. Integrating with Odoo means a device fault can open a service order against the right equipment and customer, rather than sending an email that someone must transcribe.
Plan retention before the first million rows
Full-resolution telemetry is worth keeping for a defined recent window and downsampling after that. The right window follows from what the business actually needs to answer. Deciding it up front is a configuration choice; deciding it later is a migration.