Repository
OCA/iot · module folder · Try on Runboat
Module version
1.4.2
Category
IoT
Folder size
0.08 MB
License
AGPL-3
Application
No
Auto-installable
No
Website
https://github.com/OCA/iot
Last tracking update
2026-08-07 07:32:03
Authors
Odoo Community Association (OCA), Creu Blanca
Maintainers
Odoo Community Association (OCA), Creu Blanca
Committers
Enric Tobella, Weblate, OCA-git-bot, oca-travis, Dimitrios T. Tanis
Odoo dependencies
OCA/iot:
- iot
odoo/odoo:
- web
- bus
Python dependencies
None
System dependencies
None
Required by
iot_template_oca
Description

Code Analysis

Views touched (5)
XML IDNameModelTypeStatus
iot_device_form iot.device.form iot.device form Inherits iot.iot_device_form
iot_device_input_form iot.device.input.form iot.device.input form New
iot_device_input_search iot.device.input.search iot.device.input search New
iot_device_input_tree iot.device.input.tree iot.device.input tree New
iot_device_kanban iot.device.kanban iot.device kanban Inherits iot.iot_device_kanban
HTTP endpoints (3)
Route(s)HandlerAuthTypeMethodsFlags
/iot/<serial>/action CallIot.call_unauthorized_iot none http POST csrf off sudo
/iot/<device_identification>/multi_input CallIot.call_unauthorized_iot_multi_input none http POST csrf off sudo
/iot/<serial>/check CallIot.check_unauthorized_iot none http POST csrf off sudo
Models touched (4)

New fields (2)
  • input_count Integer
    compute='_compute_input_count'
  • input_ids One2many → iot.device.input
    inverse_name='device_id' args: 'iot.device.input'
Public methods (3)
  • action_show_input(self)
  • parse_multi_input(self, device_identification, passphrase, values)
    @api.model
    Handle multiple inputs for device :param string device_identification: Device identification. :param string passphrase: Device passphrase. :param list values: Values is a list of dicts with at least values for keys 'address', 'value' Each dict in the list can have: - Different address (multi input) - Same address, different values (multi event) - Mix of the above (multi input, multi event) :returns: JSON encodable list of dicts :rtype: list
  • parse_single_input(self, uuid=None, address=None, **kwargs)
    Handle single input for device :param dict value: Dict containing at least keys 'address', 'value' :returns: dict with keys 'status', 'message' where: - status='ok' when value is parsed without errors - status='error' and message='error message' when error occurs If value contains a value with key 'uuid', it is passed in the return dict to identify result for each entry at the iot end :rtype: dict

New fields (11)
  • action_count Integer
    compute='_compute_action_count'
  • action_ids One2many → iot.device.input.action
    inverse_name='input_id' readonly=True args: 'iot.device.input.action'
  • active Boolean
    default=True
  • address Char
  • call_function Char
    required=True
  • call_model_id Many2one → ir.model
    args: 'ir.model'
  • device_id Many2one → iot.device
    auto_join=True readonly=True required=True args: 'iot.device'
  • lang Selection
    selection=<expr> string='Language'
  • name Char
    required=True
  • passphrase Char
  • serial Char
Public methods (5)
  • call_device(self, **kwargs)
  • get_device(self, serial, passphrase)
    @api.model
  • parse_args(self, serial, passphrase)
  • test_input_device(self, value)
  • test_model_function(self, value)

New fields (4)
  • args Char
  • input_id Many2one → iot.device.input
    args: 'iot.device.input'
  • kwargs Char
  • res Char
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (1)
  • create(self, vals)
    @api.model