Skip to content

Releases: s-allius/tsun-gen3-proxy

Version 0.12

23 Dec 00:05
Compare
Choose a tag to compare

I am proud to present version 0.12, which was released just in time for Christmas. The main featueres are:

  1. The Proxy as a Home Assistant add-on
  2. A new Emulator Mode for the Solarman Protocol
  3. Inverter Events

Details of the features follow below.

I am very happy that Michael (@mime24) supported me so much with the new version. Thanks to his efforts, the proxy will now also be released as a Home Assistant add-on. This is certainly a big step to make the proxy easier to use.
However, we can still use support, for example for the creation of instructions and FAQs.

Best regards Stefan


The Proxy as a Home Assistant add-on

For all those who use Home Assistant (HA), the proxy is now also available as an add-on. However, the prerequisite is that
Home Assistant is running in the Home Assistant OS or Supervised version. Container and Core installations do not support add-ons.

For an easy start there is a guide here


A new Emulator Mode for the Solarman Protocol

The GEN3PLUS inverters have been using an encrypted connection to the cloud for some time now. This is good, but prevents the data from being used locally and also prevents commands from the cloud from being tracked or blocked.

Proxy users can access the inverter data using the polling mode. However, if you want to continue using the TSUN app, you must accept the encrypted connection to the TSUN Cloud and thus relinquish control over your inverters.
This is where - comes into play.

The emulator mode enables the proxy to establish a connection to the TSUN Cloud. To do this, it uses the access data of the inverter and forwards the data from polling mode to the cloud.
The advantage is that all commands now go from the TSUN Cloud to the proxy and no longer to the inverter. This gives us control over updates and configuration changes again.


Inverter Events

From version 0.12, the proxy now also understands alarms and inverter notifications. These are forwarded via MQTT and can then be analysed with Home Assistant, for example.


What's Changed

New Contributors

Full Changelog: v0.11.0...v0.12.0

Version 0.11.1

20 Nov 20:52
Compare
Choose a tag to compare

Minor version update

What's Changed

Bumps aiohttp from 3.10.5 to 3.10.11

Full Changelog: v0.11.0...v0.11.1

Version 0.11

15 Oct 20:54
Compare
Choose a tag to compare

I proudly present the new version 0.11.0, with some improvements for GEN3 inverters, Docker containers and a first code revision to improve quality and architecture

GEN3:

  • Now we also support the latest official GEN3 inverter firmware with the version V3.29.148. This version comes with some new messages why the proxy version 0.10 caused by a lot of errors and the polling mode did not work anymore
    #182

  • fix invalid Contact Info Msg for firmware versionV3.29.148
    #192

  • The proxy also displays the MAC address (GEN3 only) and the serial number of the devices now.

  • There is a fix for invalid (or overwritten) messages in the receive buffer for the GEN3 inverter.

Docker

  • The Docker image now supports annotations for multi arch and improves the version handlings
    #159

  • Reading the version string from the image updates it even if the image is re-pulled without re-deployment
    #167

Code Quality / Clean Code

With the development start of version 0.11.0, I integrated the SonarCloud Scanner into the pipeline to check and improve code quality. The current results and progress can be viewed on the public SonarQube page:
https://sonarcloud.io/project/overview?id=s-allius_tsun-gen3-proxy

What's Changed

Full Changelog: v0.10.1...v0.11.0

Version 0.10.1

10 Aug 14:34
383be10
Compare
Choose a tag to compare

This version brings a hot fix for #153

What's Changed

  • Hotfix v0.10.1: fix displaying the version string at startup and in HA by @s-allius in #155

Full Changelog: v0.10.0...v0.10.1

Version 0.10

09 Aug 22:51
b364fb3
Compare
Choose a tag to compare

I proudly present the new version 0.10.0, with a new operating mode for GEN3PLUS inverter, various bug fixes and updates of some used libraries:

GEN3PLUS:

  • Add a new operation mode `client_mode. This mode is the only way to get values from GEN3PLUS inverters, if the inverter got a firmware update with SSL support. #117
    See also: client mode description

GEN3:

  • Add the inverter status to Home Assistant
  • Optimize timeout handling and allow longer timeouts, since the inverter sometimes need response very slow

GEN3PLUS and GEN3:

  • Another feature allows the maximum output power to be set as a percentage of the Rated Power. This makes it possible to set the power of an inverter to low values (e.g. 200W) or to limit the output power to 70%. #123
    See also: inverter-output-coefficient
  • MODBUS polling mode can now be deactivated. This can help to isolate errors or if an inverter firmware cannot process the high number of MODBUS requests. This can be useful for some GEN3 firmware, if they lost the connection frequently #120
  • A timestamp is added for MQTT topics with time series measurement values so that each data set can be easily categorized in terms of time.

Diverses:

  • Add docker image support for the architectures: linux/amd64, linux/arm/v7and linux/arm64 #144
  • Add the software bill of materials (S-BOMS) and a provenance attached to the docker image
  • Add SonarCloud support to our build/test pipeline #150
  • Update schema to version 0.7.7
  • Update aiomqtt to version 2.2.0
  • Update aiohttp to version 3.10.2

Bugfixes:

  • MODBUS: the last digit of the inverter version is a hexadecimal number #119
  • Fix flapping of some values like Rated Power, Max Designed Power #128

What's Changed

Full Changelog: v0.9.0...v0.10.0

Version 0.9.0

01 Jul 21:53
a42ba8a
Compare
Choose a tag to compare

The version 0.9.0 has the focus on improving stability with the following features:

  • Healthcheck which observe the message processing
  • Readiness and liveness checks for Kubernetes
  • Synchronise regular MODBUS commands with the inverter's state to avoid that the inverter get unexpected packets
  • GEN3PLUS: dump invalid packages with wrong start or stop byte, for easier analyses

Improved error and connection handling:

  • Bugfix GEN3: Not answered by the TSUN Cloud get_time request no longer blocks the connection establishment of the inverter
  • Bugfix: Pending MODBUS requests no longer block the release of connection structures when the connection is terminated
  • Bugfix: Inverter connection no longer closes if there are problems with the connection to the TSUN cloud
  • Detect and disconnect dead connection which received no packets for a long time
  • Bugfix: MODBUS responses for MODBUS requests from the TSUN cloud aren't dropped anymore
  • Bugfix GEN3: New data types of DSP version 5.0.17 added so that they are no longer considered incorrect

What's Changed

Full Changelog: v0.8.1...v0.9.0

Version 0.9.0 RC1

29 Jun 22:01
Compare
Choose a tag to compare
Version 0.9.0 RC1 Pre-release
Pre-release

The version 0.9.0 has the focus on improving stability with the following features:

  • Healthcheck which observe the message processing
  • Readiness and liveness checks for Kubernetes
  • Synchronise regular MODBUS commands with the inverter's state to avoid that the inverter get unexpected packets
  • GEN3PLUS: dump invalid packages with wrong start or stop byte, for easier analyses

Improved error and connection handling:

  • Bugfix GEN3: Not answered by the TSUN Cloud get_time request no longer blocks the connection establishment of the inverter
  • Bugfix: Pending MODBUS requests no longer block the release of connection structures when the connection is terminated
  • Bugfix: Inverter connection no longer closes if there are problems with the connection to the TSUN cloud
  • Detect and disconnect dead connection which received no packets for a long time
  • Bugfix: MODBUS responses for MODBUS requests from the TSUN cloud aren't dropped anymore
  • Bugfix GEN3: New data types of DSP version 5.0.17 added so that they are no longer considered incorrect

What's Changed

Full Changelog: v0.8.1...v0.9.0-rc.1

Version 0.8.1

21 Jun 17:09
f3e69ff
Compare
Choose a tag to compare

This version is s Bugfix Release for version 0.8

What's Changed

Full Changelog: v0.8.0...v0.8.1

Version 0.8.0

07 Jun 18:23
aa3bb4a
Compare
Choose a tag to compare

This version brings MODBUS support for all supported inverters.

  • Inverter registers can be queried directly via MQTT now.
  • The proxy itself uses the MODBUS protocol to read data at a higher sampling rate and send it to the MQTT broker. This increases the time resolution but also significantly reduces the average delay.
  • The Rated Power of the inverter can now also be set via MQTT

For GEN3PLUS inverters, this version also supports AT+ commands via MQTT. This can be used to query and set access data and WLAN parameters.

Access lists can be used to block AT+ commands from the TSUN Cloud or separately via MQTT. By default, only firmware updates for TSUN are now enabled.

To reduce the size of the log files for packet tracing, the proxy now uses different logging levels depending on the packet type. Heartbeat and regular MODBUS packets are now only logged with the DEBUG log level and are therefore no longer saved in the log file by default.

What's Changed

  • Data collect interval is now uniformly reported for the GEN3 and GEN3PLUS to home assistant by @s-allius in #63
  • The creation of the internal configuration from the config.toml file was made rebuster by @s-allius in #64
  • Faster Data-Up interval sends measurement data to the MQTT broker every minute by @s-allius in #67
  • Add Fifo for MODBUS requests for robustness by @s-allius in #74
  • Bugfix: Catch all OSError errors in the read loop by @s-allius in #79
  • Trace heartbeat and regular modbus pakets with log level DEBUG by @s-allius in #82
  • Fix docker-compose.yaml so it is compatible with docker-swarm
  • GEN3PLUS: control access via AT commands by @s-allius in #81
  • GEN3PLUS: don't forward ack paket from tsun to the inverter
  • GEN3PLUS: add allow and block filter for AT+ commands
  • ALL: add graceful shutdown
  • ALL: ignore catch-up values from the inverters for now
  • ALL: the traces and logs are more readably now, due to a prefix with the inverter's node-id

Full Changelog: v0.7.0...v0.8.0

Version 0.8.0 RC1

31 May 22:07
Compare
Choose a tag to compare
Version 0.8.0 RC1 Pre-release
Pre-release

This version brings MODBUS support for all supported inverters.

  • Registers can be queried directly via MQTT now.
  • The proxy itself uses the MODBUS protocol to read data at a higher sampling rate and send it to the MQTT broker. This increases the time resolution but also significantly reduces the average delay.
  • The Rated Power of the inverter can now also be set via MQTT

For GEN3PLUS inverters, this version also supports AT+ commands via MQTT. This can be used to query and set access data and WLAN parameters.

Access lists can be used to block AT+ commands from the TSUN Cloud or separately via MQTT. By default, only firmware updates for TSUN are now enabled.

To reduce the size of the log files for packet tracing, the proxy now uses different logging levels depending on the packet type. Heartbeat and regular MODBUS packets are now only logged with the DEBUG log level and are therefore no longer saved in the log file by default.

What's Changed

  • Data collect interval is now uniformly reported for the GEN3 and GEN3PLUS to home assistant by @s-allius in #63
  • The creation of the internal configuration from the config.toml file was made rebuster by @s-allius in #64
  • Faster Data-Up interval sends measurement data to the MQTT broker every minute by @s-allius in #67
  • Add Fifo for MODBUS requests for robustness by @s-allius in #74
  • Bugfix: Catch all OSError errors in the read loop by @s-allius in #79
  • GEN3PLUS: control access via AT commands by @s-allius in #81
  • trace heartbeat and regular modbus pakets with log level DEBUG by @s-allius in #82

Full Changelog: v0.7.0...v0.8.0-rc.1