Page 8 of 8
Re: Tool to manage openinverter via CAN
Posted: Sat Jul 19, 2025 4:25 pm
by davefiddes
I've just released v0.3.3 of the tool:
What's New
- Fix logging of bitfield parameters with a zero value.
- Remove python 3.8 support which hasn't worked for some time.
- Fix validation of node id. Nodes need to be between 1 and 127.
Just tidying up some minor nits that were annoying me.
Re: Tool to manage openinverter via CAN
Posted: Mon Jul 28, 2025 9:46 am
by Bigpie
I've done a PR to add an initial GUI to the tool
Re: Tool to manage openinverter via CAN
Posted: Sun Aug 03, 2025 11:43 am
by davefiddes
I've just released v0.4.0 of the tool:
What's New
- Experimental GUI allowing parameter viewing, modification, firmware upgrade and device control
- Rebrand to OpenInverter CAN Tool
- Document and recommend usage of pipx for installation
- Document using canable-fw based CAN adapters on MacOS
- Stop extraneous python stack back-trace information being displayed on common CAN bus errors
Thank you to @Bigpie for their contribution.
Re: Tool to manage openinverter via CAN
Posted: Sun Aug 03, 2025 1:07 pm
by evMacGyver
OpenInverter CAN tool has been absolutely great, beside normal usage I update Zombieverter firmware quite often and there has been no problems at all.
Using Innomaker USB2CAN adapter with Linux and kernel buildin drivers and no need to compile driver like with some adapters. One nice feature is to set CAN network automatically when plugging adapter, like this:
/etc/systemd/network/80-can.network
[Match]
Name=can*
[CAN]
BitRate=500K
# sudo systemctl restart systemd-networkd ; sudo networkctl reload
Not sure is this generic library error which sometimes happen mostly while reading values:
Transfer aborted by client with code 0x05040000 ... 0x05040000: "Timeout of transfer communication detected"
Repeating command does the trick, just has others seen this or something to do with my setup? Same happens sometimes with other adapter too
Re: Tool to manage openinverter via CAN
Posted: Sun Aug 03, 2025 5:25 pm
by davefiddes
Great! Glad it's proving useful to you.
The systemd-networkd support is great. It makes CAN busses plug and play just like Ethernet. I had a bad experience when I tried it on my machine (it refused to boot) and haven't investigated what I did wrong enough to document it properly.
evMacGyver wrote: ↑Sun Aug 03, 2025 1:07 pm
Not sure is this generic library error which sometimes happen mostly while reading values:
Transfer aborted by client with code 0x05040000 ... 0x05040000: "Timeout of transfer communication detected"
Repeating command does the trick, just has others seen this or something to do with my setup? Same happens sometimes with other adapter too
I hope this was with versions prior to v0.4.0. I found a silly bug when fixing up the GUI code to save parameters that would reliably trigger this problem. It could have happened at any time with any function on earlier versions. It should be fixed now. Please let me know if you see failures like this again.
Re: Tool to manage openinverter via CAN
Posted: Mon Sep 01, 2025 9:34 am
by davefiddes
I've just released v0.4.1 of the tool:
What's New
- Fix clearing and importing CAN maps. The canopen library used by the tool has been updated and this has exposed a protocol error in the way the tool and OpenInverter projects remove CAN map entries. Updating is required to work with upcoming firmware releases.
Re: Tool to manage openinverter via CAN
Posted: Mon Sep 15, 2025 10:29 am
by ChrisBPI
Hi Dave,
Thank you very much for sharing the latest version of the OpenInverter CAN tool.
I am currently testing it with Foccci and have run into an issue. I am able to map a CAN message ID with a parameter successfully, but when I try to add a second parameter, I receive the message “Command or parameter not supported.”
PS C:\Users\ChrisK\Desktop> oic -n 22 can list
uptime library not available, timestamps are relative to boot time and not to Epoch UTC
0x109:
tx.0.0 param='EvseVoltage' pos=8 length=16 gain=1.0 offset=0
tx.0.1 param='EvseCurrent' pos=24 length=8 gain=1.0 offset=0
tx.0.2 param='opmode' pos=40 length=8 gain=1.0 offset=0
0x108:
tx.1.0 param='EvseMaxVoltage' pos=8 length=16 gain=1.0 offset=0
tx.1.1 param='EvseMaxCurrent' pos=24 length=8 gain=1.0 offset=0
0x309:
rx.0.0 param='soc' pos=8 length=8 gain=1.0 offset=0
PS C:\Users\ChrisK\Desktop> oic -n22 can add rx 0x309 BatteryVoltage 16 16 1
uptime library not available, timestamps are relative to boot time and not to Epoch UTC
Adding CAN rx mapping with can_id=0x309 param='BatteryVoltage' position=16 length=16 gain=1.0 offset=0
Command or parameter not supported
At first, I thought this might be related to my Windows 11 setup, but I later tested on Ubuntu 24.04.3 LTS and the issue persisted.
I also attempted to load my CAN mapping using the JSON file import feature of the tool, but it didn’t work.
Am I perhaps missing a step?
Re: Tool to manage openinverter via CAN
Posted: Mon Sep 15, 2025 3:05 pm
by johu
Can you record the SDO CAN messages while doing the mapping? So 0x622 and 0x5A2
Re: Tool to manage openinverter via CAN
Posted: Mon Sep 15, 2025 3:22 pm
by davefiddes
Sorry that you're having problems Chris. The easiest way to capture what's going wrong is to enable debug tracing. You can do this by adding "--debug" to the command, so something like:
Code: Select all
oic --debug -n22 can add rx 0x309 BatteryVoltage 16 16 1
I wonder if the canopen library that the tool uses may be out of date. Are you using pip or pipx to install the software? I recommend using pipx these days as it guaranteed a clean isolated set of libraries.
If you are using pip you should get something like this:
Code: Select all
$ pip list | grep canopen
canopen 2.4.1
Re: Tool to manage openinverter via CAN
Posted: Mon Oct 13, 2025 5:37 pm
by davefiddes
I've just released v0.5.0 of the tool:
What's New
- Add the ability to display a device's error log in the CLI and GUI
- Improve firmware upgrade to detect and reject attempts to upgrade with ELF (for debuggers) or Intel HEX (for serial upgrade) files.
- Add documentation on how to automatically start socketcan interfaces on Linux (thanks @evMacGyver)
- Expand the list of known working adapters to include PCAN-USB (thanks @Jack Bauer)
The error log display needs updated firmware support. So far
Stm32-vcu Vehicle_Testing and
M3_DU stm32-sine have this but @johu's Flying ADC BMS and ccs32clara both need updating.
To give a flavour this is what an inverter having bad hair day looks like:
Re: Tool to manage openinverter via CAN
Posted: Wed Oct 15, 2025 6:39 pm
by johu
Clara updated
https://github.com/uhi22/ccs32clara/com ... b48018e46f
BMS will come next. Both need real world testing. Currently away from hardware
Re: Tool to manage openinverter via CAN
Posted: Thu Oct 16, 2025 4:36 am
by johu
offtopic Foccci question now here
viewtopic.php?p=86864#p86864
Re: Tool to manage openinverter via CAN
Posted: Fri Nov 21, 2025 6:15 pm
by davefiddes
I've just released v0.5.1 of the tool:
What's New
- Allow fractional logging steps down to 0.1 second
- Add python 3.14 support
Just a minor maintenance release.