Venus OS Large: Node-RED and Signal K

Hello all,

As some of you know, something new is in the works, called "Venus OS large". This post is intented to start getting a large audience for it, as well as to recruite more help in further developing it.

This story is a bit longer than I usually type, here we go:

Introduction

Venus OS Large is an extended build of Venus OS, it adds Node-RED and Signal K server.

Node-RED is a tool for connecting hardware devices, APIs and online services. It provides a browser-based editor that makes it easy to wire together flows. With it, one can for example program something relatively simple such as a relay to open or close based on a temperature measurement. As well as make far more complex algorithms, tying voltage, current, power or other readings and other data available from Venus OS or elsewhere together with outputs such as relays or control points of the Victron system. All without having to write real source code.

Also Node-RED features a fully customisable dashboard, viewable in a webbrowser - both locally and remotely, via the VRM Servers.

Signal K server is aimed for yachts, and multiplexes data from NMEA0183, NMEA 2000, Signal K and other sensor inputs. It makes all that data available for Apps, such as WilhelmSK, a highly customizable boat instrument display. The Sailing with Signal K blogpost on our website is a great read for more information and ideas.


Customisation & automation without needing to be a software developer

The value of above is that now you can self configure and customise your GX Device to do many of the things asked for here. And doing so without having to posses software developer skills. It will require patience, time and to be not too afraid of trying things.

Its really extremely powerful and I'm super excited about the possibilities.


Documentation & how to install

See https://www.victronenergy.com/live/venus-os:large.

Venus OS Large is available for the Cerbo GX, Venus GX, MultiPlus-II GX and EasySolar-II GX as well as the RaspberryPi3 and RaspberryPi 4.


Want to help?

There are a few ways to help. First of all by simply installing and using it; and reporting any issues, or just that you're happily using it and what you are using it for.

The other is by helping others here on the Modifications section on Community. There is and will be no official support for Venus OS Large. Instead, we are referring users to turn here, the Modifications Space on Victron Community. You can help by answering questions.

Next, there is developing and improving the documentation; The manual needs further development, also the nodes and available measurements will need detailing and documenting, examples, screenshots, videos, it will all help adoptation and getting the best out of this. And we'll need more help for all of that that.

Lastly I am looking for help in development and support. First of all to further develop and support the Victron integration into Node-RED, ie. the node-red-contrib-victron package. Which will require nodejs experience, Linux experience, and preferably also experience with Victron products; ideally you'd be following and taking part of the discussions here on Community, (remotely-) debugging issues as well as suggesting and implementing new functionality in the said package.

Besides the node-red package, also the integration of Node-RED and Signal K in Venus OS needs to be maintained. Which requires a different skillset: deep experience and knowledge of Linux, but also the Open Embedded build system.


Conclusion

I can type a whole lot more about this, but have to stop now. Have a good Sunday! And if you have examples, or questions or comments, welcome to put them below.


Ps. Node-Red example flow:

[image]

mvader (Victron Energy) asked
palle commented ·

13 Answers

Access to Red Node via ip adress:1880

Hello
I'm very new to Venus OS large, just installed it and try to connect to signal K and Node Red to have a look. Unfortunately I'm not able to connect to the Node Red server at all. Seams there is a mistake I do. May someone can help me out, as I could not find any further infos.
I tried:

- via venus.local:1880
- via IP:1880

but both does not work at all. I'm able to connect to signalK via both methods :3000

I tried with switched on both signalK and Node Red and just one.
I tried on different browsers, all the same "access denied" error.
As it works with SignalK :3000 I'm don't believe it has something to do with browser setting.

Thanks for your help

Silvio Franceschini asked
janvd answered ·

2 Answers

Click here to see questions for the Node-Red topic

Hi,

Node-Red is awesome, super flexible and allows amazing customisation and control of your Victron system, but it can also be complicated and many possibilities are completely untested.

It is considered a modification and only to be used at your own risk.

Victron does not provide any official support for Node-Red, so please keep questions in the modifications space on the community (and not to your dealers or sales managers).

If you are experiencing system issues and need help, please turn off Node-red and return your GX to the supported factory state before seeking support beyond the Victron modifications community.

Click here to see all the community content that uses the Node-Red topic.

Thanks :)

Guy Stewart (Victron Community Manager) asked

0 Answers

Venus Remote Node Red

I have a Victron installation on my boat, being monitored with a rPi running Venus. I have a boat server running Ubuntu, connecting to the boat NMEA network and running a SignalK server and Node Red. While the NMEA data is working ok, I'm having problem with the Victron data in Node Red. Logs show SK connecting to the Venus ok, whether using MQTT or remote DBUS. The SignalK server is displaying the Victron data ok in the data browser, again, with either connection to Venus.

But I am getting the same error in Node Red as was discussed in this unresolved question over a year ago:

https://community.victronenergy.com/questions/35001/external-node-red-on-ubuntu-connecting-to-ccgx.html

I think the problem is the palette installation. On the remote node-red-contrib-victron instructions, it says:

In order to use the plugin remotely, Node-RED and the plugin needs to be locally installed:

  1. install node-red on your system
  2. cd to the node-red user directory, typically ~/.node-red
  3. install node-red-contrib-victron locally, npm install @victronenergy/node-red-contrib-victron

How can I install Node Red or the contrib-victron locally? There is no npm on the Venus.

Further, it would seem the easiest solution could be to replace the Venus firmware with the latest 2.70 large that includes NodeRed. However, in order to prevent a repeat of the moisture in the RPi circuit board issue I have had before, I have sprayed the RPi board with lacquer coating, and the SD card is now glued into the socket and can not be removed.

I can ssh into the Venus with root access, so what if I can install npm into that os and then install Node Red? Will that help? How is that done?


seebeezee asked
billknny answered ·

2 Answers

Node Red Time Zone And Such...

I realize this is a couple of related questions, but here goes:

Is that any way to read the timezone offset that the user sets in the Venus GUI into NodeRed? I am trying to make decisions based on local time, which since I am a sailboat, that changes and changing it when it is hard coded into NodeRed is a bit awkward... I do have access to the GPS position that is on the CANbus, and could calculate a "solar time" based on latitude, but that seems clunky...

The vaguely related question: Is there any way to access the user set value for the "Quiet Hours" used by the generator autorun function?

Even further afield from the original question: Are the other parameters set by the user and used by the generator autorun function accessible to NodeRed?

I haven't found any of these on the published Modbus register listings.

billknny asked

0 Answers

Remote console and node-red grid value dont match

I am running node red on a GX. I have 2 quattro 15kva in parallel. When the grid is conected the value on node-red does not tie up with the remote console. I have selected Input Power 1(W) on node red and there is a significant difference, not just lag, to that of the cosole. Any ideas please

David Gould asked
David Gould commented ·

0 Answers

Automate more than 2 relays using Node-Red on RPi

Hi

Following the notes from here I've managed to get as many relays as I want configured on my RPi. These work on the GUI and in hardware.

https://community.victronenergy.com/questions/34195/make-more-than-two-relays-visible-on-rpi-rpi.html

The problem I'm having is that if I configure more than two relays, they stop apprearing as an option for me to control in Node-Red. Has anyone had a look at this or have a work around?


Thanks,


Dan

dharryman asked
thomas-g commented ·

0 Answers

Hello Victron-staff please help us with ESS Phase compensation!

Hi Victron (@mvader), we are discussing in several threads a nearly similar question without an expert comment by victron-staff:


https://community.victronenergy.com/questions/81114/ess-phase-compensation-not-working.html?childToView=81209#comment-81209


https://community.victronenergy.com/questions/80366/why-does-victron-experts-do-not-provide-an-update.html


https://community.victronenergy.com/questions/55480/ess-system-doesnt-react-not-balanced-to-high-ac-lo.html?childToView=71245#answer-71245


This main problem of an „symmetrical“ or „balanced“ ESS in a three phase grid-parallel setup is absolutely essential for the German and Austrian market. Please let us know what you think about it! Thank you very much!

woliver asked
gnagflow edited ·

3 Answers

Node red login

All of a sudden when I go to Venus.local:1880 a screen comes up requiring username and password

i don’t believe I did anything to set this up and I don’t know what the username and password is

is there a default or a way to stop this happening ?

bear asked
Stefanie answered ·

1 Answer

Node-Red Battery temperatures

I currently sense two battery temperatures using Wemos D1 Mini and send the data over MQTT.

Is it possible for Node-Red (large-image running on the Rpi) to write these temperatures to the GX part as Battery Temp 1 and Battery Temp 2 instead of using and ADC?

Node-Red can read from a temperature sensor (there is a node for that) but can it write values?

Thanks.

xsilvergs asked
Rene Mullie answered ·

3 Answers

Weather controlled Minimum discharge SOC example using Node-red

I have an interesting NodeRed project - based on next day weather, it is changing the minimum discharge SOC on the GX device. So if next day it is sunny, it will configure the SOC to a lower level, if it is cloudy it is increasing the SOC. At this moment I have only 4 levels, but it can be improved. How I'm doing this - you need to create a free account on https://openweathermap.org. After doing that use the API generated on that site, put it in the openweathermap node, add your city name or coordinates, and you will receive the details for the next 5 days. I'm looking only at next day, between 9AM-6PM and the value used is called visibility. Having the average value for next day, the system will decide (every day at 3PM) how the SOC should be for the next 24h. There are lots of things that can be added. If you need any other info, you can ask. Or if you have something similar, please share.


[image]


[image]



Lucian Popescu (Victron Energy Staff) asked
thomasw-1 edited ·

1 Answer

Multiplus Battery temperature in Node-RED

I am sure I am overlooking something here,

I can't seem to find the Multiplus read battery temperature in any of the Node-RED nodes. It certainly shows on my console so the data is there, and in VRM, and I can easily access the battery temperature sensors directly connected to the Cerbo, and the one connected to the BMV, but link to the Multiplus message containing battery temperature, I can not find...

billknny asked
billknny commented ·

1 Answer

Venus Node-RED - Example flow: Temperature controlled relay

Does anyone have a good example of flows for maintaining lithium battery temperature via GX relays?

I have one that I slapped together but it's pretty basic and I don't really have a very good grasp on node-red yet.

Seeing as how this is one of the most common reasons for someone to want node-red, I'm pretty surprised that I can't find this already out there! The flows/dashboard from section 6.2 of the following link are very similar to what I am trying to do....but I can't see the rest of the flow and I'm lost. https://www.victronenergy.com/live/venus-os:large?utm_source=offline&utm_medium=qr&utm_campaign=qr%20code%20products#


I would also like to throw in some other variables such as warming the batteries to a higher temperature when the PV & battery voltage is above a certain threshold, and disabling warming when the battery voltage is too low.




chris-wilberg asked
Mark commented ·

1 Answer

How to access GPIO Pins in Node Red on Venus Raspi 3

Hello

i have installed the large image of venus with Node Red included. everything works as it should.


i have 5 relays i want to control, but i do not want to do it on the Venus UI, instead i want to listen on the local MQTT Server and if the value true comes in i want to turn the relay on.


My Relais are on the PINS (7,11,13,19,26)


Does anybody knows how to access them in node red?

The standard Raspberry Pi Nodes arent working


[image]


[image]

bo0om asked
mtnscott answered ·

1 Answer

Ignore AC input over modbus / dbus?

I am looking for a way to just ignore the AC input.

I have modbus tcp and access to the dbus thru nodered, but I dont see how i would change that setting.

Currenlty i overwrite the settings manually every day with VEConfigure, but that is pretty painfull. :)

How can I achieve this and make some nice flows in nodered?

betz asked
jacola answered ·

3 Answers

May Node-Red communicate with third-party CAN?

Hi, you'll probably guess from the following that this is not an expert question. Anyways, I'll give it a try:

Is there any way to let Node-Red on Venus or Cerbo communicate with an external device via a proprietary / third-party CAN protocol (based on CANopen)? I imagine to build outgoing or decompose incoming messages with e.g. a function node and/or an appropriate -contrib-.

What is the best way to do the hardware-interfacing between the Venus/Cerbo and the external device?

What is the best way to implement a CAN-communication in Node-Red on Venus/Cerbo?

Would be nice to use the power of Venus/Cerbo with Node-Red for extended control tasks. Therefore this question as part of a general feasibility check.

Thx,
Thomas

Thomas Pfeifer asked

0 Answers

Force charge/discharge of Multiplus using VenusGX & Node-Red

What am I trying to achieve?

Charge the battery, or discharge the battery based on external input (via MQTT, but ultimately based on variable electricity tariff status)


I am up and running in Node-Red on the Venus GX 'large' image and am able to set the Multiplus to the following modes;

[image]

However if I set the multiplus to 'charger only' it obviously won't charge if I'm not in a scheduled charge slot.


If I set up a scheduled charge slot to be active at all times, then I can charge / not charge on demand by setting the 'Disable Charge' flag to either 0 or 1.

[image]

However when in the 'don't charge' state, it also won't discharge the battery as I'm in a scheduled charging slot.

I've tried setting the AC power setpoint instead of charging within a scheduled charging time, but it doesn't seem to do anything if I try the following;

[image]


Can anyone offer any recommendations on how I can switch between charging or discharging to meet my requirement?


homestorage-77 asked
russ commented ·

1 Answer

Cerbo GX and Node-RED via Venus OS Large: dashboard functions?

Dear Victron-users,

I recently bought a Cerbo GX with touchscreen and after a few days of tweaking I decided I want more, for example a custom dashboard. Installing Venus OS Large was the best solution I was told so I installed it on the Cerbo and activated Node-RED. Via the URL and the specific port I can access Node-Red and put instances on the grid with connections etc. But..... that's where it stops for me ;-). I cannot create a custom dashboard. On all the YouTube films I watched, I see in the left column a submenu "dashboard" with for example gauges etc. but I don't see this menu and when I go to URL/ui I get a error there isn't a GUI. Can someone help me a little bit forward?

Kind regards,

Pim

pim asked
pim commented ·

1 Answer

Node Red, Signal K and NMEA 2000 Devices

Just wondering if anyone has looked at how to get Node Red to send a message to a NMEA 2000 device. I am looking to install a yacht devices YSDC-04, and want to to switch the switches within Node Red flows.

Just asking if anyone has any pointers.

I am aware of the @signalk/node-red-embedded for when node-red is embedded in Signal

bathnm asked
Stefanie commented ·

0 Answers

idea

External/existing Node-Red connectivity to Venus OS

Is it possible, will it be possible to connect an external/existing Node-Red setup to Venus OS instead of using the internal Node-Red that will be available in a future release of Venus OS?

acs asked
Stefanie commented ·

3 Answers

Node-Red Temperature Sensor Node

Using Node-Red v2.6-large-image-7 on a RPi3 B+ with an mcp3208 ADC.

When I try to use the Temperature Sensor node I'm unable to select either sensor.


I get this message in the "Edit Temperature Sensor node" box:

Multiple temperature sensors were found with the same name. You can set a custom name for the device in Venus settings.

[image]



I am unable to see how to change the name of the sensor, any help would be much appreciated.


xsilvergs asked
xsilvergs edited ·

1 Answer

Help with using Node-Red with Venus GX

Could anyone please give me a bit of support in gettig started with Venus GX interfacing via Node-Red?


I've got Node-Red installed on a Raspberry Pi & am looking to switch on / off my Multiplus II based on certain input conditons.


I've loaded in the Victron nodes to Node-Red but am stuck on step 4 of the Installation Instructions;

https://github.com/victronenergy/node-red-contrib-victron#Installation-and-Usage


enable d-bus over tcp in your Venus device if you want to use dbus over TCP, otherwise skip this step. Edit /etc/dbus-1/system.confand add the following directly above <policy context="default">:

  <listen>tcp:host=0.0.0.0,port=78</listen>
  <auth>ANONYMOUS</auth>
  <allow_anonymous/>


How do I actually go about doing this? How to I connect to the Venus GX in a way that allows me to edit the files?


Any advice of next steps would be greatly appreciated too, as the instructions are not clear for me.


Many thanks in advance

homestorage-77 asked
Mark commented ·

1 Answer

Control MultiPlus II via MQTT

Would it be possible to control a MultiPlus II via MQTT ?

What I'm thinking is to disconnect the mains in relay off between 16:00 - 19:00 this would be because on the Octopus Agile tariff here in the UK is the very expensive period. During this period my house would run from batteries via the inverter in the MultiPlus II. The control would come from Node-red.

myozone asked
homestorage-77 commented ·

6 Answers

repair node red on my victron gx device

Is there a process for reinstalling node red on a gx via ssh, I have installed a node which seems to have crashed it

David Gould asked
David Gould commented ·

0 Answers

RPi Venus with Node-Red proxy access problem

New here but I'm used to Node-Red.
Firmware version v2.60~38-large-image-6
Build date/time 20200819194100
Node-Red is running on my RPi 3 B+.

In Settings > Services Node-Red is enabled.

I have a flow with an inject button which is changing the state (1 or 0) of a Relay Control node and I can see the GPIO pin for relay 1 change state. I have also added the node-red-dashboard node and included a button.

From what I understand I should be able to view this remotely.

From https://vrm.victronenergy.com/installation/nnnnn/proxy/
When I click the big Node-Red button under "Proxy Relay" a new tab is opened and I get this message in the browser at https://nnnnn-nodered.proxyrelay1.victronenergy.com

Error: remote installation does not seem to have a running Node Red service.

Hopefully someone may be able to give me a clue as to why I can't view the Node-Red page?

Thanks

xsilvergs asked
xsilvergs commented ·

1 Answer

Feature Request: Access to Node-Red UI via VRM-Portal

Node-Red is a fantastic extension to Victron's GX devices, and you are doing a great job that this is going to become a standard add-on to the GX-OS (as it seems to me from the discussion in GitHub).

As one can access the Remote Console via VRM portal, I was questioning, whether it would be possible to access the Node-Red UI (GX-IP:1880) via the VRM portal, as well. Do you think, such thing could be possible? Is there already some kind of workaround to see the Node-Red UI in a VRM session?

To my opinion, it would make the Node-Red implementation even more fantastic.

Thx & kind regards,
Thomas

Thomas Pfeifer asked
Mark commented ·

2 Answers

Add Relays - Does anyone have a an ‘idiots guide' on how to add more Relays to a VenusPi set up?

I’m only semi-computer literate - everything is trial and error and cut and paste and hours of google research… If the details include what software should be used and exactly what to type then I can usually muddle my way through. But when it comes to ‘just add a few lines of code in the xxx” I’m completely lost.


I have managed to burn an image to a sd card and install Venus Pi v2.60 large image on to a raspberryPi 3.


I have 1 Victron mppt 75/15 connected successfully to it vie ve-direct usb cable.


I have successfully got node-red running (and can even see it all via VRM Portal - including node-red which is amazing).


I’m still at beginnings of how node red works but can see its potential.


So far so good


But I’d really like to add more than 1 relay so I can control multiple external devices (like pumps, irrigation valves etc) and also control them through node red.


I’ve read the comments and half guides for adding extra relays - but they are incomplete or presume you know how to do certain un-explained steps. So I'm completely lost.


So - anyone have a step by step guide to add relays ? (and I’m on a Mac so Mac instructions would be great!)


Thanks in advance for all the amazing guides so far - and for the missing bits I hope someone will write soon…

thomas-g asked
powerace commented ·

3 Answers

Connection to Victron MQTT - Node Red

I've read many threads but still cannot connect to Victron's MQTT server. I know I should be using mqtt62.victronenergy.com and have everything set as I understand it, including the venus-ca.crt but it fails to connect. Any help would be appreciated.

[image]

[image]

wmsmitty asked
wmsmitty answered ·

1 Answer

Writing DVCC parameters from Node-Red

Hi there...

I'm trying to communicate a BMS (from a HydraRedox flow battery) with a CCGX, in order to allow the BMS manage battery charge an discharge using DVCC.
The system is off-grid, so I've discarded using ESS.

The BMS includes a PLC which can communicate through Modbus TCP, and optionally using CAN bus (CANOpen).

One of the most interesting options for me is to communicate them through Node-Red, using the "node-red-contrib-modbus" and "node-red-contrib-victron" nodes. I'd install Node-Red in a computer in the same local network, as CCGX doesn't seem to support Node-Red.

I have no problem with the Modbus part, as I've used it in other projects, but have some questions about communication with the CCGX:

Is it possible to write the DVCC parameters needed (CVL, CCL and DCL) from Node-Red?

As it seems "node-red-contrib-victron" nodes use internally D-Bus, this question could also be asked like this:

Is it possible to write the DVCC parameters needed (CVL, CCL and DCL) using D-Bus?

And, if it's possible, where can I find the D-Bus paths to these parameters?

Just in case somebody suggest using Modbus to write these parameters, I cannot find some of them in the Modbus register list cor CCGX, and some other are just not writable.

My other preferred option is to communicate both systems using CAN Bus (Ve.Can/NMEA2000/CANOpen), but I also have some questions about that and will ask them in another thread.

I've posted this same question in the Spanish forum (in spanish), please tell me if you consider this a misuse of the forums (I'm a newbie here...).

Thanks in advance,

Raúl


rbecerra asked
rbecerra commented ·

1 Answer