Skip to content

Releases: ngardiner/TWCManager

v1.3.2

12 Mar 11:54
Compare
Choose a tag to compare

v1.3.2 - 2023-03-12

  • (@RichieB2B) - Nicer looking log prefixes for EMS modules
  • (@RichieB2B) - Support for new fleet API and vehicle command proxy
  • (@RichieB2B) - Upgrade MQTT support for paho v2/MQTTv5
  • (@RichieB2B) - Enable reporting of Slave error messages
  • (@RichieB2B) - Reset stopAskingToStartCharging more often
  • Bugfixes
    • (@RichieB2B) - Fix issues with mysql status logging statements
    • (@ngardiner) - Fix issues preventing web UI display when internet access is unavailable

v1.3.1

18 Nov 13:46
Compare
Choose a tag to compare

TWCManager v1.3.1

  • (@RichieB2B) - Support for the new API endpoint for location telemetry
  • (@RichieB2B) - More accurate getConsumptionAmps for DSMRreader (esp. for unbal
    anced 3-phase circuits)
  • Bugfixes
    • (@ngardiner) - Avoid web interface crash when ampsList cannot be derived
      from minAmpsPerTWC and wiringMaxAmpsPerTWC (root cause under investigation)
    • (@ngardiner) - Fix issue with dependency versions

TWCManager v1.3.0

28 May 04:41
Compare
Choose a tag to compare

Bugfixes

  • (@dtiefnig) - Fix issue with logic around detecting instances of multi-phase system incompatibility
  • (@dtiefnig) - Fix issue with zero-byte VINs causing infinite VIN fetch retries
  • (@MikeBishop) - Fix rounding in calculation of current offer when calculating delta to new offer to improve accuracy
  • (@ngardiner) - Adjust voltage / phase detection to handle combinations of 1/2/3 phase systems, as long as all slave TWCs have the same number of active phases
  • (@ccutrer) - Fix openhab integration to properly parse floats
  • (@ngardiner) - Detect issues with serial connection (RS485) and automatically reconnect
  • (@RitchieB2B) - Fix MQTT EMS module (missing brokerPort)
  • (@RitchieB2B) - Fix large steps in ChargeNow duration in the web interface
  • (@mattiasclaesson) - Remove unnecessary kWh suffix from web UI

Features

  • (@hopfi2k) - Major "Modern Theme" update. Switched to Bootstrap 5.02, bug fixes, now fully responsive
  • (@ngardiner) - Add Home Location view and modification controls to settings page
  • (@ngardiner) - Add MQTT EMS module (currently pre-release for testing)
  • (@dtiefnig) - Add switch to output plain text Console output (turn off color)
  • (@dtiefnig) - Unify single and multi-car charge at home behaviour
  • (@dtiefnig) - Add Modbus TCP support for SolarEdge EMS module
  • (@dtiefnig / @MikeBishop) - Update Tesla API charging states
  • (@dtiefnig) - Reference entrypoint script from within Docker container to remove dependency on external source tree
  • (@ngardiner) - Add Current Policy as status value (to be published to HASS / MQTT)
  • (@MikeBishop) - Fix API interactions impacted by Tesla's vehicle_data endpoint changes
  • (@MikeBishop) - Implement improved VIN Check routine
  • (@RitchieB2B) - Add option to leverage Tesla API for lower amp control, otherwise leverage TWC
  • (@RitchieB2B) - Add DSM Reader EMS Module
  • (@cods4) - Update to documentation

TWCManager v1.2.6 - Bugfix Release

01 Mar 09:51
Compare
Choose a tag to compare
  • Bugfixes:
    • (@ngardiner) - Fix for exception regarding serialization of bytes object in JSON data for Tesla Auth Flow
  • (@ngardiner) - First revision of self-update mechanism for TWCManager - will be activated once v1.3.0 is released

TWCManager v1.2.5

27 Feb 12:36
Compare
Choose a tag to compare

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

  • 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.
  • Bugfixes:

    • (@ngardiner) - Fix debug settings form issues
    • (@ngardiner) - Fix token refresh timing for manually entered tokens
  • (@ngardiner) - Add support for multiple Fronius inverters

  • (@MikeBishop) - Add support for detecting sunrise and sunset times based on home location using sunrise-sunset.org API

  • (@ngardiner) - Replace Tesla Login flow with one that is workable with the latest (millionth?) iteration of Tesla API auth flow

  • (@MikeBishop) - Add configuration parameter to always perform Green Energy checking, including outside of daylight hours (maintaining current default of off for now)

TWCManager v1.2.4

15 Feb 11:07
Compare
Choose a tag to compare

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.

TWCManager v1.2.3

12 Aug 07:37
Compare
Choose a tag to compare

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

  • NOTE: v1.2.3 contains a potentially breaking change for users of OpenWB or the Legacy Web Interface
    • As of v1.2.3, the Legacy Web Interface and its dependencies such as lighttpd and php are no longer installed by default.
    • Please see the documentation for instructions on how to install it, if required. Most users will not need this. If you currently use openWB and are simply upgrading, your install will continue to work - only new installs are affected.
  • NOTE: Starting from v1.2.3, Modern theme is the default theme for TWCManager, unless configured otherwise.
  • NOTE: v1.2.3 introduces a dedicated user account for TWCManager. For Manual install, you'll need to run make install after upgrading, or you will find that running as a systemctl service will no longer work.
  • (@Saftwerk) - Add both Generation and Consumption support to Volkszahler EMS module
  • (@VIDGuide) - Improvements to the Modern UI - Show charger load and offered amps, and open GitHub link in a new window.
  • (@VIDGuide) - Add SoC % to Modern UI interface, and display charge time indicator per TWC
  • (@VIDGuide) - Fixed Modern UI layout on mobile, added Stop Charge Now button and fixed Charge Now control spacing.
  • (@VIDGuide) - Add Timezone parameter to docker-compose files to allow specifying container timezone
  • (@the-dbp) - Added Growatt EMS module
  • (@jherby2k) - Align API and HASS Status module values
  • (@mvaneijken) - Add MySQL logging module Port parameter
  • (@ngardiner) - Refactor TWCManager structure to allow for entire project to be packaged into pypi packaging for easy install/upgrades
  • (@jherby2k) - Add IotaWatt EMS interface
  • (@mvaneijken) - Added P1 Monitor EMS module
  • (@jherby2k) - Add support for HomeAssistant integration
  • (@MikeBishop) - Add support for deleting tasks, avoid sending stop commands under some conditions to avoid unnecessary transitions

TWCManager v1.2.2

09 Jun 13:22
Compare
Choose a tag to compare
  • (@ngardiner) - Added SmartPi EMS interface
  • (@Saftwerk, @ngardiner) - Added Volkszahler EMS interface
  • (@ngardiner) - Added functionality to Dummy module to emulate TWC communication to the point that Policy selection occurs
  • (@MikeBishop) - Implement Policy Shortcut function to allow Charge Now to take immediate effect
  • (@GMerg) - Added OpenWeatherMap EMS interface
  • (@ngardiner) - Added VIN Management functionality, where vehicles can be allowed or denied charging based on VIN. With this, we introduce the ability to define ve
    hicle groups, with future functionality allowing policy settings to be applied to these groups.
  • (@ngardiner) - Addition of a debug interface which allows tuning advanced inner workings of TWCManager, and allows sending commands to TWCs.
  • (@ngardiner) - Added support for Tesla MFA authentication flows
  • (@MikeBishop) - Improve API error handling, removing transient error delays and replacing with an exponential backoff mechanism to avoid delaying other background
    tasks.
  • (@MikeBishop) - Added debounce dampening for situations where intermittent consumption spikes / loads cause TWC to start and stop charging frequently.
  • (@ngardiner) - Add new consumption offset handling which allows for dynamic configuration of offsets in Watts and Amps via web and API
  • Bugfixes
    • (@ngardiner) - Better handling of permissions issues when attempting to save settings.json - alerts user to check file permissions via Web Interface
    • (@ngardiner) - Fixed issue with logging errors when a certain exception is raised in the Snapshot History function
    • (@ngardiner) - Fixed issue with Modern web interface Charge Now setting not working
    • (@ngardiner) - Fix behaviour of Stop Responding to Slaves charge stop mode, by re-enabling slave communication after 60 seconds
    • (@ngardiner) - Fix issues with subtractChargerLoad when using one of the (few) EMS modules which only provide Generation values. Previously, we only subtracted
      the Charger Load from Consumption which doesn't work in Generation-only measurement environments.
    • (@leeliu) - Fix TWC ID display for Modern theme which was truncating trailing zeros
    • (@ngardiner) - Fix bug in Stop Responding to Slaves routine caused by incorrect reference to time function

TWCManager v1.2.1

08 Apr 13:04
Compare
Choose a tag to compare
  • Added support for Kostal inverters (Pico/Plenticore) (thanks @hopfi2k)
  • Added support for smart-me.com inverter API
  • Added support for serving static files via the inbuilt HTTPControl web server (thanks @hopfi2k)
  • Adjust charger load calculation based on real power measurements (thanks @dschuesae)
  • Introduce Scheduled Flex Charging feature (thanks @dschuesae)
  • Introduce new FileLogging module to allow logging to text file (thanks @dschuesae)
  • Moved debug logging to Logging modules to allow logging to file, database or other targets
  • Updated legacy Web UI to allow all EU/US amp selections (thanks @dschuesae)
  • Fix Web UI favicon (thanks @hopfi2k)
  • Added support for web themes, to allow changing the web UI to alternate views
  • Added Phase 1 of Charge Scheduling support, with backwards compatible charge scheduling (finally...) in the new UI
  • Added support for local query of Enphase EMS systems (previously cloud-only)
  • Set the legacy web UI module (WebIPC) to disabled by default. Avoids an error when running as a service, and is about time given it is deprecated.
  • Expose all time properties to the policy module for evaluation (thanks @MikeBishop)
  • Impovements to policy page in Web UI to show the value of policy parameters (thanks @MikeBishop)
  • Move grace period functionality for vehicles connected prior to policy evaluation to the master module, which opens the door to policy evaluation based on vehicle arrival/VIN (thanks @MikeBishop)
  • Split and show the values of Charger Load and Other Load in console output when the Subtract Charger Load setting is enabled (thanks @mikey4321)
  • Added EMS module support for SmartMe API
  • Added EMS module for Efergy (thanks @juanjoqg)
  • Added Graph visualisation for supported Logging modules - MySQL currently (thanks @juanjoqg)
  • Updates to accomodate Powerwall authentication flow changes (thanks @MikeBishop)
  • Do not override the charge_amps set in a policy when running checkGreenEnergy, allowing for Green Energy tracking numbers to be updated when Charge Now or Scheduled Charging policies are active (thanks @MikeBishop)
  • Significant overhaul of logging module interface to utilize the python logger architecture rather than implementing our own infrastructure (thanks @tjikkun!)
  • When competing background tasks are submitted, update the existing task details rather than dropping it completely (thanks @MikeBishop)
  • Bugfixes
    • Add a sleep of 5 seconds when waking car up to avoid an infinite loop (thanks @dschuesae)
    • Fix a bug with the legacy web interface which causes the Resume Track Green Energy setting of None to fail. Also added a deprecation notice to the web interface to ensure people don't inadvertently use it over the modular interface.
    • Fixed the Enphase EMS module which was reporting generation values as consumption (thanks @integlikewoah)
    • Added fix to avoid exception if an incoming TWC message is passed as an immutable bytes object to the unescape_msg function
    • Fix for the Fronius EMS module to query at System context rather than Device context which was failing to work in some installations due to Device ID mismatch
    • Fix dummy interface to load in place of RS485 interface for testing (thanks @tjikkun)
    • Add routines to avoid errors when settings keys are not defined (thanks @tjikkun)
    • Kostal EMS module no longer loads if not configured (thanks @MikeBishop)

TWCManager v1.2.0

09 Oct 12:26
Compare
Choose a tag to compare
  • Added systemd service definition (thanks @nean-and-i)
  • Polling of Vehicle VIN on detection of charging vehicle (for those firmwares which support it) and access to Vehicle VIN via Status modules and Web Interface
  • Various updates to documentation (thanks @MikeBishop and @neilrees)
  • Web interface now uses AJAJ for dynamic asyncrhonous updates rather than page refresh
    • This change additionally introduces new REST API commands
  • Handling of module import issues such as modules not existing (thanks @AndySchroder)
  • Use actual mains voltage per phase as reported by some TWC firmwares (thanks @MikeBishop)
  • Report background thread exceptions to the console (thanks @neilrees)
  • Added history recording for Slave TWC amps offered, with API function to query average amp history (thanks @MikeBishop).
  • Added recording of charge sessions per vehicle VIN, with rudimentary total kWh consumed calculations.
  • Added support for SolarEdge API EMS Module, thanks to prototype provided by Picar on TMC Forums.
  • Improved HASS status updates - sets sensor class and unit (thanks @dschuesae)
  • Added a fallback Tesla API stop mechanism to reduce the charge limit if the stop command via Tesla API fails to stop the vehicle from charging. This only works when the SOC is 50% or higher due to limitations in the API (thanks @MikeBishop)
  • Added new Logging module support, which takes console messages and modularises them to allow output to other mechanisms such as CSV files or Databases.
  • Bugfixes
    • Fixed situation where fakeMaster == 2 installations do not recieve Status module lifetime kWh and voltage per phase readings [Backported to 1.1.8]
    • Fixed unnecessary 60 second delay to processing background queue introduced by lifetime kWh and voltage per phase polling [Backported to 1.1.8] (Thanks @MikeBishop)
    • Fixed a condition in which flex and alternative maximum clash on charging rate (thanks @MikeBishop)
    • Fixed a number of issues with voltage and amperage calculation (thanks @dschuesae)
    • Fixed error with scheduling via old web UI and day index (thanks @dschuesae)
    • Removed Track green energy non-scheduled charging action from old Web UI (as new policy engine is incompatible) and moved it to new Web UI to allow re-introduction.