IoT Output

iot_output_oca
REPOSITORY
REPOSITORYOCA/iot
GIT
GIThttps://github.com/OCA/iot.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/iot/tree/17.0/iot_output_oca
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYIoT
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONYes
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Creu Blanca
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Creu Blanca
COMMITTERS
COMMITTERSWeblate, OCA-git-bot, oca-ci, FernandoRomera
WEBSITE
WEBSITEhttps://github.com/OCA/iot
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 19:20:11
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/iot:
    - iot_oca
odoo/odoo:
    - base
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION
This addon is a base module used to allow different outputs from the
same device

Code Analysis

Views touched (5)
XML IDNameModelTypeStatus
iot_device_form iot.device.form iot.device xpath Inherits iot_oca.iot_device_form
iot_device_kanban iot.device.kanban iot.device xpath Inherits iot_oca.iot_device_kanban
iot_device_output_action_tree iot.device.output.action.tree iot.device.output.action tree New
iot_device_output_form iot.device.output.form iot.device.output form New
iot_device_output_tree iot.device.output.tree iot.device.output tree New
Models touched (4)

New fields (2)
  • applies_to Selection
    default='device' required=True args: [('device', 'Device'), ('output', 'Output')]
  • output_ids One2many → iot.device.output
    inverse_name='communication_system_id' args: 'iot.device.output'
Public methods (0)

No public methods.

New fields (3)
  • communication_system_id Many2one
    required=False
  • output_count Integer
    compute='_compute_output_count'
  • output_ids One2many → iot.device.output
    inverse_name='device_id' args: 'iot.device.output'
Public methods (1)
  • action_show_output(self)

New fields (8)
  • action_count Integer
    compute='_compute_action_count'
  • action_ids One2many → iot.device.output.action
    inverse_name='output_id' args: 'iot.device.output.action'
  • communication_system_id Many2one → iot.communication.system
    required=True args: 'iot.communication.system'
  • device_id Many2one → iot.device
    auto_join=True readonly=True required=True args: 'iot.device'
  • ip Char
  • model Char
  • name Char
    required=True
  • state Selection
    readonly=True args: []
Public methods (1)
  • device_run_action(self)

New fields (5)
  • communication_system_action_id Many2one → iot.communication.system.action
    required=True args: 'iot.communication.system.action'
  • date_ok Datetime
    readonly=True string='Ok date'
  • output_id Many2one → iot.device.output
    readonly=True required=True args: 'iot.device.output'
  • result Text
  • status Selection
    default='pending' required=True args: [('ok', 'Ok'), ('pending', 'Pending'), ('failed', 'Failed')]
Public methods (2)
  • run(self)
  • run_extra_actions(self, status, result)
REPOSITORY
REPOSITORYOCA/iot
GIT
GIThttps://github.com/OCA/iot.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/iot/tree/16.0/iot_output_oca
VERSION
VERSION 1.0.1
CATEGORY
CATEGORYIoT
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONYes
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Creu Blanca
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Creu Blanca
COMMITTERS
COMMITTERSEnric Tobella, Weblate, OCA-git-bot, oca-ci, maso
WEBSITE
WEBSITEhttps://github.com/OCA/iot
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:54:00
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/iot:
    - iot_oca
odoo/odoo:
    - base
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (5)
XML IDNameModelTypeStatus
iot_device_form iot.device.form iot.device xpath Inherits iot_oca.iot_device_form
iot_device_kanban iot.device.kanban iot.device xpath Inherits iot_oca.iot_device_kanban
iot_device_output_action_tree iot.device.output.action.tree iot.device.output.action tree New
iot_device_output_form iot.device.output.form iot.device.output form New
iot_device_output_tree iot.device.output.tree iot.device.output tree New
Models touched (4)

New fields (2)
  • applies_to Selection
    default='device' required=True args: [('device', 'Device'), ('output', 'Output')]
  • output_ids One2many → iot.device.output
    inverse_name='communication_system_id' args: 'iot.device.output'
Public methods (0)

No public methods.

New fields (3)
  • communication_system_id Many2one
    required=False
  • output_count Integer
    compute='_compute_output_count'
  • output_ids One2many → iot.device.output
    inverse_name='device_id' args: 'iot.device.output'
Public methods (1)
  • action_show_output(self)

New fields (8)
  • action_count Integer
    compute='_compute_action_count'
  • action_ids One2many → iot.device.output.action
    inverse_name='output_id' args: 'iot.device.output.action'
  • communication_system_id Many2one → iot.communication.system
    required=True args: 'iot.communication.system'
  • device_id Many2one → iot.device
    auto_join=True readonly=True required=True args: 'iot.device'
  • ip Char
  • model Char
  • name Char
    required=True
  • state Selection
    readonly=True args: []
Public methods (1)
  • device_run_action(self)

New fields (5)
  • communication_system_action_id Many2one → iot.communication.system.action
    required=True args: 'iot.communication.system.action'
  • date_ok Datetime
    readonly=True string='Ok date'
  • output_id Many2one → iot.device.output
    readonly=True required=True args: 'iot.device.output'
  • result Text
  • status Selection
    default='pending' required=True args: [('ok', 'Ok'), ('pending', 'Pending'), ('failed', 'Failed')]
Public methods (2)
  • run(self)
  • run_extra_actions(self, status, result)
REPOSITORY
REPOSITORYOCA/iot
GIT
GIThttps://github.com/OCA/iot.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/iot/tree/15.0/iot_output_oca
VERSION
VERSION 1.0.0
CATEGORY
CATEGORYIoT
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONYes
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Creu Blanca
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Creu Blanca
COMMITTERS
COMMITTERSWeblate, OCA-git-bot, oca-ci, Olga Marco
WEBSITE
WEBSITEhttps://github.com/OCA/iot
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:46:44
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/iot:
    - iot_oca
odoo/odoo:
    - base
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (5)
XML IDNameModelTypeStatus
iot_device_form iot.device.form iot.device xpath Inherits iot_oca.iot_device_form
iot_device_kanban iot.device.kanban iot.device xpath Inherits iot_oca.iot_device_kanban
iot_device_output_action_tree iot.device.output.action.tree iot.device.output.action tree New
iot_device_output_form iot.device.output.form iot.device.output form New
iot_device_output_tree iot.device.output.tree iot.device.output tree New
Models touched (4)

New fields (2)
  • applies_to Selection
    default='device' required=True args: [('device', 'Device'), ('output', 'Output')]
  • output_ids One2many → iot.device.output
    inverse_name='communication_system_id' args: 'iot.device.output'
Public methods (0)

No public methods.

New fields (3)
  • communication_system_id Many2one
    required=False
  • output_count Integer
    compute='_compute_output_count'
  • output_ids One2many → iot.device.output
    inverse_name='device_id' args: 'iot.device.output'
Public methods (1)
  • action_show_output(self)

New fields (8)
  • action_count Integer
    compute='_compute_action_count'
  • action_ids One2many → iot.device.output.action
    inverse_name='output_id' args: 'iot.device.output.action'
  • communication_system_id Many2one → iot.communication.system
    required=True args: 'iot.communication.system'
  • device_id Many2one → iot.device
    auto_join=True readonly=True required=True args: 'iot.device'
  • ip Char
  • model Char
  • name Char
    required=True
  • state Selection
    readonly=True args: []
Public methods (1)
  • device_run_action(self)

New fields (5)
  • communication_system_action_id Many2one → iot.communication.system.action
    required=True args: 'iot.communication.system.action'
  • date_ok Datetime
    readonly=True string='Ok date'
  • output_id Many2one → iot.device.output
    readonly=True required=True args: 'iot.device.output'
  • result Text
  • status Selection
    default='pending' required=True args: [('ok', 'Ok'), ('pending', 'Pending'), ('failed', 'Failed')]
Public methods (2)
  • run(self)
  • run_extra_actions(self, status, result)
REPOSITORY
REPOSITORYOCA/iot
GIT
GIThttps://github.com/OCA/iot.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/iot/tree/14.0/iot_output_oca
VERSION
VERSION 1.0.2
CATEGORY
CATEGORYIoT
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONYes
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Creu Blanca
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Creu Blanca
COMMITTERS
COMMITTERSEnric Tobella, Weblate, OCA-git-bot, oca-ci, Kevin Luna, Núria Sancho
WEBSITE
WEBSITEhttps://github.com/OCA/iot
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:41:13
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/iot:
    - iot_oca
odoo/odoo:
    - base
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (5)
XML IDNameModelTypeStatus
iot_device_form iot.device.form iot.device xpath Inherits iot_oca.iot_device_form
iot_device_kanban iot.device.kanban iot.device xpath Inherits iot_oca.iot_device_kanban
iot_device_output_action_tree iot.device.output.action.tree iot.device.output.action tree New
iot_device_output_form iot.device.output.form iot.device.output form New
iot_device_output_tree iot.device.output.tree iot.device.output tree New
Models touched (4)

New fields (2)
  • applies_to Selection
    default='device' required=True args: [('device', 'Device'), ('output', 'Output')]
  • output_ids One2many → iot.device.output
    inverse_name='communication_system_id' args: 'iot.device.output'
Public methods (0)

No public methods.

New fields (3)
  • communication_system_id Many2one
    required=False
  • output_count Integer
    compute='_compute_output_count'
  • output_ids One2many → iot.device.output
    inverse_name='device_id' args: 'iot.device.output'
Public methods (1)
  • action_show_output(self)

New fields (8)
  • action_count Integer
    compute='_compute_action_count'
  • action_ids One2many → iot.device.output.action
    inverse_name='output_id' args: 'iot.device.output.action'
  • communication_system_id Many2one → iot.communication.system
    required=True args: 'iot.communication.system'
  • device_id Many2one → iot.device
    auto_join=True readonly=True required=True args: 'iot.device'
  • ip Char
  • model Char
  • name Char
    required=True
  • state Selection
    readonly=True args: []
Public methods (1)
  • device_run_action(self)

New fields (5)
  • communication_system_action_id Many2one → iot.communication.system.action
    required=True args: 'iot.communication.system.action'
  • date_ok Datetime
    readonly=True string='Ok date'
  • output_id Many2one → iot.device.output
    readonly=True required=True args: 'iot.device.output'
  • result Text
  • status Selection
    default='pending' required=True args: [('ok', 'Ok'), ('pending', 'Pending'), ('failed', 'Failed')]
Public methods (2)
  • run(self)
  • run_extra_actions(self, status, result)
REPOSITORY
REPOSITORYOCA/iot
GIT
GIThttps://github.com/OCA/iot.git
GIT FOLDER
GIT FOLDERhttps://github.com/OCA/iot/tree/13.0/iot_output_oca
VERSION
VERSION 2.0.0
CATEGORY
CATEGORYIoT
LICENSE
LICENSEAGPL-3
APPLICATION
APPLICATIONYes
AUTO-INSTALLABLE
AUTO-INSTALLABLENo
AUTHORS
AUTHORSOdoo Community Association (OCA), Creu Blanca
MAINTAINERS
MAINTAINERSOdoo Community Association (OCA), Creu Blanca
COMMITTERS
COMMITTERSEnric Tobella, oca-travis, Weblate, OCA-git-bot, Olga Marco
WEBSITE
WEBSITEhttps://github.com/OCA/iot
LAST TRACKING UPDATE
LAST TRACKING UPDATE2026-07-06 00:34:21
ODOO DEPENDENCIES
ODOO DEPENDENCIES OCA/iot:
    - iot_oca
odoo/odoo:
    - base
PYTHON DEPENDENCIES
PYTHON DEPENDENCIES Not have
SYSTEM DEPENDENCIES
SYSTEM DEPENDENCIES Not have
DESCRIPTION
DESCRIPTION

Code Analysis

Views touched (4)
XML IDNameModelTypeStatus
iot_device_form iot.device.form iot.device xpath Inherits iot_oca.iot_device_form
iot_device_output_action_tree iot.device.output.action.tree iot.device.output.action tree New
iot_device_output_form iot.device.output.form iot.device.output form New
iot_device_output_tree iot.device.output.tree iot.device.output tree New
Models touched (4)

New fields (3)
  • output_count Integer
    compute='_compute_output_count'
  • output_ids One2many → iot.device.output
    inverse_name='device_id' args: 'iot.device.output'
  • system_id Many2one
    required=False
Public methods (1)
  • action_show_output(self)

New fields (8)
  • action_count Integer
    compute='_compute_action_count'
  • action_ids One2many → iot.device.output.action
    inverse_name='output_id' args: 'iot.device.output.action'
  • device_id Many2one → iot.device
    auto_join=True ondelete='cascade' readonly=True required=True args: 'iot.device'
  • ip Char
  • model Char
  • name Char
    required=True
  • state Selection
    readonly=True args: []
  • system_id Many2one → iot.system
    required=True args: 'iot.system'
Public methods (1)
  • device_run_action(self)

New fields (5)
  • date_ok Datetime
    readonly=True string='Ok date'
  • output_id Many2one → iot.device.output
    ondelete='cascade' readonly=True required=True args: 'iot.device.output'
  • result Text
  • status Selection
    default='pending' required=True args: [('ok', 'Ok'), ('pending', 'Pending'), ('failed', 'Failed')]
  • system_action_id Many2one → iot.system.action
    required=True args: 'iot.system.action'
Public methods (2)
  • run(self)
  • run_extra_actions(self, status, result)

New fields (2)
  • applies_to Selection
    default='device' required=True args: [('device', 'Device'), ('output', 'Output')]
  • output_ids One2many → iot.device.output
    inverse_name='system_id' args: 'iot.device.output'
Public methods (0)

No public methods.

STATUS
STATUSOpen migration PR - not merged yet for this version
REPOSITORY
REPOSITORYOCA/iot
PULL REQUEST
PULL REQUEST[18.0][MIG] iot_output_oca (#110)