Condition-based Odoo maintenance that auto-triggers work orders from sensor thresholds — vibration, temperature, runtime. Built, installed & supported by ECOSIRE. One-time license from $799.00 USD for Odoo 17, 18, 19 — includes 12 months of updates and support.

Condition-based Odoo maintenance that auto-triggers work orders from sensor thresholds — vibration, temperature, runtime. Built, installed & supported by ECOSIRE.
No payment now. This sends a quote request to our team — we'll follow up by email with pricing and next steps.
Reactive maintenance is expensive. You wait for a bearing to scream, a motor to overheat, or a spindle to fail — then you scramble a crew, eat the unplanned downtime, and explain the scrapped batch. Odoo's core Maintenance app gives you time-based preventive schedules and manual requests, but it has no concept of a live sensor reading. It can't know that pump P-114's vibration just crossed 7.1 mm/s, or that conveyor motor M-08 has logged 4,000 runtime hours since its last service. That gap is exactly what this module closes.
Sensor-threshold rule engine (`maintenance.threshold.rule`) that auto-creates a `maintenance.request` the moment a reading breaches a configured limit — vibration mm/s, bearing temperature C, motor current A, pressure bar, or any custom meter
Meter-reading ingestion model (`maintenance.meter`) capturing runtime hours, cycle counts, temperature, and vibration per equipment, with timestamp and source, ingested via XML-RPC/JSON-RPC, MQTT bridge, IoT Box, or scheduled CSV/API poll
Condition-based scheduling that fires on a live sensor state, running alongside Odoo's native time-based preventive schedules so a machine can be serviced on whichever trigger comes first
Multi-reading debounce and hysteresis: rules can require N consecutive breaches or a rolling average (e.g. temp > 85 C for 3 readings) to suppress false alarms from a single noisy spike
Equipment health scoring: a `@api.depends`-computed score per `maintenance.equipment` derived from open breaches, meter trends, and overdue services, surfaced as a color-coded kanban and sortable list
Anomaly detection via rolling-window baselines — flags readings that deviate from an equipment's own recent norm even when no absolute threshold is crossed
Predictive Maintenance (IoT Sensor-Driven) is a net-new Odoo module that ECOSIRE designs, builds, installs, and supports for you. It turns your instrumented machinery into a self-monitoring fleet: meter readings stream in (via XML-RPC/JSON-RPC from your PLC gateway, MQTT bridge, or a scheduled CSV/API poll), threshold rules evaluate them continuously, and when a condition trips, Odoo automatically creates a maintenance.request on the right equipment, assigned to the right team, at the right severity — no human watching a dashboard required.
Because this is real Odoo, everything lives inside your ERP where the rest of the business already works. The module extends maintenance.equipment with a new maintenance.meter model for readings and a maintenance.threshold.rule model for the logic. Rules are stored records — not hard-coded — so your maintenance planner can add "temperature > 85 C for 3 consecutive readings" without a developer. Equipment health is a @api.depends-driven computed score you can sort, filter, group, and drop onto a kanban or dashboard. Alerts escalate through Odoo's native activity and messaging system (the chatter you already use), and every reading, breach, and generated work order is auditable.
We ground the build in proper Odoo engineering, not a bolt-on script: a clean __manifest__.py declaring dependencies on maintenance (and optionally mrp for manufacturing plants); ORM models with typed fields; compute methods decorated with @api.depends; access control via ir.model.access.csv plus record rules so an operator sees only their plant's equipment; XML views (list, form, kanban, graph, pivot) and OWL components for the live health board; QWeb reports for maintenance history and MTBF summaries; ir.cron jobs and Odoo automated actions to poll meters and fire escalations; and an XML-RPC/JSON-RPC ingestion endpoint so any sensor gateway can push data. It runs on Odoo 17, 18, and 19, and works on both Community and Enterprise (Enterprise's IoT Box, if you have it, is one supported input path — but nothing here requires it).
This is build-to-order: after purchase, an ECOSIRE Odoo engineer scopes your equipment, sensor types, and rules with you, then delivers a fully configured module tuned to your plant — typically in 2 to 4 weeks. It is not an instant download from apps.odoo.com. You get the source, the config, documentation, training, and a support window (details below).
Owns uptime and the maintenance budget at an instrumented plant. Wants to shift from reactive firefighting to predictive, condition-based servicing — and prove MTBF/MTTR improvement to leadership — without ripping out Odoo for a standalone CMMS.
Runs the floor and already has sensors or a PLC/SCADA gateway producing vibration, temperature, and runtime data that currently dies in a historian nobody reads. Needs that data to automatically create actionable work orders in the system the team already lives in.
Responsible for the Odoo deployment across 17/18/19 and Community/Enterprise. Wants a clean, well-secured, ORM-native module with proper access rules and a documented ingestion API — not a fragile external script hitting the database.
Buy the license on ecosire.com and download the Predictive Maintenance (IoT Sensor-Driven) module ZIP from your account dashboard.
Extract the ZIP into your Odoo custom addons folder on the server (or upload via Apps > Install from file on Odoo.sh / runbot).
Activate Developer Mode, open Apps, click Update Apps List, search for Predictive Maintenance (IoT Sensor-Driven), and press Install.
Open the new menu, paste your ECOSIRE license key, connect any external credentials (Shopify, Amazon, Stripe, etc.), and save.
Run the built-in connection test, sync your first 10 records, and schedule the recurring cron. Contact support if anything fails.
| Criterion | ECOSIRE | Custom Build | Competitor | Odoo Native |
|---|---|---|---|---|
| Auto-creates work orders from live sensor thresholds | Possible but you design and maintain the rule engine yourself | Rarely — most off-the-shelf maintenance apps are time/meter-based, not true condition-based | ||
| Sensor ingestion (XML-RPC/JSON-RPC/MQTT/CSV poll) | You build every connector from scratch | Partial — often a single fixed input format | ||
| Condition-based + time-based scheduling together | Depends entirely on your build scope | |||
| Equipment health scoring & anomaly detection | Only if you spec and build the compute logic | |||
| Tiered escalation via automated actions & activities | You wire the escalation logic yourself | |||
| Built, installed & supported for you (2–4 wk delivery) | You own all delivery, timeline, and risk | |||
| Runs on Odoo 17/18/19, Community & Enterprise | Your responsibility to keep compatible | Varies by vendor and version | ||
| You own the source code & security (record rules, ACLs) | Usually closed / vendor-locked |
This is build-to-order, not an instant apps.odoo.com download. After purchase, an ECOSIRE Odoo engineer runs a short scoping call to map your equipment, sensor types, and the rules you need. We then build, configure, and install the module on your environment. Typical delivery is 2 to 4 weeks depending on how many equipment types, sensor sources, and escalation paths are in scope — we confirm a firm timeline during scoping.
Delivery includes a post-go-live support window covering bug fixes and configuration adjustments, plus compatibility maintenance across Odoo 17, 18, and 19 so a version upgrade doesn't break your predictive maintenance. You keep the source code, so your own team can extend it too. Ongoing enhancements, new rule types, or additional sensor integrations after the window are available on a support-retainer or fixed-scope basis.
It works on both. The module only depends on the core `maintenance` app (and optionally `mrp`), which exist in Community. If you run Enterprise and have an IoT Box, that's one supported ingestion path — but nothing here requires Enterprise or the IoT Box. Readings can arrive via XML-RPC/JSON-RPC, an MQTT bridge, or a scheduled CSV/API poll from any gateway.
We wire your data source to a documented ingestion path. Most plants push readings from a PLC/SCADA gateway or edge device into the `maintenance.meter` model over Odoo's XML-RPC or JSON-RPC API. For push-based setups we support an MQTT bridge; for systems that can only export files, an `ir.cron` job polls a CSV or REST endpoint on an interval and re-evaluates all rules. We confirm the best fit for your infrastructure during scoping.
Odoo core does time-based preventive maintenance (service every 90 days) and manual requests, but it has no awareness of live sensor data. This module adds condition-based triggering: rules evaluate real readings — vibration, temperature, runtime hours, cycles — and auto-create work orders when a limit is breached, with debounce to avoid false alarms, health scoring, and tiered escalation. It runs alongside your existing time-based schedules, not instead of them.
Yes. Rules are stored Odoo records (`maintenance.threshold.rule`), not hard-coded logic. Once we hand over, a maintenance planner with the right access can add or adjust thresholds, consecutive-breach counts, target equipment, severity, and escalation routing directly in the Odoo UI. Record rules and `ir.model.access.csv` control who can change what, and every change is captured in the chatter audit trail.
Condition-based Odoo maintenance that auto-triggers work orders from sensor thresholds — vibration, temperature, runtime. Built, installed & supported by ECOSIRE.