diff --git a/custom_components/goodwe/__init__.py b/custom_components/goodwe/__init__.py index dfe5627..e4c813c 100644 --- a/custom_components/goodwe/__init__.py +++ b/custom_components/goodwe/__init__.py @@ -55,6 +55,7 @@ async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: manufacturer="GoodWe", model=inverter.model_name, sw_version=f"{inverter.firmware} / {inverter.arm_firmware}", + hw_version=f"{inverter.serial_number[5:8]} {inverter.serial_number[0:5]}", ) # Create update coordinator diff --git a/custom_components/goodwe/diagnostics.py b/custom_components/goodwe/diagnostics.py index 66806d3..d19f992 100644 --- a/custom_components/goodwe/diagnostics.py +++ b/custom_components/goodwe/diagnostics.py @@ -4,7 +4,7 @@ from typing import Any -from goodwe import Inverter +from goodwe import Inverter, InverterError from homeassistant.config_entries import ConfigEntry from homeassistant.core import HomeAssistant @@ -30,5 +30,21 @@ async def async_get_config_entry_diagnostics( "dsp_svn_version": inverter.dsp_svn_version, "arm_version": inverter.arm_version, "arm_svn_version": inverter.arm_svn_version, + "modbus_address": await _read_register(inverter, 45127), + "modbus_baudrate": await _read_register(inverter, 45132), + "log_data_enable": await _read_register(inverter, 47005), + "data_send_interval": await _read_register(inverter, 47006), + "wifi_or_lan": await _read_register(inverter, 47009), + "modbus_tcp_wo_internet": await _read_register(inverter, 47017), + "wifi_modbus_tcp_enable": await _read_register(inverter, 47040), + "api_remote_timeout_enable": await _read_register(inverter, 47117), + "api_remote_timeout": await _read_register(inverter, 47118), }, } + + +async def _read_register(inverter: Inverter, register: int) -> Any: + try: + return await inverter.read_setting(f"modbus-{register}") + except InverterError: + return None diff --git a/custom_components/goodwe/manifest.json b/custom_components/goodwe/manifest.json index 97ea674..0a6eb0c 100644 --- a/custom_components/goodwe/manifest.json +++ b/custom_components/goodwe/manifest.json @@ -11,6 +11,6 @@ "iot_class": "local_polling", "issue_tracker": "https://github.com/mletenay/home-assistant-goodwe-inverter/issues", "loggers": ["goodwe"], - "requirements": ["goodwe==0.4.2"], - "version": "0.9.9.22" + "requirements": ["goodwe==0.4.3"], + "version": "0.9.9.23" }