Skip to content

TWCManager v1.2.4

Compare
Choose a tag to compare
@ngardiner ngardiner released this 15 Feb 11:07
· 260 commits to main since this release

PLEASE NOTE: There are some breaking changes in this release. Please read the following changelogs carefully.

ADDITIONALLY: My recommendation is to hold off on installing this version if you currently have v1.2.3 installed and working as you expect. Further information is under the changelog.

  • Breaking Changes
    • Due to changes introduced by Python 3.9, the minimum version of Python supported from v1.2.4 forward is Python 3.6
      • This means that v1.2.3 is the end of the line for Debian Stretch based machines - upgrade to buster to use v1.2.4 and above.
    • The configuration parsing engine has been changed to PyYAML
      • This may cause your config file to stop parsing correctly. If so, my apologies, however it does allow us to support both JSON and YAML formats going forward.
  • Bugfixes:
    • (@MikeBishop) - Fix debounce mechanism to avoid continuous charging when minimum generation is not met in some circumstances
    • (@ngardiner) - Align web interface TWCID so that it is lowercase, avoiding issues with JavaScript and Jinja2 misalignment
    • (@ngardiner) - Change cryptography module dependency to avoid versions requiring rust compiler (no module named setuptools_rust error)
    • (@ngardiner) - Add logic to set token expiry time when manually adding tokens
    • (@blach) - Fix Tesla API token refresh logic
  • (@MikeBishop) - Change to Powerwall Auth handling to expire auth tokens earlier due to changes in Powerwall auth handling
  • (@ngardiner) - Add version check to Web UI
  • (@ngardiner) - Add handling of recaptcha challenge (with DNS workaround), and provide other options if this is not possible
  • (@ngardiner) - Add Tesla API debug interface to allow sending Tesla API commands
  • (@ngardiner) - Added TeslaMate sync functionality to allow sync of telemetry and API token details
  • (@ngardiner) - In line with changes made by setuptools team to deprecate setup.py as command line tool, switched to native python build tools
  • (@MikeBishop) - Restrict dampening to green policies only, and prefer to keep charging vs stop/start
  • (@ngardiner) - Reduce potential Tesla API backoff time
  • (@deece) - Addition of Open Energy Monitor EMS module
  • (@dehsgr) - Addition of URL EMS module
  • (@tjikkun) - Set HASS sensor state class to make it work with statistics dashboard

This release is intended to assist those who are trying to install for the first time, and running into issues caused by changes made to the setuptools distribution, causing our build to break on Python 3.9, particularly for the bullseye distribution of Raspberry Pi OS.

As part of this, I've taken the opportunity to remove a lot of legacy. That also means I've removed backwards compatibility for Python < 3.6, which means raspbian stretch (the OS I use myself) is now unsupported and of course I've had to upgrade this and the entire development and testing suite to suit, hence the delay.

For those who have a working install, I suggest skipping this version. There's a known issue that needs to be addressed (token refresh) but given the inability of some to install v1.2.3 due to upstream changes outside of our control I've decided to do this release in two parts.

I will follow up in the next week or two with a v1.2.5 - hold on for that one if you're a v1.2.3 user and we'll get the token refresh issues resolved in that release, as well as a few other goodies.