* Move Mppt logic to subclass
* Added Definitions for Shunts and restructering
* First integration of SmartShunt data into Web Interface
* Code cleanup
* VE.Direct: whitespace cleanup
* VE.Direct: manage HardwareSerial in unique_ptr
* VE.Direct: _efficiency is only needed by MPPT
* VE.Direct: keep as many members private as possible
* VE.Direct: use int8_t for pins (as before)
* VictronSmartShunt: _verboseLogging is not used
* VE.Direct: OR (off reason) is MPPT specific
it also applies to Phoenix inverters and Smart BuckBoost, but since
there is no support for those, the code is moved to the MPPT controller.
* Added Shunt alarms to liveview
Changed from double to int for several readings
* Update build.yml to allow manual builds
---------
Co-authored-by: Philipp Sandhaus <philipp.sandhaus@cewe.de>
Co-authored-by: Bernhard Kirchen <schlimmchen@posteo.net>
* VE.Direct: reset state machine on timeout
there will never be a large gap between two bytes of the same frame.
if such a large gap is observed, reset the state machine so it tries
to decode a new frame once more data arrives.
this is helpful in case of corrupted data that prevents the state
machine of transitioning to the final state even though the VE.Direct
data producer is done sending bytes that belong to the same frame.
* VE.Direct: print problems to MessageOutput
this includes the web console in particular, where many users have
access to while the serial console is not attached or monitored.
* VE.Direct: collect serial input into buffer and print
should help debug issues for users.
* VE.Direct: implement and use verbose logging switch
instead of hiding views, we can also avoid adding them to the DOM. this
has a couple of advantages:
* no HTTP request for data is sent and no websocket connection is
established for disabled features.
* JavaScript that causes errors due to incomplete or incompatible data
of features that are disabled anyways do not trigger the browser
debugger.
the current proxy target IP address is probably only working for a
single developer at a time. this change introduces a vite.user.ts, which
is ingored by GIT, and which can define a proxy_target that works for
the respective developer.
this does not change the default behavior, as the fallback value is
still the old IP address. if the new vite.user.ts file does not exist,
or if it does not export proxy_target, the fallback value is used.
file vite.config.ts adds an example in a comment of how to bootstrap a
vite.user.ts.