* show charge controller temperature in live view * send hex requests right after decoding a frame. this seems to have the best chance of getting an answer to all requests. * deem 0xFFFFFFFF value of network total DC power as invalid indicator. neither network state, nor network info, nor network mode seem to indicate that the charge controller is part of a VE.Smart network. for that reason, we revert to always querying the network total DC power value, but testing it for max(uin32_t) value, which seems to indicate that the charge controller is not part of a VE.Smart network. * improve (verbose) logging, e.g., use _logId, and print names of response codes and known registers, always print error messages, add additional tests to prevent overly verbose messages. * move hex protocol definitions to VeDirectData.h header and use enum classes * define register addresses in enum class * move values retrieved through hex protocol into main MPPT data struct * do not send HEX requests if the serial interface cannot send data * detect whether smart battery sense temperature is available * web app: make all VE.Direct sub-cards iterable. this makes addind more values much simpler and saves a bunch of code in the web app. * make VeDirectFrameHandler state a type-safe enum class * unindent MPPT controller loop() * whitespace cleanup |
||
|---|---|---|
| .. | ||
| .vscode | ||
| public | ||
| src | ||
| .eslintrc.cjs | ||
| .gitignore | ||
| env.d.ts | ||
| index.html | ||
| package.json | ||
| README.md | ||
| tsconfig.config.json | ||
| tsconfig.json | ||
| vite.config.ts | ||
| yarn.lock | ||
OpenDTU web frontend
You can run the webapp locally with yarn dev. If you enter the IP of your ESP in the vite.config.ts beforehand, all api requests will even be proxied to the real ESP. Then you can develop the webapp as if it were running directly on the ESP. The yarn dev also supports hot reload, i.e. as soon as you save a vue file, it is automatically reloaded in the browser.
Project Setup
yarn install
Compile and Hot-Reload for Development
yarn dev
Type-Check, Compile and Minify for Production
yarn build
Lint with ESLint
yarn lint