Hi @outlandnish,
This is beautiful work, so much so I had to use your ideas in my own re-imagining of the use of the ESP32!

- OI-Telemetry

- OI-Parameters

- OI-CAN mappings

- OI-CAN messages
***************************************************************************
Damien WARNING
***************************************************************************
Do NOT read the following it is very BORING!!!!!!
Go watch a cat video instead
Or just read the code at
https://github.com/jetpax/scripto-studio-registry
****************************************************************************
But I ended up with a very different architecture, based on a few observations:
- There are many other projects related to OpenInverter that expose a configuration interface for an ESP32 CAN based system (GVRET, OVMS, Dana's Battery Emulator etc)
- The end user will ALWAYS want to change slightly the way the system works for their own implementation, and so run-time behaviour modification through scripting is essential (eg Dynamlabs (proprietary) with Lua )
- The ESP32 is a very capable device that should not get a free ride in the overall design, ie sitting doing nothing once the initial config is done
- We should be able to easily port this to other mid-end processors such as ESP32-P4 or RP2350
- The connected client (PC, tablet etc) has enormous horsepower and storage compared to our devices, so run _and serve_ the UI on the client
- The client MUST be OS agnostic
- The system MUST work without internet connectivity, ie isolated LAN
- All client<>device communications MUST be secured by TLS
- Its 2026, Agents MUST be able to help write the scripts
- The Agents will make mistakes (not us of course) so the script engine SHOULD have a visual debugger
Based on that, I redesigned the system with the ESP32 becoming an 'Application Processor', running MicroPython, with some hardware accelerators to ensure that things like secure networking and CAN work at decent speed. This binary rarely gets changed, and running with a different application processor is just a question of using a different MicroPython port. ( I currently have ESP32-S3 and P4 running seamlessly).
That allows the user add any "
Extensions" at run time, such as OI, GVRET (@uhi22), OVMS (@bigpie), Dana's Battery Emulator with the same binary and hardware platform, without compilation or flashing new firmware. Multiple simultaneous users of the CAN busses are managed by a CAN manager so that for example, OVMS can peacefully co-exist with OI ).

- Extensions
OpenInverter Web Interface becomes just another app loaded at run-time by a PWA that communicates with the 'App Processor' over wss:// ( I also created a new
IANA websocket subprotocol to make this work efficiently ). The 'App' includes the device side Python code that communicates with OpenInverter devices over CAN (only) eg Zombieverter, Foccci etc., which is automatically installed on the device when the user installs the app.
eg

- GVRET

- OVMS
etc
Also, once an app is loaded , users can add prewritten device scripts to make the app fit their particular application, using ScriptObjects for which I've created a
registry. (The key idea here was borrowed from jczic's
ESP32-MPY-Jama, although it is a completely different code base).

- ScriptOs

- CAN Scripto Load

- CAN Test ScriptO Run
And finally, users can change that functionality using scripts, as the system has a built in editor/debugger and file manager.

- File Manager

- Editor
And if you don't like the colors

- Theming

- About
And one last thing, there's an integrated AI Assistant that can write the Scripts for you

- Agent Setup

- Agent code Test
And of course its smart enough to know the CAN ID for a Tesla Model 3 brake, so you don't have to look all that up

- Agent code Tesla
Funnily enough, I based
my hardware on OpenInverter
ported to STM32F405 Micromod, so together with your STM32F413 VCU port, looks like we've been on somewhat parallel paths!
Would love to discuss further with you and /or @modellfan, or maybe we need a new category for this sort of discussion on the forum?