Compare commits
9 Commits
support-nu
...
update-rel
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e51a2a14ed | ||
|
|
265c05cc32 | ||
|
|
54876c6bdf | ||
|
|
63de5066e3 | ||
|
|
b89bef70ed | ||
|
|
9f27c5a582 | ||
|
|
1445268b70 | ||
|
|
8ca91c2fdd | ||
|
|
ea749dcce6 |
@@ -7,6 +7,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|||||||
|
|
||||||
## [unreleased]
|
## [unreleased]
|
||||||
|
|
||||||
|
## [0.13.0] - 2025-04-13
|
||||||
|
|
||||||
- update dependency python to 3.13
|
- update dependency python to 3.13
|
||||||
- add initial support for TSUN MS-3000
|
- add initial support for TSUN MS-3000
|
||||||
- add initial apparmor support [#293](https://github.com/s-allius/tsun-gen3-proxy/issues/293)
|
- add initial apparmor support [#293](https://github.com/s-allius/tsun-gen3-proxy/issues/293)
|
||||||
|
|||||||
@@ -141,7 +141,7 @@ No special configuration is required for the Docker container if it is built and
|
|||||||
|
|
||||||
On the host, two directories (for log files and for config files) must be mapped. If necessary, the UID of the proxy process can be adjusted, which is also the owner of the log and configuration files.
|
On the host, two directories (for log files and for config files) must be mapped. If necessary, the UID of the proxy process can be adjusted, which is also the owner of the log and configuration files.
|
||||||
|
|
||||||
A description of the configuration parameters can be found [here](https://github.com/s-allius/tsun-gen3-proxy/wiki/Configuration-toml#docker-compose-environment-variables).
|
A description of the configuration parameters can be found [here](https://github.com/s-allius/tsun-gen3-proxy/wiki/configuration-env#docker-compose-environment-variables)
|
||||||
|
|
||||||
## Proxy Configuration
|
## Proxy Configuration
|
||||||
|
|
||||||
|
|||||||
11
app/Makefile
11
app/Makefile
@@ -22,7 +22,16 @@ dev debug:
|
|||||||
export IMAGE=$(PRIVAT_CONTAINER_REGISTRY)$(IMAGE) && \
|
export IMAGE=$(PRIVAT_CONTAINER_REGISTRY)$(IMAGE) && \
|
||||||
docker buildx bake -f docker-bake.hcl $@
|
docker buildx bake -f docker-bake.hcl $@
|
||||||
|
|
||||||
preview rc rel:
|
rc:
|
||||||
|
@[ "${RC}" ] || ( echo ">> RC is not set"; exit 1 )
|
||||||
|
@echo version: $(VERSION) build-date: $(BUILD_DATE) image: $(PUBLIC_CONTAINER_REGISTRY)$(IMAGE)
|
||||||
|
@echo login at $(PUBLIC_URL) as $(PUBLIC_USER)
|
||||||
|
@DO_LOGIN="$(shell echo $(PUBLIC_CR_KEY) | docker login $(PUBLIC_URL) -u $(PUBLIC_USER) --password-stdin)"
|
||||||
|
export VERSION=$(VERSION)-$@$(RC) && \
|
||||||
|
export IMAGE=$(PUBLIC_CONTAINER_REGISTRY)$(IMAGE) && \
|
||||||
|
docker buildx bake -f docker-bake.hcl $@
|
||||||
|
|
||||||
|
preview rel:
|
||||||
@echo version: $(VERSION) build-date: $(BUILD_DATE) image: $(PUBLIC_CONTAINER_REGISTRY)$(IMAGE)
|
@echo version: $(VERSION) build-date: $(BUILD_DATE) image: $(PUBLIC_CONTAINER_REGISTRY)$(IMAGE)
|
||||||
@echo login at $(PUBLIC_URL) as $(PUBLIC_USER)
|
@echo login at $(PUBLIC_URL) as $(PUBLIC_USER)
|
||||||
@DO_LOGIN="$(shell echo $(PUBLIC_CR_KEY) | docker login $(PUBLIC_URL) -u $(PUBLIC_USER) --password-stdin)"
|
@DO_LOGIN="$(shell echo $(PUBLIC_CR_KEY) | docker login $(PUBLIC_URL) -u $(PUBLIC_USER) --password-stdin)"
|
||||||
|
|||||||
@@ -382,7 +382,7 @@ class Infos:
|
|||||||
__mppt2_status_type_val_tpl = "{%set mppt_status = ['Standby', 'On', 'Off'] %}{{mppt_status[value_json['pv2']['MPPT-Status']|int(0)]|default(value_json['pv2']['MPPT-Status'])}}" # noqa: E501
|
__mppt2_status_type_val_tpl = "{%set mppt_status = ['Standby', 'On', 'Off'] %}{{mppt_status[value_json['pv2']['MPPT-Status']|int(0)]|default(value_json['pv2']['MPPT-Status'])}}" # noqa: E501
|
||||||
__supply_status_type_val_tpl = "{%set supply_status = ['Idle', 'Power-Supply'] %}{{supply_status[value_json['out']['Suppl_State']|int(0)]|default(value_json['out']['Suppl_State'])}}" # noqa: E501
|
__supply_status_type_val_tpl = "{%set supply_status = ['Idle', 'Power-Supply'] %}{{supply_status[value_json['out']['Suppl_State']|int(0)]|default(value_json['out']['Suppl_State'])}}" # noqa: E501
|
||||||
__batt_status_type_val_tpl = "{%set batt_status = ['Discharging', 'Static', 'Loading'] %}{{batt_status[value_json['batt']['Batt_State']|int(0)]|default(value_json['batt']['Batt_State'])}}" # noqa: E501
|
__batt_status_type_val_tpl = "{%set batt_status = ['Discharging', 'Static', 'Loading'] %}{{batt_status[value_json['batt']['Batt_State']|int(0)]|default(value_json['batt']['Batt_State'])}}" # noqa: E501
|
||||||
__out_status_type_val_tpl = "{%set out_status = ['Standby', 'On'] %}{{out_status[value_json['out']['Out_Status']|int(0)]|default(value_json['out']['Out_Status'])}}" # noqa: E501
|
__out_status_type_val_tpl = "{%set out_status = ['Standby', 'On', 'Off'] %}{{out_status[value_json['out']['Out_Status']|int(0)]|default(value_json['out']['Out_Status'])}}" # noqa: E501
|
||||||
__rated_power_val_tpl = "{% if 'Rated_Power' in value_json and value_json['Rated_Power'] != None %}{{value_json['Rated_Power']|string() +' W'}}{% else %}{{ this.state }}{% endif %}" # noqa: E501
|
__rated_power_val_tpl = "{% if 'Rated_Power' in value_json and value_json['Rated_Power'] != None %}{{value_json['Rated_Power']|string() +' W'}}{% else %}{{ this.state }}{% endif %}" # noqa: E501
|
||||||
__designed_power_val_tpl = '''
|
__designed_power_val_tpl = '''
|
||||||
{% if 'Max_Designed_Power' in value_json and
|
{% if 'Max_Designed_Power' in value_json and
|
||||||
|
|||||||
@@ -47,7 +47,16 @@ dev debug: local_add_on
|
|||||||
export IMAGE=$(PRIVAT_CONTAINER_REGISTRY)$(IMAGE) && \
|
export IMAGE=$(PRIVAT_CONTAINER_REGISTRY)$(IMAGE) && \
|
||||||
docker buildx bake -f docker-bake.hcl $@
|
docker buildx bake -f docker-bake.hcl $@
|
||||||
|
|
||||||
rc rel: local_add_on
|
rc: local_add_on
|
||||||
|
@[ "${RC}" ] || ( echo ">> RC is not set"; exit 1 )
|
||||||
|
@echo version: $(VERSION) build-date: $(BUILD_DATE) image: $(PUBLIC_CONTAINER_REGISTRY)$(IMAGE)
|
||||||
|
@echo login at $(PUBLIC_URL) as $(PUBLIC_USER)
|
||||||
|
@DO_LOGIN="$(shell echo $(PUBLIC_CR_KEY) | docker login $(PUBLIC_URL) -u $(PUBLIC_USER) --password-stdin)"
|
||||||
|
export VERSION=$(VERSION)-$@$(RC) && \
|
||||||
|
export IMAGE=$(PUBLIC_CONTAINER_REGISTRY)$(IMAGE) && \
|
||||||
|
docker buildx bake -f docker-bake.hcl $@
|
||||||
|
|
||||||
|
rel: local_add_on
|
||||||
@echo version: $(VERSION) build-date: $(BUILD_DATE) image: $(PUBLIC_CONTAINER_REGISTRY)$(IMAGE)
|
@echo version: $(VERSION) build-date: $(BUILD_DATE) image: $(PUBLIC_CONTAINER_REGISTRY)$(IMAGE)
|
||||||
@echo login at $(PUBLIC_URL) as $(PUBLIC_USER)
|
@echo login at $(PUBLIC_URL) as $(PUBLIC_USER)
|
||||||
@DO_LOGIN="$(shell echo $(PUBLIC_CR_KEY) | docker login $(PUBLIC_URL) -u $(PUBLIC_USER) --password-stdin)"
|
@DO_LOGIN="$(shell echo $(PUBLIC_CR_KEY) | docker login $(PUBLIC_URL) -u $(PUBLIC_USER) --password-stdin)"
|
||||||
|
|||||||
@@ -50,7 +50,7 @@ Example add-on configuration after installation:
|
|||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
inverters:
|
inverters:
|
||||||
- serial: R17E760702080400
|
- serial: R17E000000000000
|
||||||
node_id: PV-Garage
|
node_id: PV-Garage
|
||||||
suggested_area: Garage
|
suggested_area: Garage
|
||||||
modbus_polling: false
|
modbus_polling: false
|
||||||
@@ -89,7 +89,7 @@ Example add-on configuration for GEN3PLUS energie storages:
|
|||||||
```yaml
|
```yaml
|
||||||
batteries:
|
batteries:
|
||||||
- serial: 4100000000000000
|
- serial: 4100000000000000
|
||||||
monitor_sn: 2300000000
|
monitor_sn: 3000000000
|
||||||
node_id: bat_1
|
node_id: bat_1
|
||||||
suggested_area: Garage
|
suggested_area: Garage
|
||||||
modbus_polling: false
|
modbus_polling: false
|
||||||
@@ -174,4 +174,4 @@ SOFTWARE.
|
|||||||
[AdGuard]: https://github.com/hassio-addons/addon-adguard-home
|
[AdGuard]: https://github.com/hassio-addons/addon-adguard-home
|
||||||
[repository-badge]: https://img.shields.io/badge/Add%20repository%20to%20my-Home%20Assistant-41BDF5?logo=home-assistant&style=for-the-badge
|
[repository-badge]: https://img.shields.io/badge/Add%20repository%20to%20my-Home%20Assistant-41BDF5?logo=home-assistant&style=for-the-badge
|
||||||
[repository-url]: https://my.home-assistant.io/redirect/supervisor_add_addon_repository/?repository_url=https%3A%2F%2Fgithub.com%2Fs-allius%2Fha-addons
|
[repository-url]: https://my.home-assistant.io/redirect/supervisor_add_addon_repository/?repository_url=https%3A%2F%2Fgithub.com%2Fs-allius%2Fha-addons
|
||||||
[configdetails]: https://github.com/s-allius/tsun-gen3-proxy/wiki/Configuration-toml
|
[configdetails]: https://github.com/s-allius/tsun-gen3-proxy/wiki/Configuration-addon
|
||||||
|
|||||||
@@ -6,6 +6,6 @@
|
|||||||
"slug": "tsun-proxy",
|
"slug": "tsun-proxy",
|
||||||
"advanced": false,
|
"advanced": false,
|
||||||
"stage": "stable",
|
"stage": "stable",
|
||||||
"readme_dsecr": "Integrates TSUN inverters (e.g. TSOL MS800, MS2000, MS3000) and batteries (TSOL DC1000) into Home Assistant.\n\nIt is based on the [TSUN Proxy][tsunproxy] and enables a reliable connection between TSUN devices and an MQTT broker.\n\nWith the Add-on, you can easily retrieve real-time values such as power, current and daily energy and integrate the inverter into Home Assistant.\nThis works even without an internet connection.\n\nThe optional connection to the TSUN Cloud can be disabled!",
|
"readme_descr": "Integrates TSUN inverters (e.g. TSOL MS800, MS2000, MS3000) and batteries (TSOL DC1000) into Home Assistant.\n\nIt is based on the [TSUN Proxy][tsunproxy] and enables a reliable connection between TSUN devices and an MQTT broker.\n\nWith the Add-on, you can easily retrieve real-time values such as power, current and daily energy and integrate the inverter into Home Assistant.\nThis works even without an internet connection.\n\nThe optional connection to the TSUN Cloud can be disabled!",
|
||||||
"readme_links": "\n[tsunproxy]: https://github.com/s-allius/tsun-gen3-proxy\n"
|
"readme_links": "\n[tsunproxy]: https://github.com/s-allius/tsun-gen3-proxy\n"
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user