Use Node-RED to talk CANbus?


I use Node-RED for my solar PV system.

Please help, I need to spoof my inverter (GoodWe SBP G2) with compatible battery communication. Without a compatible CANbus battery it only charges at half rate.

I have all my battery readings stored as variables in NR already.

Can I buy one of these TCP to CANbus adapters or something else more suitable and use it to send CANbus packets to the inverter?

I'm not a coder and so this feels more achievable.

Does NR allow you to build compatible packets, apologies if that doesn't make sense?

Anyone seen anything like this?


I would try to install a published set of nodes that is for CAN BUS, Then perhaps you can solve this and forego coding. Just go to the "flows" tab on the main menu top right and put in the search "canbus". This yields about 9 related flows and node topics on this subject.

Good luck,

1 Like


I'm also curious what the hardware would look like for this. There is a CAN hat for the Pi and a node specifically for that. Is there a more versatile option for something like a mini PC, vm, or PLC host that lives on the network? Maybe an Arduino with a CAN and ethernet shield could handle the translation???

1 Like

Thanks, this looks interesting:

The reTerminal is basically an RPi CM4 with an IO board.

node-red-contrib-socketcan seems to be the go.

Information seems a bit light on the interface hardware that you can use with socketcan though.

Look up the Lilly Go - its what Dala uses for his Canbus project for the HV batteries on The Fronius inverter - it supports dual canbus ports (different speeds)

You can probably grab most of his code and just translate it for the GoodWe


1 Like

YOu should also hit up the other guy i mentioned from the Aussie Whirlpool forum as he wrote a canbus emulator for the SBP V1 - can not imagine it would be any different as it has to talk to the same batteries


1 Like