This module allows to define a custom set of properties on a template that will be inherited on devices.
This options can be taken using an input with the function get_options. It does not require any input values.
If a field is used as a true/false action (like for rebooting), you need to set the property as is_action.
auto_awesome What this module does
AI-generated from the code · Odoo 15.0Lets you define custom properties (text, number, yes/no, date) on IoT templates and devices, and read them from device inputs. Adds a Device Property configuration menu and an Options tab on IoT devices.
This module adds a way to store extra, custom information on IoT devices. You first create reusable "Device Properties" (for example a text, whole number, decimal, yes/no or date field) with a technical name, a widget, whether it is required, a default value and whether it is an action.
- A new "Device Property" menu appears under the IoT configuration menu, with list and form screens to create and search these properties.
- On an IoT template you can attach several properties; when the template is applied to a device, one option line is created per property, using the property's default value when set.
- On the IoT device form a new "Options" tab shows the device's option lines, where users fill in the value for each property.
- Each property can only be used once per device (a duplicate is blocked), and required properties cannot be left empty.
- Yes/No properties marked as actions are automatically reset to No after being read by a device input, so they behave like one-shot commands (for example a reboot request).
- Device inputs expose these values through
get_options, keyed by the property's technical name.
The module touches iot.device, iot.device.option, iot.device.property, iot.device.input and iot.template, and adds a custom "IoT Option" view type used to render the options.
Depends on
Models and fields (7)
- iot.device · extends an existing modeloption_ids
- ir.ui.view · extends an existing modeltype
- iot.template · extends an existing modelproperty_ids
- iot.device.input · extends an existing model
- iot.device.option · new modelname, value, widget, required, sequence, device_id, value_int (Whole number value), value_str (Text value), field_name, field_type, value_bool (Yes/No value), value_date (Date value), property_id (Property), value_float (Decimal number value)
- iot.device.property · new modelname, widget, required, is_action, tech_name, field_type, default_value
- ir.actions.act_window.view · extends an existing modelview_mode
Text generated by AI (DeepSeek) from reading the Odoo 15.0 code on GitHub; it may contain mistakes, so check the code before deciding. View the code on GitHub
Availability by version
Reviewed: 2026-11-03Confirmation status: 4 confirmed, 5 with no information of 9 versions.
Sources · Odoo 13.0
Confirmed on 2026-11-03 in branch 13.0 of OCA/iot.
terminal Installation and usage
No verified informationInstallation instructions, the distribution package, dependencies and configuration steps are not shown because they have not yet been verified in the module documentation for any version.
Data imported from GitHub: this sheet reflects the latest catalog review, not a live lookup. Always check the module documentation and staging before installing in production.