| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/iot |
| GIT | |
| GIT | https://github.com/OCA/iot.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/iot/tree/17.0/iot_template_oca |
| VERSION | |
| VERSION | 1.0.0 |
| CATEGORY | |
| CATEGORY | IoT |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), Creu Blanca |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), Creu Blanca |
| COMMITTERS | |
| COMMITTERS | OCA-git-bot, oca-ci, FernandoRomera |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/iot |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 19:20:11 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/iot: - iot_input_oca - iot_oca - iot_output_oca odoo/odoo: - base |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | Create a system of templates for IoT devices. When we are using a template we can configure a device with a simple URL configuration. The device will contact odoo and send the template name. Odoo will create the device and respond with all the expected data. |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
configure_form |
iot.device.configure | iot.device.configure | form | New |
iot_template_form |
iot.template.form | iot.template | form | New |
iot_template_tree |
iot.template.form | iot.template | tree | New |
No new fields.
Public methods (1)get_iot_configuration(self)
serial
Char
default=<expr>
readonly=True
required=True
url
Char
compute='_compute_url'
configure(self, serial, template_id, ip=False, **kwargs)
template_input_id
Many2one → iot.template.input
readonly=True
args: 'iot.template.input'
get_configuration(self)
template_output_id
Many2one → iot.template.output
readonly=True
args: 'iot.template.output'
get_configuration(self)
group_id
Many2one → iot.device.group
icon
Selection
selection=<expr>
input_ids
One2many → iot.template.input
inverse_name='template_id'
args: 'iot.template.input'
key_ids
One2many → iot.template.key
inverse_name='template_id'
args: 'iot.template.key'
name
Char
required=True
output_ids
One2many → iot.template.output
inverse_name='template_id'
args: 'iot.template.output'
parent_id
Many2one → iot.template
ondelete='restrict'
args: 'iot.template'
parent_path
Char
index=True
tag_ids
Many2many → iot.device.tag
apply_template(self, device, keys)
call_function
Char
required=True
call_model_id
Many2one → ir.model
name
Char
required=True
params
Text
template_id
Many2one → iot.template
required=True
args: 'iot.template'
No public methods.
key
Char
required=True
template_id
Many2one → iot.template
required=True
args: 'iot.template'
No public methods.
communication_system_id
Many2one → iot.communication.system
required=True
args: 'iot.communication.system'
name
Char
required=True
params
Text
template_id
Many2one → iot.template
required=True
args: 'iot.template'
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/iot |
| GIT | |
| GIT | https://github.com/OCA/iot.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/iot/tree/16.0/iot_template_oca |
| VERSION | |
| VERSION | 1.0.1 |
| CATEGORY | |
| CATEGORY | IoT |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), Creu Blanca |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), Creu Blanca |
| COMMITTERS | |
| COMMITTERS | AaronHForgeFlow, Weblate, OCA-git-bot, oca-ci, Kevin Luna |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/iot |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:54:00 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/iot: - iot_input_oca - iot_oca - iot_output_oca odoo/odoo: - base |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
configure_form |
iot.device.configure | iot.device.configure | form | New |
iot_template_form |
iot.template.form | iot.template | form | New |
iot_template_tree |
iot.template.form | iot.template | tree | New |
No new fields.
Public methods (1)get_iot_configuration(self)
serial
Char
default=<expr>
readonly=True
required=True
url
Char
compute='_compute_url'
configure(self, serial, template_id, ip=False, **kwargs)
template_input_id
Many2one → iot.template.input
readonly=True
args: 'iot.template.input'
get_configuration(self)
template_output_id
Many2one → iot.template.output
readonly=True
args: 'iot.template.output'
get_configuration(self)
group_id
Many2one → iot.device.group
icon
Selection
selection=<expr>
input_ids
One2many → iot.template.input
inverse_name='template_id'
args: 'iot.template.input'
key_ids
One2many → iot.template.key
inverse_name='template_id'
args: 'iot.template.key'
name
Char
required=True
output_ids
One2many → iot.template.output
inverse_name='template_id'
args: 'iot.template.output'
parent_id
Many2one → iot.template
ondelete='restrict'
args: 'iot.template'
parent_path
Char
index=True
unaccent=False
tag_ids
Many2many → iot.device.tag
apply_template(self, device, keys)
call_function
Char
required=True
call_model_id
Many2one → ir.model
name
Char
required=True
params
Text
template_id
Many2one → iot.template
required=True
args: 'iot.template'
No public methods.
key
Char
required=True
template_id
Many2one → iot.template
required=True
args: 'iot.template'
No public methods.
communication_system_id
Many2one → iot.communication.system
required=True
args: 'iot.communication.system'
name
Char
required=True
params
Text
template_id
Many2one → iot.template
required=True
args: 'iot.template'
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/iot |
| GIT | |
| GIT | https://github.com/OCA/iot.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/iot/tree/15.0/iot_template_oca |
| VERSION | |
| VERSION | 1.0.1 |
| CATEGORY | |
| CATEGORY | IoT |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), Creu Blanca |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), Creu Blanca |
| COMMITTERS | |
| COMMITTERS | sergio-teruel, Weblate, OCA-git-bot, oca-ci, Olga Marco |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/iot |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:46:44 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/iot: - iot_input_oca - iot_oca - iot_output_oca odoo/odoo: - base |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
configure_form |
iot.device.configure | iot.device.configure | form | New |
iot_template_form |
iot.template.form | iot.template | form | New |
iot_template_tree |
iot.template.form | iot.template | tree | New |
No new fields.
Public methods (1)get_iot_configuration(self)
serial
Char
default=<expr>
readonly=True
required=True
url
Char
compute='_compute_url'
configure(self, serial, template_id, ip=False, **kwargs)
template_input_id
Many2one → iot.template.input
readonly=True
args: 'iot.template.input'
get_configuration(self)
template_output_id
Many2one → iot.template.output
readonly=True
args: 'iot.template.output'
get_configuration(self)
group_id
Many2one → iot.device.group
icon
Selection
selection=<expr>
input_ids
One2many → iot.template.input
inverse_name='template_id'
args: 'iot.template.input'
key_ids
One2many → iot.template.key
inverse_name='template_id'
args: 'iot.template.key'
name
Char
required=True
output_ids
One2many → iot.template.output
inverse_name='template_id'
args: 'iot.template.output'
parent_id
Many2one → iot.template
ondelete='restrict'
args: 'iot.template'
parent_path
Char
index=True
tag_ids
Many2many → iot.device.tag
apply_template(self, device, keys)
call_function
Char
required=True
call_model_id
Many2one → ir.model
name
Char
required=True
params
Text
template_id
Many2one → iot.template
required=True
args: 'iot.template'
No public methods.
key
Char
required=True
template_id
Many2one → iot.template
required=True
args: 'iot.template'
No public methods.
communication_system_id
Many2one → iot.communication.system
required=True
args: 'iot.communication.system'
name
Char
required=True
params
Text
template_id
Many2one → iot.template
required=True
args: 'iot.template'
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/iot |
| GIT | |
| GIT | https://github.com/OCA/iot.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/iot/tree/14.0/iot_template_oca |
| VERSION | |
| VERSION | 1.0.1 |
| CATEGORY | |
| CATEGORY | IoT |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), Creu Blanca |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), Creu Blanca |
| COMMITTERS | |
| COMMITTERS | Enric Tobella, Weblate, OCA-git-bot, oca-ci, Olga Marco |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/iot |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:41:13 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/iot: - iot_input_oca - iot_oca - iot_output_oca odoo/odoo: - base |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
configure_form |
iot.device.configure | iot.device.configure | form | New |
iot_template_form |
iot.template.form | iot.template | form | New |
iot_template_tree |
iot.template.form | iot.template | tree | New |
No new fields.
Public methods (1)get_iot_configuration(self)
serial
Char
default=<expr>
readonly=True
required=True
url
Char
compute='_compute_url'
configure(self, serial, template_id, ip=False, **kwargs)
template_input_id
Many2one → iot.template.input
readonly=True
args: 'iot.template.input'
get_configuration(self)
template_output_id
Many2one → iot.template.output
readonly=True
args: 'iot.template.output'
get_configuration(self)
group_id
Many2one → iot.device.group
icon
Selection
selection=<expr>
input_ids
One2many → iot.template.input
inverse_name='template_id'
args: 'iot.template.input'
key_ids
One2many → iot.template.key
inverse_name='template_id'
args: 'iot.template.key'
name
Char
required=True
output_ids
One2many → iot.template.output
inverse_name='template_id'
args: 'iot.template.output'
parent_id
Many2one → iot.template
ondelete='restrict'
args: 'iot.template'
parent_path
Char
index=True
tag_ids
Many2many → iot.device.tag
apply_template(self, device, keys)
call_function
Char
required=True
call_model_id
Many2one → ir.model
name
Char
required=True
params
Text
template_id
Many2one → iot.template
required=True
args: 'iot.template'
No public methods.
key
Char
required=True
template_id
Many2one → iot.template
required=True
args: 'iot.template'
No public methods.
communication_system_id
Many2one → iot.communication.system
required=True
args: 'iot.communication.system'
name
Char
required=True
params
Text
template_id
Many2one → iot.template
required=True
args: 'iot.template'
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/iot |
| GIT | |
| GIT | https://github.com/OCA/iot.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/iot/tree/13.0/iot_template_oca |
| VERSION | |
| VERSION | 1.2.1 |
| CATEGORY | |
| CATEGORY | IoT |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), Creu Blanca |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), Creu Blanca |
| COMMITTERS | |
| COMMITTERS | Enric Tobella, AaronHForgeFlow, oca-travis, Weblate, OCA-git-bot, oca-ci, Olga Marco |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/iot |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:34:21 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/iot: - iot_input_oca - iot_output_oca - iot_oca odoo/odoo: - base - base_setup - web - bus - web_tour |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
configure_form |
iot.device.configure | iot.device.configure | form | New |
iot_template_form |
iot.template.form | iot.template | form | New |
iot_template_tree |
iot.template.form | iot.template | tree | New |
No new fields.
Public methods (1)get_iot_configuration(self)
serial
Char
default=<expr>
readonly=True
required=True
url
Char
compute='_compute_url'
configure(self, serial, template_id, ip=False, **kwargs)
template_input_id
Many2one → iot.template.input
readonly=True
args: 'iot.template.input'
get_configuration(self)
template_output_id
Many2one → iot.template.output
readonly=True
args: 'iot.template.output'
get_configuration(self)
group_id
Many2one → iot.device.group
icon
Selection
selection=<expr>
input_ids
One2many → iot.template.input
inverse_name='template_id'
args: 'iot.template.input'
key_ids
One2many → iot.template.key
inverse_name='template_id'
args: 'iot.template.key'
name
Char
required=True
output_ids
One2many → iot.template.output
inverse_name='template_id'
args: 'iot.template.output'
parent_id
Many2one → iot.template
ondelete='restrict'
args: 'iot.template'
parent_path
Char
index=True
tag_ids
Many2many → iot.device.tag
apply_template(self, device, keys)
call_function
Char
required=True
call_model_id
Many2one → ir.model
name
Char
required=True
params
Text
template_id
Many2one → iot.template
required=True
args: 'iot.template'
No public methods.
key
Char
required=True
template_id
Many2one → iot.template
required=True
args: 'iot.template'
No public methods.
name
Char
required=True
params
Text
system_id
Many2one → iot.system
required=True
args: 'iot.system'
template_id
Many2one → iot.template
required=True
args: 'iot.template'
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/iot |
| GIT | |
| GIT | https://github.com/OCA/iot.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/iot/tree/12.0/iot_template_oca |
| VERSION | |
| VERSION | 1.0.0 |
| CATEGORY | |
| CATEGORY | IoT |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), Creu Blanca |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), Creu Blanca |
| COMMITTERS | |
| COMMITTERS | AaronHForgeFlow, oca-travis, Weblate, OCA-git-bot |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/iot |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:29:26 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/iot: - iot_input - iot_output - iot odoo/odoo: - base - base_setup - web - bus - web_tour |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
configure_form |
iot.device.configure | iot.device.configure | form | New |
iot_template_form |
iot.template.form | iot.template | form | New |
iot_template_tree |
iot.template.form | iot.template | tree | New |
No new fields.
Public methods (1)get_iot_configuration(self)
serial
Char
default=<expr>
readonly=True
required=True
url
Char
compute='_compute_url'
configure(self, serial, template_id, ip=False, **kwargs)
template_input_id
Many2one → iot.template.input
readonly=True
args: 'iot.template.input'
get_configuration(self)
template_output_id
Many2one → iot.template.output
readonly=True
args: 'iot.template.output'
get_configuration(self)
group_id
Many2one → iot.device.group
icon
Selection
selection=<expr>
image
Binary
attachment=True
help='This field holds the image used as image for the equipment, limited to 1024x1024px.'
image_medium
Binary
attachment=True
help='Medium-sized image of the equipment. It is automatically resized as a 128x128px image, with aspect ratio preserved, only when the image exceeds one of those sizes. Use this field in form views or some kanban views.'
string='Medium-sized image'
image_small
Binary
attachment=True
help='Small-sized image of the equipment. It is automatically resized as a 64x64px image, with aspect ratio preserved. Use this field anywhere a small image is required.'
string='Small-sized image'
input_ids
One2many → iot.template.input
inverse_name='template_id'
args: 'iot.template.input'
key_ids
One2many → iot.template.key
inverse_name='template_id'
args: 'iot.template.key'
name
Char
required=True
output_ids
One2many → iot.template.output
inverse_name='template_id'
args: 'iot.template.output'
parent_id
Many2one → iot.template
ondelete='restrict'
args: 'iot.template'
parent_path
Char
index=True
tag_ids
Many2many → iot.device.tag
apply_template(self, device, keys)
create(self, values)
write(self, vals)
call_function
Char
required=True
call_model_id
Many2one → ir.model
name
Char
required=True
params
Text
template_id
Many2one → iot.template
required=True
args: 'iot.template'
No public methods.
key
Char
required=True
template_id
Many2one → iot.template
required=True
args: 'iot.template'
No public methods.
name
Char
required=True
params
Text
system_id
Many2one → iot.system
required=True
args: 'iot.system'
template_id
Many2one → iot.template
required=True
args: 'iot.template'
No public methods.
| STATUS | |
|---|---|
| STATUS | Open migration PR - not merged yet for this version |
| REPOSITORY | |
| REPOSITORY | OCA/iot |
| PULL REQUEST | |
| PULL REQUEST | [18.0][mig] iot_template_oca (#112) |