Repository
OCA/iot · module folder · Try on Runboat
Module version
1.0.0
Category
IoT
Folder size
0.1 MB
License
AGPL-3
Application
No
Auto-installable
No
Website
https://github.com/OCA/iot
Last tracking update
2026-08-07 08:23:15
Authors
Odoo Community Association (OCA), Creu Blanca
Maintainers
Odoo Community Association (OCA), Creu Blanca
Committers
Weblate, FernandoRomera, OCA-git-bot, oca-ci
Odoo dependencies
OCA/iot:
odoo/odoo:
Python dependencies
None
System dependencies
None
Required by
iot_rule, iot_template_oca
Description
This addon allows to use a device in order to input data to odoo
automatically.

It opens a URL that a device can use to connect (with a password) that
can only execute an specific action.

Inputs are useful when a device wants to communicate to odoo for a
single and simple action. This way, the device does not need to be
configured with a odoo user and password, it is handled by odoo devices.

Examples:

- Sending the temperature every three minutes.
- Sending the RFID that the device has received in order to perform some
  action

Code Analysis

Views touched (5)
XML IDNameModelTypeStatus
iot_device_form iot.device.form iot.device form Inherits iot_oca.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_oca.iot_device_kanban
HTTP endpoints (3)
Route(s)HandlerAuthTypeMethodsFlags
/iot/<serial>/action CallIot.call_unauthorized_iot none http POST csrf off sudo
/iot/<serial>/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 (3)

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 (2)
  • action_show_input(self)
  • parse_single_input(self, uuid=False, address=False, **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 (6)
  • call_device(self, **kwargs)
  • get_device(self, serial, passphrase)
    @api.model
  • parse_args(self, serial, passphrase)
  • parse_multi_input(self, values)
    Handle multiple inputs for device :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
  • 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.

Loading…

Loading…

Loading…

Loading…

Status
Open migration PR — not merged yet for this version
CI status
checks failing
Open since
396 days ago
Last activity
264 days ago
Repository
OCA/iot
Pull request
[18.0][MIG] iot_input_oca (#111)