Este complemento permite utilizar un dispositivo para introducir datos en odoo automáticamente.
Abre una URL que un dispositivo puede usar para conectarse (con una contraseña) que solo puede ejecutar una acción específica.
Las entradas son útiles cuando un dispositivo quiere comunicarse con odoo para una acción única y sencilla. De esta forma, el dispositivo no necesita configurarse con un usuario y contraseña de odoo, lo gestiona odoo devices.
Ejemplos:
- Enviar la temperatura cada tres minutos.
- Enviar el RFID que el dispositivo ha recibido para realizar alguna acción
Traducción automática al español (DeepSeek) de la descripción original de OCA, que está en inglés.
auto_awesome Qué hace este módulo
Generado por IA a partir del código · Odoo 12.0Permite que los dispositivos IoT envíen datos a Odoo a través de una dirección web protegida con contraseña, sin necesidad de una cuenta de usuario de Odoo. Cada entrada está vinculada a un dispositivo y desencadena una función elegida en Odoo.
Este módulo añade un nuevo tipo de registro llamado entrada de dispositivo, gestionado desde la pantalla del dispositivo IoT. En el formulario de un dispositivo aparece un botón "Inputs" que muestra cuántas entradas existen, y una entrada de menú kanban para abrirlas.
Cada entrada tiene un nombre, una dirección, un número de serie y una frase de contraseña, y apunta a un modelo y a una función que se ejecuta cuando llegan datos. Las entradas se pueden archivar, y la vista de búsqueda filtra las activas o inactivas.
Los dispositivos llaman a Odoo a través de direcciones web como /iot/<serial>/action, /iot/<serial>/check y /iot/<device_identification>/multi_input. Se comprueban el número de serie y la frase de contraseña, el dispositivo debe estar activo, y la ruta multi-input acepta una lista JSON de valores. Cada llamada ejecuta la función configurada, actualiza la fecha de último contacto del dispositivo y almacena una línea de registro con los argumentos y el resultado. Los errores se capturan y se registran en lugar de interrumpir la llamada.
Los mensajes publicados por la función llamada se etiquetan automáticamente como detectados por el dispositivo. Se concede acceso a los usuarios de IoT para leer y crear, y a los gestores de IoT para el control total.
Depende de
Modelos y campos (4)
- iot.device · amplía un modelo existenteinput_ids, input_count
- mail.message · amplía un modelo existente
- iot.device.input · modelo nuevolang (Language), name, active, serial, address, device_id, action_ids, passphrase, action_count, call_function, call_model_id
- iot.device.input.action · modelo nuevores, args, kwargs, input_id
Texto generado por IA (DeepSeek) al leer el código de la versión 12.0 en GitHub; puede contener errores, así que verifícalo en el código antes de decidir. Ver el código en GitHub
Disponibilidad por versión
Revisado: 2026-11-03Estado de confirmación: 1 confirmada, 8 sin información de 9 versiones.
Fuentes · Odoo 12.0
Confirmado el 2026-11-03 en la rama 12.0 de OCA/iot.
terminal Instalación y uso
Documentación de OCA · Odoo 12.0Hay dos endpoints que puede usar: Endpoint 1: /iot//action
Toma application/x-www-form-urlencoded parámetros: passphase, value (donde value es un objeto JSON)
- Crear un Device en
IoT > Config Devices - Acceder a la sección Inputs del dispositivo
- Crear un input. Debe definir un serial, passphrase, function y model
La función que el sistema llamará debe ser del siguiente tipo:
@api.model
def call_function(self, key):
return {}Donde key es la cadena de entrada enviada por el dispositivo y el resultado debe ser un diccionario que se responderá al dispositivo como JSON.
Endpoint 2: /iot//multi_input Se puede usar para enviar valores con múltiples datos en una sola petición POST como:
- Valores para inputs del mismo dispositivo con distinta address (multi input)
- Valores para inputs del mismo dispositivo con la misma address, distintos values (multi event)
- Mezcla de los anteriores (multi input, multi event)
Toma application/x-www-form-urlencoded parámetros: passphase, values (un array JSON de objetos JSON)
Se llama usando device_identification y pasando dos parámetros POST: device passphrase y una cadena JSON que contiene un array de valores para input
- El valor para la clave
addresspuede ser una cadena o un numérico (para conservar bytes en memoria
dispositivos restringidos al crear el objeto JSON) y se convierte a cadena al parsear.
- El valor para la clave
valuepuede ser cadena, número o booleano según
las especificaciones JSON. Puede ver un ejemplo de un objeto de entrada JSON válido en la carpeta de ejemplos, usando algunas combinaciones.
Requiere que la función que el sistema llamará debe ser del siguiente tipo:
@api.model
def call_function(self, key):
'do something
if err:
return {'status': 'error', 'message': 'The error message you want to send to the device'}
return {'status': 'ok', 'message': 'Optional success message'}Donde key es un dict enviado por el dispositivo que tiene al menos valor para las claves: 'address', 'value'
La función siempre debe devolver un JSON con status y message. Si value contiene un valor con 'uuid' como clave, se devuelve junto con el objeto para que el dispositivo IoT identifique éxito/fallo por registro.
Tiene informes de errores completos y el valor de retorno es un array JSON de dicts que contienen al menos status y message. La respuesta del mensaje de error es en algunos puntos genérica, aunque se realiza un registro extendido en los logs del servidor de Odoo.
Traducción automática al español (DeepSeek) de la documentación original de OCA; los comandos y el código no se traducen. Sin información verificada en OCA: Instalación, Configuración.
Las instrucciones de instalación, el paquete de distribución, las dependencias y los pasos de configuración no se muestran porque todavía no se han verificado en la documentación del módulo para ninguna versión.
Datos importados de GitHub: esta ficha refleja la última revisión del catálogo, no una consulta en directo. Verifica siempre en la documentación del módulo y en staging antes de instalar en producción.