thomluther / ha-anker-solix

Home Assistant integration for Anker Solix Power devices
MIT License
296 stars 4 forks source link

Many features and device e1600 missing only sensors like power savings co2 and cost savings #77

Closed desvelado closed 5 months ago

desvelado commented 5 months ago

System Health details

System Information

version core-2024.6.4
installation_type Home Assistant OS
dev false
hassio true
docker true
user root
virtualenv false
python_version 3.12.2
os_name Linux
os_version 6.6.31-haos-raspi
arch aarch64
timezone Europe/Berlin
config_dir /config
Home Assistant Community Store GitHub API | ok -- | -- GitHub Content | ok GitHub Web | ok GitHub API Calls Remaining | 5000 Installed Version | 1.34.0 Stage | running Available Repositories | 1391 Downloaded Repositories | 2 HACS Data | ok
Home Assistant Cloud logged_in | false -- | -- can_reach_cert_server | ok can_reach_cloud_auth | ok can_reach_cloud | ok
Home Assistant Supervisor host_os | Home Assistant OS 12.4 -- | -- update_channel | stable supervisor_version | supervisor-2024.06.2 agent_version | 1.6.0 docker_version | 26.1.4 disk_total | 116.6 GB disk_used | 4.1 GB healthy | true supported | true host_connectivity | true supervisor_connectivity | true ntp_synchronized | true virtualization | board | rpi4-64 supervisor_api | ok version_api | ok installed_addons | Terminal & SSH (9.14.0), WireGuard (0.10.2)
Dashboards dashboards | 2 -- | -- resources | 0 views | 0 mode | storage
Recorder oldest_recorder_run | 14. Juni 2024 um 07:59 -- | -- current_recorder_run | 27. Juni 2024 um 21:51 estimated_db_size | 2.71 MiB database_engine | sqlite database_version | 3.44.2

Checklist

Describe the issue

Hello, i'm a newbee and i was adding the hacd integration for anker in my HA. There are only 3 sensors and 1 device "Anker Solix" and not the shown entities / elements like in the demo. Diagnostics shows api usage and 2 others. Especially nothing is there to manage power output. I think something went wrong with my installation. I need help. I hope i waste no of your time may be with an simple made mistake.

Reproduction steps

1.HA installation on raspi

  1. logged off main account anker and logged in in HA integration - after login again in android app the message apears "another device logged in" so this seems to work
  2. configured integration, added all 6 entities ...

Debug logs

2024-06-27 21:51:23.239 WARNING (SyncWorker_0) [homeassistant.loader] We found a custom integration anker_solix which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant
2024-06-27 21:51:23.240 WARNING (SyncWorker_0) [homeassistant.loader] We found a custom integration hacs which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant
2024-06-27 21:51:29.544 WARNING (MainThread) [homeassistant.helpers.frame] Detected that custom integration 'hacs' accesses hass.components.frontend. This is deprecated and will stop working in Home Assistant 2024.9, it should be updated to import functions used from frontend directly at custom_components/hacs/frontend.py, line 68: hass.components.frontend.async_register_built_in_panel(, please create a bug report at https://github.com/hacs/integration/issues
2024-06-27 21:51:30.998 ERROR (MainThread) [homeassistant.components.device_tracker] Platform mobile_app does not generate unique IDs. ID ce15b97b8e2d2dac already exists - ignoring device_tracker.sm_g781b
2024-06-27 21:51:31.348 WARNING (MainThread) [homeassistant.helpers.frame] Detected that custom integration 'hacs' accesses hass.helpers.event. This is deprecated and will stop working in Home Assistant 2024.11, it should be updated to import functions used from event directly at custom_components/hacs/base.py, line 642: self.hass.helpers.event.async_track_time_interval(, please create a bug report at https://github.com/hacs/integration/issues
2024-06-27 21:51:46.340 WARNING (MainThread) [homeassistant.core] Something is blocking Home Assistant from wrapping up the start up phase. We're going to continue anyway. Please report the following info at https://github.com/home-assistant/core/issues: bluetooth, my, repairs, homeassistant.scene, anker_solix, backup, input_select, anker_solix.select, cast, hassio.update, system_health, file_upload, timer, image_upload, google_translate.tts, binary_sensor, update, recorder, anker_solix.sensor, onboarding, hardware, google_translate, history, ssdp, hacs.sensor, rpi_power.binary_sensor, input_button, energy, hassio.binary_sensor, homeassistant_alerts, mobile_app.sensor, hacs.update, auth, input_datetime, select, notify, conversation, usb, sensor, media_player, input_text, persistent_notification, homeassistant, switch, scene, counter, rpi_power, number, media_source, api, device_automation, dhcp, anker_solix.number, diagnostics, input_number, analytics, intent, default_config, tts, hacs, todo, logger, met.weather, sun.sensor, device_tracker, http, raspberry_pi, hassio.sensor, logbook, hassio, radio_browser, lovelace, cloud, config, mobile_app, button, websocket_api, anker_solix.switch, schedule, mobile_app.notify, zeroconf, tag, stream, anker_solix.button, cloud.tts, energy.sensor, webhook, person, mobile_app.device_tracker, shopping_list, wake_word, map, frontend, sun, assist_pipeline, mobile_app.binary_sensor, blueprint, stt, system_log, network, shopping_list.todo, automation, search, ffmpeg, trace, input_boolean, anker_solix.binary_sensor, met, zone, script, application_credentials, cast.media_player, weather The system is waiting for tasks: {<Task pending name='Task-1557' coro=<HacsBase.startup_tasks() running at /config/custom_components/hacs/base.py:687> wait_for=<_GatheringFuture pending cb=[Task.task_wakeup()]> cb=[set.remove()]>}
2024-06-27 21:52:31.536 ERROR (MainThread) [custom_components.hacs] Could not update theme - Timeout of 60s reached
2024-06-27 21:52:31.538 ERROR (MainThread) [custom_components.hacs] Could not update plugin - Timeout of 60s reached
2024-06-27 22:09:14.389 WARNING (MainThread) [homeassistant.helpers.state] Integration sensor does not support reproduce state
2024-06-27 22:09:14.389 WARNING (MainThread) [homeassistant.helpers.state] Integration binary_sensor does not support reproduce state
2024-06-27 22:17:46.184 ERROR (MainThread) [custom_components.anker_solix] Api Request Error: 401, message='Unauthorized', url=URL('https://ankerpower-api-eu.anker.com/power_service/v1/site/get_site_list')
2024-06-27 22:17:46.192 ERROR (MainThread) [custom_components.anker_solix] Response Text: {"code":26084,"msg":"token does not exist because it was kicked out"}
2024-06-27 22:17:46.192 WARNING (MainThread) [custom_components.anker_solix] Login failed, retrying authentication
2024-06-27 22:23:53.189 ERROR (MainThread) [custom_components.anker_solix] Api Request Error: 401, message='Unauthorized', url=URL('https://ankerpower-api-eu.anker.com/power_service/v1/site/get_site_list')
2024-06-27 22:23:53.189 ERROR (MainThread) [custom_components.anker_solix] Response Text: {"code":26084,"msg":"token does not exist because it was kicked out"}
2024-06-27 22:23:53.190 WARNING (MainThread) [custom_components.anker_solix] Login failed, retrying authentication
2024-06-27 22:38:16.374 DEBUG (MainThread) [custom_components.anker_solix] Mar*** request post https://ankerpower-api-eu.anker.com/power_service/v1/site/get_scen_info response received
2024-06-27 22:38:16.375 DEBUG (MainThread) [custom_components.anker_solix] Response Headers: <CIMultiDictProxy('Date': 'Thu, 27 Jun 2024 20:38:16 GMT', 'Content-Type': 'application/json; charset=utf-8', 'Content-Length': '1752', 'Connection': 'keep-alive', 'Bizcode': '0', 'Trace': 'a8e2e473754be6e5aec0e7d971d6f0f7', 'Traceparent': '00-a8e2e473754be6e5aec0e7d971d6f0f7-ebb886956f1c662e-00', 'Server': 'APISIX')>
2024-06-27 22:38:16.383 DEBUG (MainThread) [custom_components.anker_solix] Response Data: {'code': 0, 'msg': 'success!', 'data': {'home_info': {'home_name': 'Home', 'home_img': '', 'charging_power': '0.00', 'power_unit': 'W'}, 'solar_list': [], 'pps_info': {'pps_list': [], 'total_charging_power': '0.00', 'power_unit': 'W', 'total_battery_power': '0.00', 'updated_time': '', 'pps_status': 0}, 'statistics': [{'type': '1', 'total': '28.44', 'unit': 'kwh'}, {'type': '2', 'total': '28.36', 'unit': 'kg'}, {'type': '3', 'total': '11.38', 'unit': '€'}], 'topology_type': '1', 'solarbank_info': {'solarbank_list': [{'device_pn': 'A17C0', 'device_sn': 'AZV6Y60D35500706', 'device_name': 'Solarbank E1600', 'device_img': 'https://public-aiot-fra-prod.s3.dualstack.eu-central-1.amazonaws.com/anker-power/public/product/2024/05/10/iot-admin/FycLLqjHpYf0Bdab/20230719-144818.png', 'battery_power': '43', 'bind_site_status': '', 'charging_power': '147', 'power_unit': 'W', 'charging_status': '2', 'status': '1', 'wireless_type': '1', 'main_version': '', 'photovoltaic_power': '0', 'output_power': '147', 'create_time': 1718478313, 'set_load_power': '', 'sub_package_num': 0, 'output_cutoff_data': 10, 'is_display': True}], 'total_charging_power': '0', 'power_unit': 'W', 'charging_status': '0', 'total_battery_power': '0.43', 'updated_time': '2024-06-27 22:37:36', 'total_photovoltaic_power': '0', 'total_output_power': '147.00', 'display_set_power': False, 'battery_discharge_power': '0', 'ac_power': '0', 'to_home_load': '0', 'is_display_data': True, 'solar_power_1': '0', 'solar_power_2': '0', 'solar_power_3': '0', 'solar_power_4': '0'}, 'retain_load': '150W', 'scene_mode': 0, 'home_load_power': '0', 'updated_time': '01-01-0001 00:00:00', 'power_site_type': 2, 'site_id': '4b75e2d8-981f-41bc-bf1c-744d072b82bc', 'powerpanel_list': [], 'grid_info': None, 'is_downgrade': False, 'error_code': 0, 'smart_plug_info': None, 'feature_switch': None}, 'trace_id': 'a8e2e473754be6e5aec0e7d971d6f0f7'}
2024-06-27 22:38:16.384 DEBUG (MainThread) [custom_components.anker_solix] Api Coordinator Mar*** request statistics: 15 last hour, 2 last minute
2024-06-27 22:38:16.385 DEBUG (MainThread) [custom_components.anker_solix] Coordinator Mar*** data: {'4b75e2d8-981f-41bc-bf1c-744d072b82bc': {'type': 'system', 'site_info': {'site_id': '4b75e2d8-981f-41bc-bf1c-744d072b82bc', 'site_name': 'desbalduo', 'site_img': '', 'device_type_list': [3], 'ms_type': 1, 'power_site_type': 2, 'is_allow_delete': True, 'support_device_models': ['A17C0', 'A5143', 'A1771'], 'current_site_device_models': ['A17C0']}, 'site_admin': True, 'home_info': {'home_name': 'Home', 'home_img': '', 'charging_power': '0.00', 'power_unit': 'W'}, 'solar_list': [], 'pps_info': {'pps_list': [], 'total_charging_power': '0.00', 'power_unit': 'W', 'total_battery_power': '0.00', 'updated_time': '', 'pps_status': 0}, 'statistics': [{'type': '1', 'total': '28.44', 'unit': 'kwh'}, {'type': '2', 'total': '28.36', 'unit': 'kg'}, {'type': '3', 'total': '11.38', 'unit': '€'}], 'topology_type': '1', 'solarbank_info': {'solarbank_list': [{'device_pn': 'A17C0', 'device_sn': 'AZV6Y60D35500706', 'device_img': 'https://public-aiot-fra-prod.s3.dualstack.eu-central-1.amazonaws.com/anker-power/public/product/2024/05/10/iot-admin/FycLLqjHpYf0Bdab/20230719-144818.png', 'battery_power': '43', 'bind_site_status': '', 'charging_power': '-147', 'power_unit': 'W', 'charging_status': '2', 'status': '1', 'wireless_type': '1', 'main_version': '', 'photovoltaic_power': '0', 'output_power': '147', 'create_time': 1718478313, 'set_load_power': '150', 'sub_package_num': 0, 'output_cutoff_data': 10, 'is_display': True, 'alias_name': 'Solarbank E1600', 'current_home_load': '150'}], 'total_charging_power': '-147.0', 'power_unit': 'W', 'charging_status': '0', 'total_battery_power': '0.43', 'updated_time': '2024-06-27 22:37:36', 'total_photovoltaic_power': '0', 'total_output_power': '147.00', 'display_set_power': False, 'battery_discharge_power': '0', 'ac_power': '0', 'to_home_load': '0', 'is_display_data': True, 'solar_power_1': '0', 'solar_power_2': '0', 'solar_power_3': '0', 'solar_power_4': '0'}, 'retain_load': '150W', 'scene_mode': 0, 'home_load_power': '0', 'updated_time': '01-01-0001 00:00:00', 'power_site_type': 2, 'site_id': '4b75e2d8-981f-41bc-bf1c-744d072b82bc', 'powerpanel_list': [], 'grid_info': None, 'is_downgrade': False, 'error_code': 0, 'smart_plug_info': None, 'feature_switch': None, 'site_details': {'has_unread_msg': True}}, 'AZV6Y60D35500706': {'device_sn': 'AZV6Y60D35500706', 'type': 'solarbank', 'site_id': '4b75e2d8-981f-41bc-bf1c-744d072b82bc', 'is_admin': True, 'device_pn': 'A17C0', 'battery_soc': '43', 'battery_capacity': '1600', 'battery_energy': '688', 'charging_power': '-147', 'power_unit': 'W', 'charging_status': '2', 'charging_status_desc': 'discharge', 'status': '1', 'status_desc': 'online', 'wireless_type': '1', 'input_power': '0', 'output_power': '147', 'set_output_power': '150', 'power_cutoff': 10, 'alias': 'Solarbank E1600', 'set_system_output_power': '150', 'solarbank_count': 1, 'bt_ble_mac': 'E8EECCA33C58', 'name': 'Solarbank E1600', 'wifi_online': True, 'charge': False, 'bws_surplus': '0', 'sw_version': 'v1.6.2', 'wifi_name': 'desNet_meta_#13', 'wifi_signal': '60'}}
2024-06-27 22:46:58.529 ERROR (MainThread) [aiohttp.server] Error handling request
Traceback (most recent call last):
  File "/usr/local/lib/python3.12/site-packages/aiohttp/web_protocol.py", line 350, in data_received
    messages, upgraded, tail = self._request_parser.feed_data(data)
                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "aiohttp/_http_parser.pyx", line 557, in aiohttp._http_parser.HttpParser.feed_data
aiohttp.http_exceptions.BadStatusLine: 400, message:
  Invalid method encountered:

    b'\x16\x03\x01\x06\xb6\x01'
      ^
2024-06-27 22:46:58.542 ERROR (MainThread) [aiohttp.server] Error handling request
Traceback (most recent call last):
  File "/usr/local/lib/python3.12/site-packages/aiohttp/web_protocol.py", line 350, in data_received
    messages, upgraded, tail = self._request_parser.feed_data(data)
                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "aiohttp/_http_parser.pyx", line 557, in aiohttp._http_parser.HttpParser.feed_data
aiohttp.http_exceptions.BadStatusLine: 400, message:
  Invalid method encountered:

    b'\x16\x03\x01\x06\xb6\x01'
      ^
2024-06-27 22:47:00.940 ERROR (MainThread) [aiohttp.server] Error handling request
Traceback (most recent call last):
  File "/usr/local/lib/python3.12/site-packages/aiohttp/web_protocol.py", line 350, in data_received
    messages, upgraded, tail = self._request_parser.feed_data(data)
                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "aiohttp/_http_parser.pyx", line 557, in aiohttp._http_parser.HttpParser.feed_data
aiohttp.http_exceptions.BadStatusLine: 400, message:
  Invalid method encountered:

    b'\x16\x03\x01\x07\x16\x01'
      ^
2024-06-27 22:47:00.949 ERROR (MainThread) [aiohttp.server] Error handling request
Traceback (most recent call last):
  File "/usr/local/lib/python3.12/site-packages/aiohttp/web_protocol.py", line 350, in data_received
    messages, upgraded, tail = self._request_parser.feed_data(data)
                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "aiohttp/_http_parser.pyx", line 557, in aiohttp._http_parser.HttpParser.feed_data
aiohttp.http_exceptions.BadStatusLine: 400, message:
  Invalid method encountered:

    b'\x16\x03\x01\x06\xf6\x01'
      ^
2024-06-27 22:47:01.923 ERROR (MainThread) [aiohttp.server] Error handling request
Traceback (most recent call last):
  File "/usr/local/lib/python3.12/site-packages/aiohttp/web_protocol.py", line 350, in data_received
    messages, upgraded, tail = self._request_parser.feed_data(data)
                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "aiohttp/_http_parser.pyx", line 557, in aiohttp._http_parser.HttpParser.feed_data
aiohttp.http_exceptions.BadStatusLine: 400, message:
  Invalid method encountered:

    b'\x16\x03\x01\x06\xb6\x01'
      ^
2024-06-27 22:47:01.934 ERROR (MainThread) [aiohttp.server] Error handling request
Traceback (most recent call last):
  File "/usr/local/lib/python3.12/site-packages/aiohttp/web_protocol.py", line 350, in data_received
    messages, upgraded, tail = self._request_parser.feed_data(data)
                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "aiohttp/_http_parser.pyx", line 557, in aiohttp._http_parser.HttpParser.feed_data
aiohttp.http_exceptions.BadStatusLine: 400, message:
  Invalid method encountered:

    b'\x16\x03\x01\x06\xd6\x01'
      ^
2024-06-27 22:47:06.155 ERROR (MainThread) [aiohttp.server] Error handling request
Traceback (most recent call last):
  File "/usr/local/lib/python3.12/site-packages/aiohttp/web_protocol.py", line 350, in data_received
    messages, upgraded, tail = self._request_parser.feed_data(data)
                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "aiohttp/_http_parser.pyx", line 557, in aiohttp._http_parser.HttpParser.feed_data
aiohttp.http_exceptions.BadStatusLine: 400, message:
  Invalid method encountered:

    b'\x16\x03\x01\x06\xf6\x01'
      ^
2024-06-27 22:47:06.163 ERROR (MainThread) [aiohttp.server] Error handling request
Traceback (most recent call last):
  File "/usr/local/lib/python3.12/site-packages/aiohttp/web_protocol.py", line 350, in data_received
    messages, upgraded, tail = self._request_parser.feed_data(data)
                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "aiohttp/_http_parser.pyx", line 557, in aiohttp._http_parser.HttpParser.feed_data
aiohttp.http_exceptions.BadStatusLine: 400, message:
  Invalid method encountered:

    b'\x16\x03\x01\x07\x16\x01'
      ^
2024-06-27 22:47:10.960 ERROR (MainThread) [aiohttp.server] Error handling request
Traceback (most recent call last):
  File "/usr/local/lib/python3.12/site-packages/aiohttp/web_protocol.py", line 350, in data_received
    messages, upgraded, tail = self._request_parser.feed_data(data)
                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "aiohttp/_http_parser.pyx", line 557, in aiohttp._http_parser.HttpParser.feed_data
aiohttp.http_exceptions.BadStatusLine: 400, message:
  Invalid method encountered:

    b'\x16\x03\x01\x06\xf6\x01'
      ^
2024-06-27 22:47:10.969 ERROR (MainThread) [aiohttp.server] Error handling request
Traceback (most recent call last):
  File "/usr/local/lib/python3.12/site-packages/aiohttp/web_protocol.py", line 350, in data_received
    messages, upgraded, tail = self._request_parser.feed_data(data)
                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "aiohttp/_http_parser.pyx", line 557, in aiohttp._http_parser.HttpParser.feed_data
aiohttp.http_exceptions.BadStatusLine: 400, message:
  Invalid method encountered:

    b'\x16\x03\x01\x06\xb6\x01'
      ^

Diagnostics dump

i found no button "diagnostics" for device anker solix only serial and Power Site Type 2 von Anker. The reason is maybe that the anker e1600 as device is missing.

desvelado commented 5 months ago

unfortunately, i have selected all entities for exclusion. Anyone who can read has a clear advantage - which I only realized afterwards ;) Sorry.