t90-installing-on-homeassistant
slug: with-homeassistant
Installing on Node-RED inside Home Assistant
Home Assistant provides a managed environment for running Node-RED. This setup can sometimes create challenges for complex nodes that require direct backend communication, such as @opcua/for-node-red or @flowfuse/dashboard.
This guide explains the common issues and provides a step-by-step solution to ensure @opcua/for-node-red runs smoothly within your Home Assistant installation.
The Problem: Ingress and API Routing
When you access Node-RED through the Home Assistant side panel, you are using an "ingress" URL, which looks something like this:
http://homeassistant.local:8123/abcde1234_nodered/ingress
This ingress acts as a proxy. Unfortunately, it doesn't always correctly reroute the internal API calls that nodes like @opcua/for-node-red rely on to function.
Symptoms:
- The OPC UA node editor in Node-RED misbehaves or doesn't load correctly.
- Other complex UI nodes (like FlowFuse Dashboard) also experience issues.
Solution Part 1: Bypass the Ingress
The most reliable solution is to access Node-RED directly, bypassing the Home Assistant ingress proxy.
- Navigate to your Node-RED add-on configuration in Home Assistant.
- In the configuration YAML, set the
leave_front_door_openoption totrue. - Save and restart the Node-RED add-on.
- You can now access the Node-RED editor directly at
http://<home-assistant-ip>:1880(replace<home-assistant-ip>with the actual IP address of your Home Assistant instance).
This will resolve the UI and editor-related issues.
Solution Part 2: Configuring a Floating License
The Node-RED add-on in Home Assistant runs in a container. To use the professional features of @opcua/for-node-red in this environment, you need a floating license and a running LexFloatServer instance that is reachable from your Home Assistant device.
Please contact us to acquire a professional license and get assistance with setting up your floating license server.
You must configure the Node-RED add-on to communicate with your license server. This is done by setting an environment variable before Node-RED starts.
Below is a complete example of a working Node-RED add-on configuration.
theme: default
http_node:
username: ''
password: ''
http_static:
username: ''
password: ''
ssl: false
certfile: fullchain.pem
keyfile: privkey.pem
system_packages: []
npm_packages:
- '@opcua/for-node-red'
init_commands:
- >-
jq '.scripts.start =
"CRYPTLEX_FLOATING_ON_PREMISE=http://<your-floating-license-server-ip>:<port>
node $NODE_OPTIONS node_modules/node-red/red.js"' package.json >
package.tmp.json && mv package.tmp.json package.json
leave_front_door_open: true
- Replace
<your-floating-license-server-ip>and<port>with the actual IP address and port number of your LexFloatServer instance. - A professional licence is required to use floating licenses, contact sterfive.com to acquire one and get assistance with setting up your floating license server.