core: [GoodWe] Error decoding firmware version 01.01

The problem

I have been using the GoodWe integration in the past for months/years without any issue. It recently occured to me that it wasn’t working properly anymore (seems like it stopped working somewhere last year?).

I have a GW3000D-NS inverter installed at home and the integration has been reading data from it successfully in the past. I also did not perform a firmware upgrade.

It is still using the same firmware when of the time of installation afaik, and assume Goodwe does not perform remote firmware updates without users knowing (if even possible).

This is the error stacktrace:

2024-03-01 08:59:12.371 ERROR (MainThread) [goodwe.es] Error decoding firmware version 01.01.
Traceback (most recent call last):
  File "/usr/local/lib/python3.12/site-packages/goodwe/es.py", line 199, in read_device_info
    self.dsp2_version = int(self.firmware[2:4])
                        ^^^^^^^^^^^^^^^^^^^^^^^
ValueError: invalid literal for int() with base 10: '.0'

Here is the full log file of when the integration was enabled & show the error: Home Assistant log Mar 01 2024.log

What version of Home Assistant Core has the issue?

core-2024.2.5

What was the last working version of Home Assistant Core?

No response

What type of installation are you running?

Home Assistant OS

Integration causing the issue

goodwe

Link to integration documentation on our website

https://www.home-assistant.io/integrations/goodwe

Diagnostics information

{
  "home_assistant": {
    "installation_type": "Home Assistant OS",
    "version": "2024.2.5",
    "dev": false,
    "hassio": true,
    "virtualenv": false,
    "python_version": "3.12.1",
    "docker": true,
    "arch": "aarch64",
    "timezone": "Europe/Brussels",
    "os_name": "Linux",
    "os_version": "6.1.73-haos-raspi",
    "supervisor": "2024.02.1",
    "host_os": "Home Assistant OS 12.0",
    "docker_version": "24.0.7",
    "chassis": "embedded",
    "run_as_root": true
  },
  "custom_components": {
    "spotcast": {
      "version": "v3.6.30",
      "requirements": []
    },
    "sems": {
      "version": "3.7.4",
      "requirements": []
    },
    "samsungtv_smart": {
      "version": "0.13.4",
      "requirements": [
        "websocket-client!=1.4.0,>=0.58.0",
        "wakeonlan>=2.0.0",
        "aiofiles>=0.8.0",
        "casttube>=0.2.1"
      ]
    },
    "spook": {
      "version": "2.2.2",
      "requirements": []
    },
    "entsoe": {
      "version": "0.0.1",
      "requirements": [
        "entsoe-py==0.5.8"
      ]
    },
    "webrtc": {
      "version": "v3.5.1",
      "requirements": []
    },
    "energy_id": {
      "version": "1.3.0",
      "requirements": []
    },
    "anniversaries": {
      "version": "5.2.0",
      "requirements": [
        "python-dateutil>=2.8.1",
        "integrationhelper>=0.2.2",
        "voluptuous>=0.12.1"
      ]
    },
    "eventsensor": {
      "version": "3.3.1",
      "requirements": []
    },
    "spook_inverse": {
      "version": "2.2.2",
      "requirements": []
    },
    "hacs": {
      "version": "1.34.0",
      "requirements": [
        "aiogithubapi>=22.10.1"
      ]
    },
    "buienalarm": {
      "version": "1.9",
      "requirements": [
        "pybuienalarm==0.1.1"
      ]
    },
    "afvalbeheer": {
      "version": "5.3.0",
      "requirements": [
        "rsa",
        "pycryptodome"
      ]
    },
    "tapo_control": {
      "version": "5.4.13",
      "requirements": [
        "pytapo==3.3.18"
      ]
    }
  },
  "integration_manifest": {
    "domain": "goodwe",
    "name": "GoodWe Inverter",
    "codeowners": [
      "@mletenay",
      "@starkillerOG"
    ],
    "config_flow": true,
    "documentation": "https://www.home-assistant.io/integrations/goodwe",
    "iot_class": "local_polling",
    "loggers": [
      "goodwe"
    ],
    "requirements": [
      "goodwe==0.2.32"
    ],
    "is_built_in": true
  },
  "data": {
    "config_entry": {
      "entry_id": "37195ff3a82996ca430e1460f62c8c4b",
      "version": 1,
      "minor_version": 1,
      "domain": "goodwe",
      "title": "GoodWe",
      "data": {
        "host": "192.168.10.153",
        "model_family": "ES"
      },
      "options": {},
      "pref_disable_new_entities": false,
      "pref_disable_polling": false,
      "source": "user",
      "unique_id": "13000DSN164W0184",
      "disabled_by": null
    },
    "inverter": {
      "model_name": "GW3000D-NS",
      "rated_power": null,
      "firmware": "01.01",
      "arm_firmware": null,
      "dsp1_version": 1,
      "dsp2_version": 0,
      "dsp_svn_version": null,
      "arm_version": 0,
      "arm_svn_version": null
    }
  }
}

Example YAML snippet

No response

Anything in the logs that might be useful for us?

No response

Additional information

No response

About this issue

  • Original URL
  • State: closed
  • Created 4 months ago
  • Comments: 16 (5 by maintainers)

Most upvoted comments

Just file a ticket via https://support.goodwe.com/portal/en/home They usually tend to response within days and can perform the upgrade remotely, unless your inverter is too old for that.

48899 is the “discovery” port of the wifi module. 8899 is the port of the inverter protocol. But I can’t explain why it stopped working, there was definitely no relevant code/protocol in the python code.