Conector MQTT v3
Publique los datos en directo de dispositivos y estrategias en su propio broker MQTT y acepte comandos procedentes de él.
→ Descripción general
El conector MQTT v3 conecta el controlador, como cliente, a un broker MQTT que usted elige, por ejemplo el broker de un sistema de gestión de edificios, de un SCADA o de una plataforma de domótica. El controlador publica entonces los valores en directo de todos los dispositivos y estrategias, los precios de la electricidad y un mensaje keep-alive, y escucha comandos como las consignas de los dispositivos, la activación y desactivación de estrategias, las programaciones de EMS externo y los ajustes de la red eléctrica.
El conector está desactivado hasta que introduzca un Host. Es independiente de la conexión a Reduxi Cloud; ambas pueden funcionar al mismo tiempo.
Cualquiera que pueda publicar en los temas de comandos del controlador de su broker puede cambiar las consignas de los dispositivos, desactivar estrategias, modificar los límites de la red eléctrica y reiniciar el controlador. Utilice un broker con autenticación de usuarios, asigne al controlador su propia cuenta y permita el acceso de escritura a controllers/<Unit ID>/…/set y controllers/<Unit ID>/commands/… únicamente a clientes de confianza.
1 Conectar con un broker
2 Parámetros
Estado
| Parámetro | Qué hace | Unidad / valor predeterminado |
|---|---|---|
| Client | ID de cliente MQTT que utiliza el controlador. Es el Unit ID del controlador y forma además todos los temas: controllers/<Unit ID>/…. Solo lectura. |
texto |
| Host | El broker al que apunta la configuración guardada. Vacío = conector desactivado. Solo lectura. | texto |
| Connected | Marca verde = conectado al broker; cruz roja = no conectado. Solo lectura. | — |
| Icono de actualización | Vuelve a leer el estado. | — |
Mqtt connection
| Parámetro | Qué hace | Unidad / valor predeterminado |
|---|---|---|
| Host | Nombre de host o dirección IP del broker. Déjelo vacío para desactivar el conector. | texto · vacío = desactivado |
| Port | Puerto TCP del broker. | número · valor predeterminado 1883 |
| Username | Nombre de usuario en el broker. Opcional. | texto |
| Password | Contraseña en el broker. Solo se utiliza junto con Username. El campo muestra la contraseña en texto plano. | texto |
| Use SSL | Yes abre la conexión con cifrado TLS. Si nunca lo ha configurado, se activa automáticamente cuando hay almacenada una cadena de CA del servidor o un certificado de cliente. | Yes / No · valor predeterminado No |
| Verify server cert | Yes comprueba el certificado del broker con Server CA chain (o con las autoridades de confianza integradas del controlador si no se ha cargado ninguna cadena). No acepta cualquier certificado: la conexión está cifrada, pero el controlador no comprueba con quién habla. Solo se utiliza con Use SSL = Yes. | Yes / No · valor predeterminado No |
| Server CA chain (PEM format) | Certificado (cadena) de la autoridad que firmó el certificado del broker. Haga clic en Choose File y seleccione un archivo PEM. Una vez almacenado, el campo muestra en su lugar un botón Download. | archivo PEM |
| Client public certificate (PEM format) | El certificado de cliente propio del controlador, para brokers que autentican a los clientes mediante certificado (TLS mutuo). Necesita la clave privada correspondiente. | archivo PEM |
| Client private key (PEM format) | Clave privada del certificado de cliente. | archivo PEM |
La clave privada del cliente y la contraseña del broker dan acceso a su broker. Guarde los archivos en un lugar seguro, no los envíe por correo electrónico y no deje copias en ordenadores compartidos. Cualquiera con acceso a esta página del Configurator puede descargar los certificados almacenados y ver la contraseña.
Un certificado almacenado solo muestra un botón Download. Para cargar otro distinto, haga clic en Clear connection configuration y vuelva a introducir toda la conexión con los archivos nuevos.
Additional topics
| Parámetro | Qué hace | Unidad / valor predeterminado |
|---|---|---|
| Name or path | Tema que se publica, relativo a controllers/<Unit ID>/. Por ejemplo, site/name se publica como controllers/<Unit ID>/site/name. Las filas con el nombre vacío se omiten. |
texto |
| Payload | Texto fijo que se publica en ese tema. | texto |
| Add | Añade una fila vacía. | — |
| Icono de papelera | Elimina la fila. Surte efecto tras Save. | — |
Los temas adicionales se publican junto con los metadatos del controlador: cada vez que el conector se conecta al broker y cada vez que el broker envía commands/refresh.
Publicación y botones
| Parámetro | Qué hace | Unidad / valor predeterminado |
|---|---|---|
| Readout interval | Con qué frecuencia publica el controlador la lectura y la consigna de cada dispositivo, y la lectura, el estado y los valores de los parámetros de cada estrategia. Los valores más bajos dan datos más recientes, pero más tráfico. | s · vacío = 60 s · mínimo 0,25 s |
| Guarde | Guarda los ajustes y reinicia el conector. Se registra en el Audit log como CONNECTOR_EDIT. |
— |
| Clear connection configuration | Tras la confirmación Are you sure to clear MQTT settings? (Yes / Cancel), elimina el host, el puerto, el nombre de usuario, la contraseña, los ajustes SSL y todos los certificados. El conector se desactiva. Readout interval y Additional topics se conservan. | — |
Tras Clear connection configuration, el controlador ya no publica datos ni acepta comandos por MQTT. Un sistema que depende de los datos, o que envía programaciones de EMS externo, deja de recibirlos o de entregarlas. Para volver a conectar, debe introducir de nuevo la contraseña y cargar otra vez los certificados.
3 Temas
Todos los temas empiezan por controllers/<Unit ID>/. El controlador publica con QoS 0 y sin el indicador retain, y se suscribe a los temas de comandos con QoS 1. Las cargas útiles son JSON o valores simples; los formatos completos de las cargas útiles figuran en el artículo del centro de ayuda "Reduxi Controller - MQTT API".
Publicado por el controlador:
| Tema | Contenido | Cuándo |
|---|---|---|
identifier |
Identificación del controlador (unit ID, versiones, …) | Al conectar y con commands/refresh
|
settings/interval/readout, settings/interval/keepAlive
|
Intervalos actuales en ms | Al conectar y al actualizar |
devices/list, devices/types, devices/<id>/info
|
Dispositivos configurados y sus tipos | Al conectar y al actualizar |
strategies/list, strategies/types, strategies/<id>/info, strategies/<id>/parameters/list, strategies/<id>/parameters/<id>/info
|
Estrategias configuradas y sus parámetros | Al conectar y al actualizar |
<additional topic> |
Carga útil de Additional topics | Al conectar y al actualizar |
devices/<id>/readout |
Valores en directo de un dispositivo | En cada intervalo de lectura |
devices/<id>/setpoint |
Consigna actual de un dispositivo | En cada intervalo de lectura |
strategies/<id>/active, strategies/<id>/readout, strategies/<id>/parameters/<id>/value
|
Estrategia activada o desactivada, valores en directo, valores de los parámetros | En cada intervalo de lectura |
prices |
Precios de la electricidad de hoy y de mañana | Al conectar, cuando cambian los precios y con prices/refresh
|
strategies/<id>/externalEMS/<type> |
Programación de EMS externo almacenada (battery, evse, hvac, pv) |
Con …/externalEMS/<type>/refresh
|
keepAlive |
Hora actual (Unix ms) | En cada intervalo de keep-alive, valor predeterminado 60 s |
Comandos que acepta el controlador:
| Tema | Efecto |
|---|---|
commands/refresh |
Vuelve a publicar los temas de metadatos. |
commands/reboot |
Reinicia el controlador unos 5 s después. |
prices/refresh |
Vuelve a publicar prices. |
settings/interval/readout/set |
Cambia el intervalo de lectura (ms) y lo almacena. |
settings/interval/keepAlive/set |
Cambia el intervalo de keep-alive (ms) y lo almacena. |
devices/<id>/setpoint/set |
Establece la consigna de un dispositivo. |
strategies/<id>/parameters/<id>/value/set |
Establece un parámetro de una estrategia. |
strategies/<id>/active/set |
Activa o desactiva una estrategia. |
strategies/<id>/externalEMS/<type>/set |
Carga una programación de EMS externo para battery, evse, hvac o pv. Se ignora salvo que la estrategia tenga el modo de optimización External EMS. |
strategies/<id>/externalEMS/<type>/refresh |
Publica la programación de EMS externo almacenada. |
settings/grid/set |
Cambia los ajustes de la red eléctrica (ubicación, fusibles, límite de importación y de exportación), opcionalmente también en las estrategias seleccionadas. |
settings/grid/set sobrescribe los valores de Settings → Grid y, si se solicita, los límites de las estrategias; tiene el mismo efecto que guardar la página de ajustes de la red eléctrica. devices/<id>/setpoint/set escribe la consigna directamente en el dispositivo. No envíe consignas a un dispositivo que también controla una estrategia, o ambas se sobrescribirán mutuamente.
4 Resolución de problemas
| Síntoma | Qué comprobar |
|---|---|
| Connected sigue en rojo | Host y Port son correctos; el controlador puede acceder al broker (TCP port test con el host y el puerto del broker); nombre de usuario y contraseña; con TLS, la cadena de CA coincide con el certificado del broker, o pruebe Verify server cert = No para acotar el problema. |
| Conectado, pero sin datos en el broker | Suscríbase a controllers/# y compruebe el valor de Client: los temas utilizan el Unit ID exactamente como se muestra ahí. |
| Los comandos no tienen efecto | El cliente que los envía tiene derechos de publicación en el broker; el tema utiliza el ID correcto del dispositivo o de la estrategia (véase devices/list, strategies/list). |
5 Lista de comprobación
- Host y Port coinciden con el broker, y Connected muestra una marca verde tras actualizar.
- En instalaciones en producción: Use SSL = Yes, la cadena de CA está cargada y Verify server cert = Yes.
- Los datos llegan bajo
controllers/<Unit ID>/con el Readout interval configurado. - El acceso de escritura a los temas de comandos está limitado a clientes de confianza en el broker.
- Los archivos de certificados y las contraseñas se guardan de forma segura fuera del controlador.