Paleta Victron
Node-RED tiene su propio conjunto básico de nodos. Venus OS Large añade los nodos Victron: la paleta node-red-contrib-victron, que viene instalada de fábrica. Los nodos funcionan mediante D-Bus, es decir, con los valores que Venus OS proporciona de los dispositivos conectados al GX. En el nodo se seleccionan el dispositivo y el parámetro; el editor convierte automáticamente las rutas con marcadores de posición, como {tracker}, en las opciones disponibles en los dispositivos conectados.
- Actualización de la paleta: solo junto con una nueva versión de Venus OS Large. La paleta no se puede actualizar desde el editor ni desde la línea de comandos. Si ya hay una paleta más reciente en internet, hay que esperar a la siguiente versión de Venus OS Large, que suele publicarse poco después de la actualización de la paleta.
- Descripción de los nodos: la wiki del proyecto en GitHub describe cada nodo y sus rutas (páginas Input nodes, Output nodes y Virtual devices). Las rutas y los valores de esta página proceden de esa wiki.
- Otras paletas: los nodos adicionales, como dashboard, se instalan desde internet en la partición de datos del GX, por lo que se conservan tras actualizar Venus OS. Espacio libre necesario: primera puesta en marcha.
Tipos de nodos
La wiki divide los nodos Victron en nodos de entrada, de control y dispositivos virtuales, y enumera por separado dos nodos personalizados (custom).
| Tipo | Qué hace | Cantidad |
|---|---|---|
| De entrada (input) | Se suscriben a un valor de D-Bus y envían un mensaje cuando cambia. | 33 |
| De control (Control) | Escriben en el dispositivo el valor recibido en msg.payload. | 18 |
| Personalizados (custom) | Leen y escriben en cualquier servicio y ruta encontrados en D-Bus, para lo que no cubren los demás nodos. Por ejemplo, el ejemplo integrado de reinicio del GX desde un flujo utiliza el nodo Custom Control. | 2 |
| Virtuales | Virtual Device y Virtual Switch crean un dispositivo en D-Bus; Inject Notification e Inject Event envían una notificación al GX o un evento a VRM. | 4 |
Lista completa de nodos de dispositivos
Los 33 nodos de entrada; 18 de ellos también tienen una versión de control (con el añadido «Control» en la wiki). Descripciones según la wiki.
| Nodo | Origen de los datos | Control |
|---|---|---|
| Accharger | cargadores de baterías AC | sí |
| Acload | consumos AC medidos por un contador de energía con la función «AC load» | — |
| Acsystem | servicio que gestiona Multi RS y futuros inversores/cargadores | sí |
| Alternador | BMV en modo monitor con el tipo «Alternator» o controlador de alternador conectado a Venus OS | sí |
| Battery | estado de la batería: SoC, tensión, corriente, alarmas, historial | sí |
| Dcdc | Orion XS | sí |
| Dcload | BMV en modo monitor con el tipo «carga» | — |
| Dcsource | BMV en modo monitor con el tipo «fuente» | — |
| Dcsystem | medición DC de los consumos de la instalación | — |
| Dess | Dynamic ESS | sí |
| Digitalinput | entradas digitales del GX: solo las activadas en el menú Settings → I/O → Digital inputs | — |
| Ess | sistema de almacenamiento de energía ESS | sí |
| Ev | vehículos eléctricos: integrados mediante VRM y virtuales desde Node-RED | — |
| Evcharger | estación de carga de vehículos eléctricos | sí |
| Fuelcell | pila de combustible | — |
| Generator | generadores arrancados mediante relé y generadores Fischer Panda | sí |
| Gps | posición GPS | — |
| Gridmeter | contador de red | — |
| Inverter | inversor | sí |
| Meteo | sensores de irradiancia solar, temperatura y viento | — |
| E-drive | propulsión eléctrica (servicio motordrive) | — |
| Multi | Multi RS | sí |
| Pulsemeter | contador de pulsos — entrada digital configurada como «Pulse meter» | — |
| Pump | bomba | sí |
| Pvinverter | inversor FV | sí |
| Relay | relés GX, así como relés de cargadores de baterías y Multi RS | sí |
| Settings | ajustes — actualmente, principalmente contadores Carlo Gavazzi | sí |
| Solarcharger | regulador MPPT | sí |
| Switch | expansor de E/S conectado por USB | sí |
| System | datos agregados de la instalación (servicio com.victronenergy.system): batería, FV, consumo CA, red, generador | — |
| Tank | sensores de nivel de depósitos | — |
| Temperature | sensores de temperatura — por ejemplo, una sonda cableada o Ruuvi por Bluetooth; también la temperatura de los sensores de depósitos | — |
| Vebus | dispositivos VE.Bus, como MultiPlus y Quattro | sí |
Cuándo envía un mensaje el nodo
- Con cada cambio de valor — es el comportamiento básico del nodo de entrada.
- Con «only changes» marcado — solo cuando cambia el valor.
- Sin «only changes» — además, el nodo envía el valor actual cada 5 s, aunque no haya cambiado.
- Valor a intervalos fijos — guarda
msg.payloaden el contexto (flow.oglobal.) con un nodo change y léelo con un nodo inject a intervalos de tu elección. Así funciona el ejemplo integrado «Only Messages at Regular Intervals». - Contexto tras un reinicio — por defecto, el contexto solo se almacena en RAM y se pierde al reiniciar el GX o si se interrumpe la alimentación. El almacenamiento en disco se activa en el archivo
/data/home/nodered/.node-red/settings-user.js(almacénlocalfilesystem; el ejemplo del manual guarda cada 300 s). No guardes con demasiada frecuencia para evitar el desgaste de la memoria flash.
Cómo funciona el nodo de control
El nodo Control escribe en el dispositivo el valor de msg.payload. Los parámetros con una lista de valores (enum) se ajustan mediante un número: en los ejemplos de Victron, el nodo inject envía, por ejemplo, el número 3 al nodo Vebus Control para encender el inversor/cargador. Los valores de cada ruta figuran en la tabla siguiente y en la wiki.
- Programación horaria — el nodo inject puede enviar un valor a una hora fija, en días seleccionados o cada pocos minutos dentro de una franja horaria definida. Node-RED utiliza la zona horaria configurada en Remote Console; tras cambiarla, debes reiniciar Node-RED.
- Mantenimiento del estado — el ejemplo «Event Based Scheduling» conecta el nodo de entrada Vebus (
/Mode) con el nodo de control para mantener el modo seleccionado en los horarios programados, incluso si alguien lo cambia por accidente. - Programaciones especiales — para festivos, desfases aleatorios o el anochecer y el amanecer, Victron recomienda el nodo adicional node-red-big-timer (menú Manage palette → Install).
Rutas útiles
Cada parámetro tiene su propia ruta D-Bus. El editor sustituye los marcadores de las rutas por los valores disponibles en los dispositivos conectados:
| Símbolo | Significado |
|---|---|
{type} | tipo de salida del interruptor: output_1, output_2, pwm_1, relay_1, etc. |
{tracker} | número del seguidor FV: 0, 1, 2, 3 |
{phase} | fase CA: 1, 2, 3 (L1, L2, L3) |
{day} | día del historial: 0 = hoy, 1 = ayer |
{input} | entrada CA: 1, 2 |
{channel} | canal CC: 0, 1 |
{index} | número de índice: 0, 1, 2, 3, etc. |
Selección de rutas de la wiki — para automatizaciones según el estado de la batería, la producción FV y el modo del inversor:
| Nodo | Parámetro y ruta | Valores |
|---|---|---|
| Battery | estado de carga (%) — /Soc | número |
| Battery | tensión de la batería (V) — /Dc/0/Voltage; corriente (A) — /Dc/0/Current | número |
| Battery | tensión de la batería de arranque (V) — /Dc/1/Voltage | número |
| System | SoC de la batería (%) — /Dc/Battery/Soc; potencia de los reguladores MPPT (W) — /Dc/Pv/Power | número |
| Solarcharger | potencia FV (W) — /Yield/Power; tensión FV (V) — /Pv/V | número |
| Solarcharger, Accharger (Control) | cargador de baterías encendido/apagado — /Mode | 1 On, 4 Off |
| Vebus (entrada y Control) | posición del interruptor — /Mode | 1 Charger Only, 2 Inverter Only, 3 On, 4 Off |
| Vebus (Control) | límite de corriente de entrada CA (A) — /Ac/In/{index}/CurrentLimit | número |
| Ess (Control) | SoC mínimo de descarga (%) — /Settings/CGwacs/BatteryLife/MinimumSocLimit; consigna de red, grid set-point (W) — /Settings/CGwacs/AcPowerSetPoint | número entero |
| Generator (Control) | arranque del generador — /Start | 0 Stop, 1 Start |
| Relay (entrada y Control) | relé GX — /Relay/{relay}/State; relé del cargador de baterías (en la wiki, «Relay on the charger») o del Multi RS — /Relay/0/State | 0 Open, 1 Closed |
| Digitalinput | estado de la entrada — /State | de 0 low a 11 stopped, según el tipo de entrada |
| Tank, Temperature | nivel (%) — /Level; temperatura (°C) — /Temperature | número |
Relés — qué configurar primero
Para que Node-RED pueda conmutar el relé, primero debes configurarlo para control manual, normalmente en VictronConnect. Después, el nodo Relay Control controla el relé: 1 cierra el contacto (Closed) y 0 lo abre (Open).
| Relé | Qué configurar | Node-RED |
|---|---|---|
| Dispositivo GX | función del relé «Manually controlled» en el menú GX; relés del Cerbo GX — en la página del Cerbo GX | sí |
| BMV | opción del relé REM (Remote Controlled) en VictronConnect | sí |
| Lynx Shunt VE.Can | función del relé «Manual control» en el menú GX | sí |
| Regulador MPPT | modo de funcionamiento del relé «manual control» en VictronConnect; solo los modelos más grandes tienen relé | sí |
| Serie RS (inversor, Multi RS) | control manual del relé en VictronConnect | sí |
| Smart IP43 Charger | modo de control remoto en VictronConnect. El relé solo recibe alimentación cuando el cargador de baterías está encendido; no funciona si está apagado con la entrada AC conectada (modelos 230 V y 120/240 V). Es el único cargador de baterías con un relé controlable. | sí, con limitaciones |
| Lynx Smart BMS | — | no |
| Multi, Quattro (VE.Bus) | relé de alarma y contactor AC-out-2: Victron no tiene previsto habilitarlos para el control remoto | no |
- Relé para el generador: se configura con la función «Generator» en la consola GX, y las órdenes de arranque y parada se envían mediante el nodo Generator Control (
/Start: 1 Start, 0 Stop). El nodo Generator arranca los generadores Fischer Panda directamente a través de D-Bus. - Interruptor en el dashboard: el ejemplo «Relay Switching» controla un relé desde el dashboard. Para que el interruptor refleje también los cambios realizados desde otro lugar, como el menú GX, conecta además el nodo de entrada Relay a la entrada del interruptor. Se necesita la paleta node-red-dashboard; consulta dashboard y acceso remoto.
- Flujo listo para usar: encendido y apagado de un relé según el estado de la batería: ejemplo paso a paso.
Dispositivos virtuales
Un dispositivo virtual permite conectar al GX equipos o fuentes de datos que Victron no admite. Una vez creado en Node-RED, aparece en el GX y se comporta como un dispositivo Victron real, también en el portal VRM. Ejemplos del manual: datos meteorológicos de una API como estación meteorológica virtual, consumo e inyección a la red calculados como contador de red virtual, posición de GPSd como GPS virtual y sensores LoRa o MQTT como depósito o sensor de temperatura virtual.
- Venus OS actualizado. Actualiza el GX a la última versión.
- Nodo Virtual Device. Añádelo al flujo y selecciona el tipo de dispositivo.
- Datos. Conecta la fuente de datos o la lógica de control. Envía al nodo
msg.payloadcomo objeto: las claves son las rutas D-Bus sin la barra inicial y los valores son las lecturas, por ejemplo,{"Dc/0/Voltage": 48.2, "Dc/0/Current": 12.5, "Soc": 85}.
- Nombre en D-Bus:
com.victronenergy.<tipo>.virtual_<id del nodo>. - Desconexión y reconexión:
msg.connected = falsedesconecta el dispositivo y libera el nombre del servicio en D-Bus;msg.connected = truelo vuelve a conectar. - Salida: un puerto que transmite el mensaje original con
msg.connectedajustado al estado actual de la conexión con D-Bus.
| Tipo (wiki) | Servicio D-Bus y ejemplos de rutas |
|---|---|
| AC Load | com.victronenergy.acload — /Ac/L1/Current, /Ac/Energy/Forward |
| Battery | com.victronenergy.battery — /Dc/0/Voltage, /Dc/0/Current, /Dc/0/Power, /Dc/0/Temperature |
| DC Load | com.victronenergy.dcload — /Dc/0/Voltage, /Dc/0/Current, /Dc/0/Power |
| E-drive | com.victronenergy.motordrive — /Dc/0/Power, /Controller/Temperature, /Coolant/Temperature |
| Electric Vehicle | com.victronenergy.ev — /Soc, /TargetSoc, /ChargingState, /Ac/Power |
| Energy meter | com.victronenergy.energymeter — /Ac/Power, /Ac/Energy/Forward, /Ac/Energy/Reverse |
| Generator | com.victronenergy.genset o com.victronenergy.dcgenset — /Start, /EnableRemoteStartMode, /Engine/CoolantTemperature |
| GPS | com.victronenergy.gps — /Position/Latitude, /Position/Longitude, /Fix |
| Grid meter | com.victronenergy.grid — /Ac/Power, /Ac/Energy/Forward, /Ac/Energy/Reverse |
| Meteo | com.victronenergy.meteo — /Irradiance, /ExternalTemperature, /WindSpeed |
| Pulse meter | com.victronenergy.pulsemeter — /Count, /Aggregate |
| PV inverter | com.victronenergy.pvinverter — /Ac/Power, /Ac/Energy/Forward, /Ac/PowerLimit |
| Tank sensor | com.victronenergy.tank — /Level, /Capacity, /FluidType |
| Temperature sensor | com.victronenergy.temperature — /Temperature |
Interruptor virtual (Virtual Switch)
Crea un interruptor sin relé físico, por ejemplo, para un interruptor IoT con firmware Tasmota que el flujo controla según el estado de la batería. Según el manual, aparece en el panel de interruptores (Switch) de la nueva interfaz de Venus OS, se puede encender y apagar como un interruptor real y su estado se guarda en el GX y puede conservarse tras un reinicio.
- Control:
{"SwitchableOutput/output_1/State": 1}lo enciende;{"SwitchableOutput/output_1/Dimming": 75}ajusta la intensidad al 75%.msg.connected = falsedesconecta el interruptor. - 11 tipos: On/Off (0 apagado, 1 encendido), Dimmable (encendido/apagado y regulación de intensidad 0–100%), Temperature setpoint (deslizador del termostato en °C), Stepped, Basic slider, Dropdown, Numeric input, Three state (0 Off, 1 On, 2 Auto), RGB color wheel, CCT wheel y RGB+White dimmer.
- Salidas: el puerto 1 transmite el mensaje con
msg.connected; el puerto 2 envía el nuevo estado cuando cambia; el puerto 3 envía el nuevo valor de intensidad o consigna (tipos con regulación de intensidad, pasos, valores numéricos y RGB).
Notificaciones y eventos
| Característica | Inject Notification | Inject Event |
|---|---|---|
| Dónde se muestra | centro de notificaciones de Venus OS, en la interfaz GX | portal VRM: Diagnostics → Event logs |
| Destino en D-Bus | com.victronenergy.platform, /Notifications/Inject | com.victronenergy.logger, /EventLogging/Inject |
| Gravedad | 0 Warning, 1 Alarm, 2 Information | 0 Warning, 1 Critical, 2 Info |
| Contenido | msg.payload; título de la configuración o de msg.title, tipo de la configuración o de msg.type (número o «warning», «alarm», «info») | msg.payload; nombre de la fuente (App) de la configuración o de msg.app, gravedad de la configuración o de msg.severity (número o «warning», «critical», «info», sin distinguir mayúsculas y minúsculas) |
| Límites | título de hasta 100 caracteres y contenido de hasta 500; los textos más largos se truncan | — |
| Salida | mensaje original con msg.notification añadido | mensaje original con msg.event añadido |
Ejemplos incluidos
En el editor: menú de la esquina superior derecha → Import (o Ctrl+I) → Examples → node-red-contrib-victron. Los mismos ejemplos están en la wiki, en la página Example Flows. Algunos requieren paletas adicionales, normalmente node-red-dashboard.
| Ejemplo | Qué muestra |
|---|---|
| Trigger Based Scheduling | encendido y apagado del inversor/cargador a horas fijas (inject + Vebus Control) |
| Event Based Scheduling | mantenimiento del modo de inversor seleccionado durante las horas programadas |
| Combining Inputs / Night Time Rate Battery Charging | el SoC del nodo Battery selecciona el modo del Quattro: por debajo del 25%, carga a cualquier hora; entre el 25–50%, carga por la noche y alimentación desde la batería durante el día (Inverter Only); por encima del 50%, alimentación desde la batería |
| Brightness-Based Lamp Control | lámpara conectada a un relé: se enciende cuando la tensión PV del regulador SmartSolar es inferior a 5 V durante 60 s; se apaga tras 30 min cuando ya no está oscuro |
| Temperature Dashboard | temperatura del sensor en el panel de control, redondeada a un decimal |
| Location Based Scheduling | relé al anochecer y al amanecer según la posición del GPS conectado por USB (nodo BigTimer) |
| Monitor Disk Usage, MQTT Disk Space Monitoring | uso del almacenamiento del GX: mediante el comando df o por MQTT |
| Relay Switching | relé conmutado desde el panel de control |
| Solar Forecasting | previsión de producción fotovoltaica del servicio forecast.solar |
| Threshold Control | salida que se activa por encima del umbral ON y se desactiva por debajo del umbral OFF, con retardo; del webinar de Victron |
| Load Shedding and MinSOC | SoC mínimo en ESS ajustado según los cortes de red previstos (API EskomSePush, Sudáfrica) |
| Only Messages at Regular Intervals | valor enviado a intervalos fijos mediante el contexto |
| Run Generator at Certain Time | cada día a las 18:00: si el SoC está por debajo del 50%, el generador funciona durante 45 min |
| Venus Reboot | reinicio del GX desde un flujo mediante el nodo Custom Control |
En qué difieren las fuentes
- Tipos de dispositivos virtuales. El manual de Venus OS Large (cap. 5.8) enumera 9: Battery, Generator, GPS, Grid meter, Meteo, Motor drive, PV inverter, Tank sensor y Temperature sensor. La wiki (Virtual devices) indica 14: añade AC Load, DC Load, Electric Vehicle, Energy meter y Pulse meter, y «Motor drive» aparece como E-drive (servicio com.victronenergy.motordrive). La lista de tipos del nodo Virtual Device muestra cuáles están disponibles en tu instalación.
- Dónde aparece el interruptor virtual. Manual: en el panel de interruptores de la nueva interfaz de Venus OS. Wiki: Venus OS lo detecta como un I/O extender Cerbo GX conectado, y la interfaz GX permite controlarlo.
- Con qué frecuencia llegan los mensajes. FAQ Q9 y ejemplo «Only Messages at Regular Intervals»: con cada cambio y, sin «only changes», también cada 5 s. Ejemplo «Event Based Scheduling»: por defecto cada 5 s, con envío inmediato de los cambios, «aproximadamente una vez por segundo».
- Horarios en «Trigger Based Scheduling». Descripción: activación a las 6:00 y desactivación a las 22:00. En el propio flujo, el nodo «Trigger 'ON' at 22:00» envía 3 (On) a las 22:00, y «Trigger 'OFF' at 6:00» envía 4 (Off) a las 6:00. Tras importarlo, comprueba los horarios y los valores de los nodos inject.
- Actualización de la paleta. Cap. 5.3 y FAQ Q2: la paleta Victron no se puede actualizar desde el editor ni desde la línea de comandos; solo mediante una nueva versión de Venus OS Large. El cap. 5.6 indica, en términos generales, que si se instala una versión de la paleta más reciente que la de fábrica, Node-RED utilizará la más reciente. Sobre la paleta Victron, el manual es explícito en Q2: solo mediante una nueva versión de Venus OS Large.
- Marcadores de posición. La leyenda de la wiki enumera {type}, {tracker}, {phase}, {day}, {input}, {channel} e {index}, pero en las descripciones de las rutas también aparecen {relay} (
/Relay/{relay}/State), {line} (/Ac/Consumption/{line}/Poweren el nodo System) y {historyDay} (/History/Daily/{historyDay}/Yielden el nodo Solarcharger).
Los nodos Control cambian el modo del inversor, los límites de corriente, los ajustes de ESS y el estado de los relés en cuanto se despliega el flujo (Deploy). Victron no ofrece soporte para instalaciones en las que Node-RED implementa soluciones avanzadas; prueba los flujos nuevos con la instalación supervisada. Un flujo que sobrecargue el GX se puede desactivar en modo seguro: modo seguro y reinicio.
Equipos afectados
Cerbo GXCentro de control del sistema y pasarela al portal VRM.
Ekrano GXCentro GX con pantalla táctil integrada de 7″.Fuentes
- Wiki de node-red-contrib-victron — Available nodesgithub.com · EN
- Wiki de node-red-contrib-victron — Input nodesgithub.com · EN
- Wiki de node-red-contrib-victron — Output nodesgithub.com · EN
- Wiki de node-red-contrib-victron — Virtual devicesgithub.com · EN
- Wiki de node-red-contrib-victron — Example Flowsgithub.com · EN
- Venus OS Large image: Signal K and Node-RED — cap. 2, 5.3–5.8, FAQ Q2, Q9, Q11victronenergy.com · EN