question

nickdb avatar image
nickdb asked

Node red Buffering output from victron nodes

When creating flows that take output from multiple victron nodes (say solar chargers) and then trying to combine the data, via the join node into an array, you end up with inconsistencies due to timing errors and delays from the individual nodes.

The join node takes the first X values it is configured for and then sends the message, but some times when one charger doesn't respond in time, it ends up processing one of the others twice, so output values are hugely inaccurate and variable.

I am trying to find a way to buffer this output so I can get a more consistent value when one of the nodes is too slow to respond. Slightly stale data is better than counting the wrong one twice.

Or is there a better way to do this?


Node-RED
2 |3000

Up to 8 attachments (including images) can be used with a maximum of 190.8 MiB each and 286.6 MiB total.

1 Answer
enfrafer avatar image
enfrafer answered ·

Hello @nickdb, just wondering if you found a solution for this, since I have the same issue right now. In fact, I am trying to calculate the surplus energy for feeding an EV charger. However, I need to combine the PV generation of an inverter + the charger and discount the AC load. I created an array with the 3 values but, as you say, sometimes the array show inconsistent values.

2 comments
2 |3000

Up to 8 attachments (including images) can be used with a maximum of 190.8 MiB each and 286.6 MiB total.

nickdb avatar image nickdb ♦♦ commented ·
I did, use a filter node so only changes are sent, use a change node to set a flow variable then have a function node add the various flow variables together etc.
1 Like 1 ·
enfrafer avatar image enfrafer nickdb ♦♦ commented ·
Thanks for your answer. I finally used a joint node to combine many values into a single message with Topic as ket . Then a function can read all the values and make calculations.
0 Likes 0 ·