Giter Site home page Giter Site logo

torbennehmer / hacs-e3dc Goto Github PK

View Code? Open in Web Editor NEW
48.0 10.0 8.0 254 KB

Homeassistant E3DC Integration

License: GNU Affero General Public License v3.0

Python 98.90% Shell 1.10%
battery-management-system e3dc homeassistant homeassistant-integration photovoltaic-systems

hacs-e3dc's People

Contributors

bullitt186 avatar dependabot[bot] avatar thijsdewitt avatar torbennehmer avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

hacs-e3dc's Issues

Additional production shows negative Values

System Health details

System Information

version core-2023.11.3
installation_type Home Assistant Supervised
dev false
hassio true
docker true
user root
virtualenv false
python_version 3.11.6
os_name Linux
os_version 6.1.0-rpi6-rpi-v8
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.33.0
Stage running
Available Repositories 1348
Downloaded Repositories 3
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 Debian GNU/Linux 12 (bookworm)
update_channel stable
supervisor_version supervisor-2023.11.5
agent_version 1.6.0
docker_version 24.0.7
disk_total 28.7 GB
disk_used 13.5 GB
healthy true
supported failed to load: Unsupported
supervisor_api ok
version_api ok
installed_addons Studio Code Server (5.14.2)
Dashboards
dashboards 1
resources 0
mode auto-gen
Recorder
oldest_recorder_run 23. November 2023 um 10:02
current_recorder_run 29. November 2023 um 10:13
estimated_db_size 24.28 MiB
database_engine sqlite
database_version 3.41.2

Checklist

  • I have enabled debug logging for my installation.
  • I have filled out the issue template to the best of my ability.
  • This issue only contains 1 issue (if you have multiple issues, open one issue for each issue).
  • This issue is not a duplicate issue of currently previous issues..

Describe the issue

When using this integration with my E3DC S10PRO and an external solar inverter, the additional production is showing negative values.

image
(Here the issue is already fixed, and entities show the correct values)

The powermeter used for additional production is configured that way in my system.
image

When using get_powermeters() directly with python-e3dc I see following powermeter config:

[
    {
        "index": 0,
        "type": 1,
        "typeName": "PM_TYPE_ROOT"
    },
    {
        "index": 1,
        "type": 2,
        "typeName": "PM_TYPE_ADDITIONAL"
    }
]

Now there are two issues:

  1. PM_TYPE_ADDITIONAL is not included in the match statement and therefore the values are not negated
  2. The match statement does not work unless the enum class is used for comparing.

Reproduction steps

  1. Have an E3DC system with additinal solar inverter and powermeter configured as type 0x02 (PM_TYPE_ADDITIONAL)
  2. Install this integration
  3. Entities additional and additional_total show negative values

Debug logs

not available

Diagnostics dump

No response

Add Sensors for extra power meters

Checklist

  • I have filled out the template to the best of my ability.
  • This only contains 1 feature request (if you have multiple feature requests, open one feature request for each feature request).
  • This issue is not a duplicate feature request of previous feature requests.

Is your feature request related to a problem? Please describe.

It would be nice if the external power meters are also aviable as the other sensors

Describe the solution you'd like

Add the external power meter, like in https://github.com/rxhan/RSCPGui

Describe alternatives you've considered

nothing

Additional context

No response

Diagnostics dump

No response

Add service to fill the storage from network grid

Checklist

  • I have filled out the template to the best of my ability.
  • This only contains 1 feature request (if you have multiple feature requests, open one feature request for each feature request).
  • This issue is not a duplicate feature request of previous feature requests.

Is your feature request related to a problem? Please describe.

Describe the solution you'd like

When using Tibber you may find cheap prices at night. It would be helpful, to have a service, that allows to load energy from the grid into the storage (and another service, that stops the loading). So you could use the cheap energy later over the day.

Describe alternatives you've considered

Additional context

Thank you for the great work!

sensor.s10x_maximum_charge and sensor.s10x_minimum_charge show unavailable after core update 10.5 -> 11

System Health details

System Information

version core-2023.11.0
installation_type Home Assistant OS
dev false
hassio true
docker true
user root
virtualenv false
python_version 3.11.6
os_name Linux
os_version 6.1.59
arch x86_64
timezone Europe/Berlin
config_dir /config
Home Assistant Community Store
GitHub API ok
GitHub Content ok
GitHub Web ok
GitHub API Calls Remaining 4755
Installed Version 1.33.0
Stage running
Available Repositories 1323
Downloaded Repositories 7
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 11.1
update_channel stable
supervisor_version supervisor-2023.10.1
agent_version 1.6.0
docker_version 24.0.6
disk_total 457.7 GB
disk_used 9.8 GB
healthy true
supported true
board generic-x86-64
supervisor_api ok
version_api ok
installed_addons Advanced SSH & Web Terminal (15.1.0), File editor (5.6.0), Log Viewer (0.16.0), Samba share (10.0.2), Zigbee2MQTT (1.33.2-1), Mosquitto broker (6.3.1)
Dashboards
dashboards 11
resources 4
views 13
mode storage
Recorder
oldest_recorder_run October 23, 2023 at 7:22 AM
current_recorder_run November 3, 2023 at 6:35 PM
estimated_db_size 913.55 MiB
database_engine sqlite
database_version 3.41.2

Checklist

  • I have enabled debug logging for my installation.
  • I have filled out the issue template to the best of my ability.
  • This issue only contains 1 issue (if you have multiple issues, open one issue for each issue).
  • This issue is not a duplicate issue of currently previous issues..

Describe the issue

After core update in Dashboard sensor.s10x_maximum_charge and sensor.s10x_maximum_discharge.
In the Entities view these have a red status.
This entity is no longer being provided by the e3dc_rscp integration. If the entity is no longer in use, delete it in settings.

Reproduction steps

  1. Restore old backup core <11.0
  2. Maximum charge and discharge show a value
  3. It is possible to change the values via automation and the call E3DC Remote Storage Control Protocol (Git): Set power limits
  4. Update Core to 11
  5. sensor.s10x_maximum_charge and sensor.s10x_maximum_discharge show unavailable
  6. There are sensors sensor.s10x_system_maximum_charge and sensor.s10x_system_maximum_discharge but these stay at 12000 and cannot be set via Set power limits

Debug logs

Log is 18 GB on debug level therefor the tail
2023-11-03 18:38:20.111 DEBUG (MainThread) [pyipp.parser] Parsing Attribute at offset 1113
2023-11-03 18:38:20.111 DEBUG (MainThread) [pyipp.parser] Attribute Name: 
2023-11-03 18:38:20.111 DEBUG (MainThread) [pyipp.parser] Attribute Value Offset: 1118
2023-11-03 18:38:20.111 DEBUG (MainThread) [pyipp.parser] Attribute Value Length: 28
2023-11-03 18:38:20.111 DEBUG (MainThread) [pyipp.parser] Attribute Language: en
2023-11-03 18:38:20.111 DEBUG (MainThread) [pyipp.parser] Attribute Text Length: 22
2023-11-03 18:38:20.111 DEBUG (MainThread) [pyipp.parser] Attribute Value: Yellow Toner Cartridge
2023-11-03 18:38:20.111 DEBUG (MainThread) [pyipp.parser] Parsing Attribute at offset 1146
2023-11-03 18:38:20.111 DEBUG (MainThread) [pyipp.parser] Attribute Name: marker-types
2023-11-03 18:38:20.112 DEBUG (MainThread) [pyipp.parser] Attribute Value Offset: 1163
2023-11-03 18:38:20.112 DEBUG (MainThread) [pyipp.parser] Attribute Value Length: 5
2023-11-03 18:38:20.112 DEBUG (MainThread) [pyipp.parser] Attribute Bytes: b'toner'
2023-11-03 18:38:20.112 DEBUG (MainThread) [pyipp.parser] Attribute Value: toner
2023-11-03 18:38:20.112 DEBUG (MainThread) [pyipp.parser] Parsing Attribute at offset 1168
2023-11-03 18:38:20.112 DEBUG (MainThread) [pyipp.parser] Attribute Name: 
2023-11-03 18:38:20.112 DEBUG (MainThread) [pyipp.parser] Attribute Value Offset: 1173
2023-11-03 18:38:20.112 DEBUG (MainThread) [pyipp.parser] Attribute Value Length: 5
2023-11-03 18:38:20.112 DEBUG (MainThread) [pyipp.parser] Attribute Bytes: b'toner'
2023-11-03 18:38:20.112 DEBUG (MainThread) [pyipp.parser] Attribute Value: toner
2023-11-03 18:38:20.112 DEBUG (MainThread) [pyipp.parser] Parsing Attribute at offset 1178
2023-11-03 18:38:20.112 DEBUG (MainThread) [pyipp.parser] Attribute Name: 
2023-11-03 18:38:20.112 DEBUG (MainThread) [pyipp.parser] Attribute Value Offset: 1183
2023-11-03 18:38:20.113 DEBUG (MainThread) [pyipp.parser] Attribute Value Length: 5
2023-11-03 18:38:20.113 DEBUG (MainThread) [pyipp.parser] Attribute Bytes: b'toner'
2023-11-03 18:38:20.113 DEBUG (MainThread) [pyipp.parser] Attribute Value: toner
2023-11-03 18:38:20.113 DEBUG (MainThread) [pyipp.parser] Parsing Attribute at offset 1188
2023-11-03 18:38:20.113 DEBUG (MainThread) [pyipp.parser] Attribute Name: 
2023-11-03 18:38:20.113 DEBUG (MainThread) [pyipp.parser] Attribute Value Offset: 1193
2023-11-03 18:38:20.113 DEBUG (MainThread) [pyipp.parser] Attribute Value Length: 5
2023-11-03 18:38:20.113 DEBUG (MainThread) [pyipp.parser] Attribute Bytes: b'toner'
2023-11-03 18:38:20.113 DEBUG (MainThread) [pyipp.parser] Attribute Value: toner
2023-11-03 18:38:20.114 DEBUG (MainThread) [homeassistant.components.ipp.coordinator] Finished fetching ipp data in 0.797 seconds (success: True)
2023-11-03 18:38:20.173 DEBUG (MainThread) [bleak.backends.bluezdbus.manager] received D-Bus signal: org.freedesktop.DBus.Properties.PropertiesChanged (/org/bluez/hci0/dev_FD_EC_E8_DC_C7_88): ['org.bluez.Device1', {'RSSI': <dbus_fast.signature.Variant ('n', -63)>}, []]
2023-11-03 18:38:20.208 DEBUG (MainThread) [bleak.backends.bluezdbus.manager] received D-Bus signal: org.freedesktop.DBus.Properties.PropertiesChanged (/org/bluez/hci0/dev_0C_5C_7D_B3_14_70): ['org.bluez.Device1', {'RSSI': <dbus_fast.signature.Variant ('n', -70)>}, []]
2023-11-03 18:38:20.216 DEBUG (MainThread) [bleak.backends.bluezdbus.manager] received D-Bus signal: org.freedesktop.DBus.Properties.PropertiesChanged (/org/bluez/hci0/dev_5C_EF_C9_E6_52_37): ['org.bluez.Device1', {'RSSI': <dbus_fast.signature.Variant ('n', -78)>, 'AdvertisingFlags': <dbus_fast.signature.Variant ('ay', bytearray(b'\x1a'))>}, []]
2023-11-03 18:38:20.230 DEBUG (MainThread) [homeassistant.components.fritz.common] Checking host info for FRITZ!Box device 192.168.1.74
2023-11-03 18:38:20.233 DEBUG (MainThread) [homeassistant.components.websocket_api.http.connection] [139987804318016] tschrenk from 192.168.1.40 (Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Safari/605.1.15): Received {'type': 'auth/sign_path', 'path': '/api/error_log', 'id': 196}
2023-11-03 18:38:20.233 DEBUG (MainThread) [homeassistant.components.websocket_api.http.connection] [139987804318016] tschrenk from 192.168.1.40 (Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.0 Safari/605.1.15): Sending {"id":196,"type":"result","success":true,"result":{"path":"/api/error_log?authSig=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiI5MDk3ZGE3MjhhYTc0MDIwYWY0MDE5MzQyOTdhYWM1ZiIsInBhdGgiOiIvYXBpL2Vycm9yX2xvZyIsInBhcmFtcyI6W10sImlhdCI6MTY5OTAzMzEwMCwiZXhwIjoxNjk5MDMzMTMwfQ.S-FjSNMwfp-ZpWrZSjSx_v2FzNlkiigtrOmuBrIfdEY"}}
2023-11-03 18:38:20.246 DEBUG (MainThread) [bleak.backends.bluezdbus.manager] received D-Bus signal: org.freedesktop.DBus.Properties.PropertiesChanged (/org/bluez/hci0/dev_66_73_88_F4_60_20): ['org.bluez.Device1', {'RSSI': <dbus_fast.signature.Variant ('n', -73)>}, []]
2023-11-03 18:38:20.254 DEBUG (MainThread) [homeassistant.components.fritz.common] Checking devices for FRITZ!Box device 192.168.1.74

Diagnostics dump

No response

Installed battery capacity 0

System Health details

System Information

version core-2023.8.3
installation_type Home Assistant OS
dev false
hassio true
docker true
user root
virtualenv false
python_version 3.11.4
os_name Linux
os_version 6.1.21-v8
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.32.1
Stage running
Available Repositories 1268
Downloaded Repositories 15
Home Assistant Cloud
logged_in true
subscription_expiration 19. August 2024 um 02:00
relayer_connected true
relayer_region eu-central-1
remote_enabled true
remote_connected true
alexa_enabled true
google_enabled false
remote_server eu-central-1-0.ui.nabu.casa
certificate_status ready
can_reach_cert_server ok
can_reach_cloud_auth ok
can_reach_cloud ok
Home Assistant Supervisor
host_os Home Assistant OS 10.5
update_channel beta
supervisor_version supervisor-2023.08.1
agent_version 1.5.1
docker_version 23.0.6
disk_total 58.0 GB
disk_used 10.3 GB
healthy true
supported true
board rpi4-64
supervisor_api ok
version_api ok
installed_addons Samba share (10.0.2), Studio Code Server (5.10.1), Home Assistant Google Drive Backup (0.111.1), SQLite Web (3.9.2), Advanced SSH & Web Terminal (15.0.7), RaspberryMatic CCU (3.69.7.20230626), Mosquitto broker (6.2.1), Zigbee2MQTT (1.32.2-1), Network UPS Tools (0.12.0), MQTT Explorer (browser-1.0.1), eufy-security-ws (1.6.3)
Dashboards
dashboards 3
resources 8
views 12
mode storage
Recorder
oldest_recorder_run 19. August 2023 um 09:06
current_recorder_run 22. August 2023 um 16:26
estimated_db_size 291.15 MiB
database_engine sqlite
database_version 3.41.2
Spotify
api_endpoint_reachable ok

Checklist

  • I have enabled debug logging for my installation.
  • I have filled out the issue template to the best of my ability.
  • This issue only contains 1 issue (if you have multiple issues, open one issue for each issue).
  • This issue is not a duplicate issue of currently previous issues..

Describe the issue

The "installed battery capacity" sensor shows "0".

My E3DC device is a S10 X COMPACT 14, so it should be around 14 kWh.

image

Reproduction steps

  1. Install integration
  2. Look at entities

Debug logs

2023-08-23 08:07:52.109 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Polling general status information
2023-08-23 08:07:53.108 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Poll power settings
2023-08-23 08:07:53.157 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Polling manual charge information
2023-08-23 08:07:54.106 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Polling today's power metrics
2023-08-23 08:07:54.106 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Midnight is 2023-08-23 00:00:00+02:00, DB query timestamp is 1692741600, applied offset: 7200
2023-08-23 08:07:54.106 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Midnight DB query timestamp is 1692748800, applied offset: 7200
2023-08-23 08:07:54.212 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Finished fetching e3dc_rscp data in 2.103 seconds (success: True)
2023-08-23 08:08:07.221 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Polling general status information
2023-08-23 08:08:07.346 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Poll power settings
2023-08-23 08:08:07.351 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Polling manual charge information
2023-08-23 08:08:07.378 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Skipping power metrics poll.
2023-08-23 08:08:07.378 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Finished fetching e3dc_rscp data in 0.157 seconds (success: True)
2023-08-23 08:08:24.234 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Polling general status information
2023-08-23 08:08:24.490 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Poll power settings
2023-08-23 08:08:24.671 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Polling manual charge information
2023-08-23 08:08:24.891 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Skipping power metrics poll.
2023-08-23 08:08:24.891 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Finished fetching e3dc_rscp data in 0.657 seconds (success: True)
2023-08-23 08:08:40.880 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Polling general status information
2023-08-23 08:08:41.022 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Poll power settings
2023-08-23 08:08:41.194 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Polling manual charge information
2023-08-23 08:08:41.272 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Skipping power metrics poll.
2023-08-23 08:08:41.272 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Finished fetching e3dc_rscp data in 0.392 seconds (success: True)
2023-08-23 08:08:45.167 ERROR (MainThread) [aiohttp.server] Error handling request
Traceback (most recent call last):
  File "/usr/local/lib/python3.11/site-packages/aiohttp/web_protocol.py", line 433, in _handle_request
    resp = await request_handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/aiohttp/web_app.py", line 504, in _handle
    resp = await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/aiohttp/web_middlewares.py", line 117, in impl
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/security_filter.py", line 85, in security_filter_middleware
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/forwarded.py", line 100, in forwarded_middleware
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/request_context.py", line 28, in request_context_middleware
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/ban.py", line 80, in ban_middleware
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/auth.py", line 236, in auth_middleware
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/view.py", line 148, in handle
    result = await handler(request, **request.match_info)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/diagnostics/__init__.py", line 249, in get
    data = await info.config_entry_diagnostics(hass, config_entry)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/e3dc_rscp/diagnostics.py", line 33, in async_get_config_entry_diagnostics
    "get_batteries_data": e3dc.get_batteries_data(),
                          ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/e3dc/_e3dc.py", line 1408, in get_batteries_data
    self.get_battery_data(
  File "/usr/local/lib/python3.11/site-packages/e3dc/_e3dc.py", line 1324, in get_battery_data
    for sensor in range(0, sensorCount):
                  ^^^^^^^^^^^^^^^^^^^^^
TypeError: 'NoneType' object cannot be interpreted as an integer
2023-08-23 08:08:51.209 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Polling general status information
2023-08-23 08:08:51.274 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Poll power settings
2023-08-23 08:08:51.281 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Polling manual charge information
2023-08-23 08:08:51.292 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Skipping power metrics poll.
2023-08-23 08:08:51.292 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Finished fetching e3dc_rscp data in 0.083 seconds (success: True)
2023-08-23 08:08:56.011 ERROR (MainThread) [aiohttp.server] Error handling request
Traceback (most recent call last):
  File "/usr/local/lib/python3.11/site-packages/aiohttp/web_protocol.py", line 433, in _handle_request
    resp = await request_handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/aiohttp/web_app.py", line 504, in _handle
    resp = await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/aiohttp/web_middlewares.py", line 117, in impl
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/security_filter.py", line 85, in security_filter_middleware
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/forwarded.py", line 100, in forwarded_middleware
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/request_context.py", line 28, in request_context_middleware
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/ban.py", line 80, in ban_middleware
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/auth.py", line 236, in auth_middleware
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/view.py", line 148, in handle
    result = await handler(request, **request.match_info)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/diagnostics/__init__.py", line 249, in get
    data = await info.config_entry_diagnostics(hass, config_entry)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/e3dc_rscp/diagnostics.py", line 33, in async_get_config_entry_diagnostics
    "get_batteries_data": e3dc.get_batteries_data(),
                          ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/e3dc/_e3dc.py", line 1408, in get_batteries_data
    self.get_battery_data(
  File "/usr/local/lib/python3.11/site-packages/e3dc/_e3dc.py", line 1324, in get_battery_data
    for sensor in range(0, sensorCount):
                  ^^^^^^^^^^^^^^^^^^^^^
TypeError: 'NoneType' object cannot be interpreted as an integer
2023-08-23 08:09:01.209 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Polling general status information
2023-08-23 08:09:01.294 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Poll power settings
2023-08-23 08:09:01.304 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Polling manual charge information
2023-08-23 08:09:01.317 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Polling today's power metrics
2023-08-23 08:09:01.318 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Midnight is 2023-08-23 00:00:00+02:00, DB query timestamp is 1692741600, applied offset: 7200
2023-08-23 08:09:01.318 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Midnight DB query timestamp is 1692748800, applied offset: 7200
2023-08-23 08:09:01.377 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Finished fetching e3dc_rscp data in 0.168 seconds (success: True)
2023-08-23 08:09:11.211 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Polling general status information
2023-08-23 08:09:11.271 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Poll power settings
2023-08-23 08:09:11.279 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Polling manual charge information
2023-08-23 08:09:11.285 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Skipping power metrics poll.
2023-08-23 08:09:11.285 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Finished fetching e3dc_rscp data in 0.075 seconds (success: True)
2023-08-23 08:09:12.929 ERROR (MainThread) [aiohttp.server] Error handling request
Traceback (most recent call last):
  File "/usr/local/lib/python3.11/site-packages/aiohttp/web_protocol.py", line 433, in _handle_request
    resp = await request_handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/aiohttp/web_app.py", line 504, in _handle
    resp = await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/aiohttp/web_middlewares.py", line 117, in impl
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/security_filter.py", line 85, in security_filter_middleware
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/forwarded.py", line 100, in forwarded_middleware
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/request_context.py", line 28, in request_context_middleware
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/ban.py", line 80, in ban_middleware
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/auth.py", line 236, in auth_middleware
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/view.py", line 148, in handle
    result = await handler(request, **request.match_info)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/diagnostics/__init__.py", line 249, in get
    data = await info.config_entry_diagnostics(hass, config_entry)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/e3dc_rscp/diagnostics.py", line 33, in async_get_config_entry_diagnostics
    "get_batteries_data": e3dc.get_batteries_data(),
                          ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/e3dc/_e3dc.py", line 1408, in get_batteries_data
    self.get_battery_data(
  File "/usr/local/lib/python3.11/site-packages/e3dc/_e3dc.py", line 1324, in get_battery_data
    for sensor in range(0, sensorCount):
                  ^^^^^^^^^^^^^^^^^^^^^
TypeError: 'NoneType' object cannot be interpreted as an integer
2023-08-23 08:09:21.209 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Polling general status information
2023-08-23 08:09:21.279 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Poll power settings
2023-08-23 08:09:21.291 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Polling manual charge information
2023-08-23 08:09:21.302 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Skipping power metrics poll.
2023-08-23 08:09:21.302 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Finished fetching e3dc_rscp data in 0.093 seconds (success: True)
2023-08-23 08:09:31.209 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Polling general status information
2023-08-23 08:09:31.293 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Poll power settings
2023-08-23 08:09:31.311 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Polling manual charge information
2023-08-23 08:09:31.318 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Skipping power metrics poll.
2023-08-23 08:09:31.318 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Finished fetching e3dc_rscp data in 0.109 seconds (success: True)
2023-08-23 08:09:41.209 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Polling general status information
2023-08-23 08:09:41.276 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Poll power settings
2023-08-23 08:09:41.284 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Polling manual charge information
2023-08-23 08:09:41.294 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Skipping power metrics poll.
2023-08-23 08:09:41.295 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Finished fetching e3dc_rscp data in 0.085 seconds (success: True)
2023-08-23 08:09:41.614 ERROR (MainThread) [aiohttp.server] Error handling request
Traceback (most recent call last):
  File "/usr/local/lib/python3.11/site-packages/aiohttp/web_protocol.py", line 433, in _handle_request
    resp = await request_handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/aiohttp/web_app.py", line 504, in _handle
    resp = await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/aiohttp/web_middlewares.py", line 117, in impl
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/security_filter.py", line 85, in security_filter_middleware
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/forwarded.py", line 100, in forwarded_middleware
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/request_context.py", line 28, in request_context_middleware
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/ban.py", line 80, in ban_middleware
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/auth.py", line 236, in auth_middleware
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/view.py", line 148, in handle
    result = await handler(request, **request.match_info)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/diagnostics/__init__.py", line 249, in get
    data = await info.config_entry_diagnostics(hass, config_entry)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/e3dc_rscp/diagnostics.py", line 33, in async_get_config_entry_diagnostics
    "get_batteries_data": e3dc.get_batteries_data(),
                          ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/e3dc/_e3dc.py", line 1408, in get_batteries_data
    self.get_battery_data(
  File "/usr/local/lib/python3.11/site-packages/e3dc/_e3dc.py", line 1324, in get_battery_data
    for sensor in range(0, sensorCount):
                  ^^^^^^^^^^^^^^^^^^^^^
TypeError: 'NoneType' object cannot be interpreted as an integer
2023-08-23 08:09:51.209 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Polling general status information
2023-08-23 08:09:51.279 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Poll power settings
2023-08-23 08:09:51.286 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Polling manual charge information
2023-08-23 08:09:51.296 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Skipping power metrics poll.
2023-08-23 08:09:51.296 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Finished fetching e3dc_rscp data in 0.087 seconds (success: True)
2023-08-23 08:10:01.210 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Polling general status information
2023-08-23 08:10:01.301 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Poll power settings
2023-08-23 08:10:01.310 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Polling manual charge information
2023-08-23 08:10:01.325 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Skipping power metrics poll.
2023-08-23 08:10:01.325 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Finished fetching e3dc_rscp data in 0.115 seconds (success: True)
2023-08-23 08:10:11.209 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Polling general status information
2023-08-23 08:10:11.283 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Poll power settings
2023-08-23 08:10:11.295 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Polling manual charge information
2023-08-23 08:10:11.306 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Polling today's power metrics
2023-08-23 08:10:11.306 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Midnight is 2023-08-23 00:00:00+02:00, DB query timestamp is 1692741600, applied offset: 7200
2023-08-23 08:10:11.306 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Midnight DB query timestamp is 1692748800, applied offset: 7200
2023-08-23 08:10:11.367 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Finished fetching e3dc_rscp data in 0.158 seconds (success: True)
2023-08-23 08:10:21.210 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Polling general status information
2023-08-23 08:10:21.278 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Poll power settings
2023-08-23 08:10:21.285 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Polling manual charge information
2023-08-23 08:10:21.296 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Skipping power metrics poll.
2023-08-23 08:10:21.296 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Finished fetching e3dc_rscp data in 0.086 seconds (success: True)
2023-08-23 08:10:31.210 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Polling general status information
2023-08-23 08:10:31.285 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Poll power settings
2023-08-23 08:10:31.295 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Polling manual charge information
2023-08-23 08:10:31.307 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Skipping power metrics poll.
2023-08-23 08:10:31.307 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Finished fetching e3dc_rscp data in 0.097 seconds (success: True)
2023-08-23 08:10:41.209 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Polling general status information
2023-08-23 08:10:41.274 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Poll power settings
2023-08-23 08:10:41.287 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Polling manual charge information
2023-08-23 08:10:41.297 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Skipping power metrics poll.
2023-08-23 08:10:41.297 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Finished fetching e3dc_rscp data in 0.089 seconds (success: True)
2023-08-23 08:10:51.209 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Polling general status information
2023-08-23 08:10:51.282 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Poll power settings
2023-08-23 08:10:51.295 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Polling manual charge information
2023-08-23 08:10:51.306 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Skipping power metrics poll.
2023-08-23 08:10:51.307 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Finished fetching e3dc_rscp data in 0.098 seconds (success: True)
2023-08-23 08:11:01.209 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Polling general status information
2023-08-23 08:11:01.286 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Poll power settings
2023-08-23 08:11:01.297 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Polling manual charge information
2023-08-23 08:11:01.308 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Skipping power metrics poll.
2023-08-23 08:11:01.308 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Finished fetching e3dc_rscp data in 0.100 seconds (success: True)
2023-08-23 08:11:12.761 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Polling general status information
2023-08-23 08:11:12.849 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Poll power settings
2023-08-23 08:11:12.861 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Polling manual charge information
2023-08-23 08:11:12.879 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Polling today's power metrics
2023-08-23 08:11:12.879 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Midnight is 2023-08-23 00:00:00+02:00, DB query timestamp is 1692741600, applied offset: 7200
2023-08-23 08:11:12.880 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Midnight DB query timestamp is 1692748800, applied offset: 7200
2023-08-23 08:11:12.928 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Finished fetching e3dc_rscp data in 0.167 seconds (success: True)

Diagnostics dump

Trying to download diagnostic info for this device I only get "unknown server error". Other devices work fine. Can't say if this is an integration or an upstream issue.

image

Wallbox support (configuration, switches and sensors)

Checklist

  • I have filled out the template to the best of my ability.
  • This only contains 1 feature request (if you have multiple feature requests, open one feature request for each feature request).
  • This issue is not a duplicate feature request of previous feature requests.

Is your feature request related to a problem? Please describe.

I would like to be able to configure my S10E Pro / Wallbox in order to be able to change the charging priorities wrt.:

  • solar use only
  • prioritisation of wallbox charging vs. battery charging
  • enabling use of battery for charging your electric vehicle

Describe the solution you'd like

When charging an electric vehicle I would like to be able to remotely change via RSCP the charging behaviour of my E3DC S10E Pro system, i.e. to

  • prioritise wallbox vs battery charging
  • enable/disable the draining of the battery for charging the electric vehicle (down to a certain SOC level - the E3DC UI offers this)
  • enable or disable solar use, i.e. the charging of the electric vehicle in "solar use" only will only charge if enough PV energy is available (or the battery use is enabled).

Screenshot of E3DC UI with those options is included in the screenshots.

The iOS "AutarkieManager" app (see one screenshot below) offers these 3 options in its RSCP extension pack. So I can remotely switch on/off those charging options. This would enable me to remote start/stop charging my car with PV energy and also enable automations to start/stop the charging based on SOC state and weather forecast.

Describe alternatives you've considered

None

Additional context

No response

Diagnostics dump

IMG_7501
IMG_7500
IMG_7493

Additional Sensor Total wrong values E3DC X20 PRO

System Health details

System Information

version core-2024.2.4
installation_type Home Assistant Supervised
dev false
hassio true
docker true
user root
virtualenv false
python_version 3.12.1
os_name Linux
os_version 5.10.0-21-amd64
arch x86_64
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 1402
Downloaded Repositories 5
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 Debian GNU/Linux 11 (bullseye)
update_channel stable
supervisor_version supervisor-2024.02.0
agent_version 1.4.1
docker_version 23.0.0
disk_total 232.2 GB
disk_used 14.9 GB
healthy true
supported true
supervisor_api ok
version_api ok
installed_addons Terminal & SSH (9.9.0), Studio Code Server (5.15.0)
Dashboards
dashboards 6
resources 1
views 39
mode storage
Recorder
oldest_recorder_run 19. Februar 2024 um 11:50
current_recorder_run 27. Februar 2024 um 15:45
estimated_db_size 1295.17 MiB
database_engine sqlite
database_version 3.44.2

Checklist

  • I have enabled debug logging for my installation.
  • I have filled out the issue template to the best of my ability.
  • This issue only contains 1 issue (if you have multiple issues, open one issue for each issue).
  • This issue is not a duplicate issue of currently previous issues..

Describe the issue

The Sensor sensor.s10x_additional_total provides values betweeen 0.007500 to 0.007535 during the day. The current addtional power sensor is working. Same as the other E3DC values.

Reproduction steps

Just set up an E3DC S20 PRO with Additional source

Debug logs

2024-02-27 15:45:52.743 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-02-27 15:45:52.743 WARNING (SyncWorker_0) [homeassistant.loader] We found a custom integration acthor 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-02-27 15:45:52.744 WARNING (SyncWorker_0) [homeassistant.loader] We found a custom integration homematicip_local 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-02-27 15:45:52.745 WARNING (SyncWorker_0) [homeassistant.loader] We found a custom integration e3dc_rscp 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-02-27 15:45:55.680 ERROR (MainThread) [homeassistant.helpers.translation] Validation of translation placeholders for localized (de) string component.homeassistant.issues.config_entry_reauth.title failed
2024-02-27 15:45:56.306 ERROR (MainThread) [homeassistant.helpers.translation] Validation of translation placeholders for localized (de) string component.jvc_projector.config.step.reauth_confirm.title failed
2024-02-27 15:45:56.307 ERROR (MainThread) [homeassistant.helpers.translation] Validation of translation placeholders for localized (de) string component.youtube.config.step.reauth_confirm.title failed
2024-02-27 15:45:56.307 ERROR (MainThread) [homeassistant.helpers.translation] Validation of translation placeholders for localized (de) string component.watttime.config.step.reauth_confirm.title failed
2024-02-27 15:45:56.308 ERROR (MainThread) [homeassistant.helpers.translation] Validation of translation placeholders for localized (de) string component.withings.config.step.reauth_confirm.title failed
2024-02-27 15:45:56.308 ERROR (MainThread) [homeassistant.helpers.translation] Validation of translation placeholders for localized (de) string component.laundrify.config.step.reauth_confirm.title failed
2024-02-27 15:45:56.308 ERROR (MainThread) [homeassistant.helpers.translation] Validation of translation placeholders for localized (de) string component.androidtv_remote.config.step.reauth_confirm.title failed
2024-02-27 15:45:56.308 ERROR (MainThread) [homeassistant.helpers.translation] Validation of translation placeholders for localized (de) string component.ring.config.step.reauth_confirm.title failed
2024-02-27 15:45:56.309 ERROR (MainThread) [homeassistant.helpers.translation] Validation of translation placeholders for localized (de) string component.aussie_broadband.config.step.reauth_confirm.title failed
2024-02-27 15:45:56.309 ERROR (MainThread) [homeassistant.helpers.translation] Validation of translation placeholders for localized (de) string component.aladdin_connect.config.step.reauth_confirm.title failed
2024-02-27 15:45:56.309 ERROR (MainThread) [homeassistant.helpers.translation] Validation of translation placeholders for localized (de) string component.skybell.config.step.reauth_confirm.title failed
2024-02-27 15:45:56.311 ERROR (MainThread) [homeassistant.helpers.translation] Validation of translation placeholders for localized (de) string component.tessie.config.step.reauth_confirm.title failed
2024-02-27 15:45:56.311 ERROR (MainThread) [homeassistant.helpers.translation] Validation of translation placeholders for localized (de) string component.tplink.config.step.reauth.title failed
2024-02-27 15:45:56.311 ERROR (MainThread) [homeassistant.helpers.translation] Validation of translation placeholders for localized (de) string component.tplink.config.step.reauth_confirm.title failed
2024-02-27 15:45:56.311 ERROR (MainThread) [homeassistant.helpers.translation] Validation of translation placeholders for localized (de) string component.pushover.config.step.reauth_confirm.title failed
2024-02-27 15:45:56.311 ERROR (MainThread) [homeassistant.helpers.translation] Validation of translation placeholders for localized (de) string component.opower.config.step.reauth_confirm.title failed
2024-02-27 15:45:56.312 ERROR (MainThread) [homeassistant.helpers.translation] Validation of translation placeholders for localized (de) string component.geocaching.config.step.reauth_confirm.title failed
2024-02-27 15:45:56.312 ERROR (MainThread) [homeassistant.helpers.translation] Validation of translation placeholders for localized (de) string component.caldav.config.step.reauth_confirm.title failed
2024-02-27 15:45:56.313 ERROR (MainThread) [homeassistant.helpers.translation] Validation of translation placeholders for localized (de) string component.melcloud.config.step.reauth_confirm.title failed
2024-02-27 15:45:56.313 ERROR (MainThread) [homeassistant.helpers.translation] Validation of translation placeholders for localized (de) string component.reolink.config.step.reauth_confirm.title failed
2024-02-27 15:45:56.313 ERROR (MainThread) [homeassistant.helpers.translation] Validation of translation placeholders for localized (de) string component.sense.config.step.reauth_validate.title failed
2024-02-27 15:45:56.314 ERROR (MainThread) [homeassistant.helpers.translation] Validation of translation placeholders for localized (de) string component.nest.config.step.reauth_confirm.title failed
2024-02-27 15:45:56.315 ERROR (MainThread) [homeassistant.helpers.translation] Validation of translation placeholders for localized (de) string component.huawei_lte.config.step.reauth_confirm.title failed
2024-02-27 15:45:56.315 ERROR (MainThread) [homeassistant.helpers.translation] Validation of translation placeholders for localized (de) string component.transmission.config.step.reauth_confirm.title failed
2024-02-27 15:45:56.315 ERROR (MainThread) [homeassistant.helpers.translation] Validation of translation placeholders for localized (de) string component.spotify.config.step.reauth_confirm.title failed
2024-02-27 15:45:56.315 ERROR (MainThread) [homeassistant.helpers.translation] Validation of translation placeholders for localized (de) string component.mikrotik.config.step.reauth_confirm.title failed
2024-02-27 15:45:56.316 ERROR (MainThread) [homeassistant.helpers.translation] Validation of translation placeholders for localized (de) string component.uptimerobot.config.step.reauth_confirm.title failed
2024-02-27 15:45:56.316 ERROR (MainThread) [homeassistant.helpers.translation] Validation of translation placeholders for localized (de) string component.google.config.step.reauth_confirm.title failed
2024-02-27 15:45:56.316 ERROR (MainThread) [homeassistant.helpers.translation] Validation of translation placeholders for localized (de) string component.litterrobot.config.step.reauth_confirm.title failed
2024-02-27 15:45:56.317 ERROR (MainThread) [homeassistant.helpers.translation] Validation of translation placeholders for localized (de) string component.electric_kiwi.config.step.reauth_confirm.title failed
2024-02-27 15:45:56.317 ERROR (MainThread) [homeassistant.helpers.translation] Validation of translation placeholders for localized (de) string component.xiaomi_miio.config.step.reauth_confirm.title failed
2024-02-27 15:45:56.317 ERROR (MainThread) [homeassistant.helpers.translation] Validation of translation placeholders for localized (de) string component.radarr.config.step.reauth_confirm.title failed
2024-02-27 15:45:56.317 ERROR (MainThread) [homeassistant.helpers.translation] Validation of translation placeholders for localized (de) string component.brunt.config.step.reauth_confirm.title failed
2024-02-27 15:45:56.317 ERROR (MainThread) [homeassistant.helpers.translation] Validation of translation placeholders for localized (de) string component.google_sheets.config.step.reauth_confirm.title failed
2024-02-27 15:45:56.317 ERROR (MainThread) [homeassistant.helpers.translation] Validation of translation placeholders for localized (de) string component.surepetcare.config.step.reauth_confirm.title failed
2024-02-27 15:45:56.318 ERROR (MainThread) [homeassistant.helpers.translation] Validation of translation placeholders for localized (de) string component.aosmith.config.step.reauth_confirm.title failed
2024-02-27 15:45:56.318 ERROR (MainThread) [homeassistant.helpers.translation] Validation of translation placeholders for localized (de) string component.nuki.config.step.reauth_confirm.title failed
2024-02-27 15:45:56.319 ERROR (MainThread) [homeassistant.helpers.translation] Validation of translation placeholders for localized (de) string component.bosch_shc.config.step.reauth_confirm.title failed
2024-02-27 15:45:56.319 ERROR (MainThread) [homeassistant.helpers.translation] Validation of translation placeholders for localized (de) string component.ridwell.config.step.reauth_confirm.title failed
2024-02-27 15:45:56.319 ERROR (MainThread) [homeassistant.helpers.translation] Validation of translation placeholders for localized (de) string component.jellyfin.config.step.reauth_confirm.title failed
2024-02-27 15:45:56.320 ERROR (MainThread) [homeassistant.helpers.translation] Validation of translation placeholders for localized (de) string component.sleepiq.config.step.reauth_confirm.title failed
2024-02-27 15:45:56.320 ERROR (MainThread) [homeassistant.helpers.translation] Validation of translation placeholders for localized (de) string component.yolink.config.step.reauth_confirm.title failed
2024-02-27 15:45:56.320 ERROR (MainThread) [homeassistant.helpers.translation] Validation of translation placeholders for localized (de) string component.lyric.config.step.reauth_confirm.title failed
2024-02-27 15:45:56.321 ERROR (MainThread) [homeassistant.helpers.translation] Validation of translation placeholders for localized (de) string component.totalconnect.config.step.reauth_confirm.title failed
2024-02-27 15:45:56.321 ERROR (MainThread) [homeassistant.helpers.translation] Validation of translation placeholders for localized (de) string component.smarttub.config.step.reauth_confirm.title failed
2024-02-27 15:45:56.322 ERROR (MainThread) [homeassistant.helpers.translation] Validation of translation placeholders for localized (de) string component.honeywell.config.step.reauth_confirm.title failed
2024-02-27 15:45:56.322 ERROR (MainThread) [homeassistant.helpers.translation] Validation of translation placeholders for localized (de) string component.openuv.config.step.reauth_confirm.title failed
2024-02-27 15:45:56.322 ERROR (MainThread) [homeassistant.helpers.translation] Validation of translation placeholders for localized (de) string component.netatmo.config.step.reauth_confirm.title failed
2024-02-27 15:45:56.323 ERROR (MainThread) [homeassistant.helpers.translation] Validation of translation placeholders for localized (de) string component.imap.config.step.reauth_confirm.title failed
2024-02-27 15:45:56.323 ERROR (MainThread) [homeassistant.helpers.translation] Validation of translation placeholders for localized (de) string component.myuplink.config.step.reauth_confirm.title failed
2024-02-27 15:45:56.323 ERROR (MainThread) [homeassistant.helpers.translation] Validation of translation placeholders for localized (de) string component.twitch.config.step.reauth_confirm.title failed
2024-02-27 15:45:56.323 ERROR (MainThread) [homeassistant.helpers.translation] Validation of translation placeholders for localized (de) string component.schlage.config.step.reauth_confirm.title failed
2024-02-27 15:45:56.324 ERROR (MainThread) [homeassistant.helpers.translation] Validation of translation placeholders for localized (de) string component.fitbit.config.step.reauth_confirm.title failed
2024-02-27 15:45:56.324 ERROR (MainThread) [homeassistant.helpers.translation] Validation of translation placeholders for localized (de) string component.renault.config.step.reauth_confirm.title failed
2024-02-27 15:45:56.325 ERROR (MainThread) [homeassistant.helpers.translation] Validation of translation placeholders for localized (de) string component.google_assistant_sdk.config.step.reauth_confirm.title failed
2024-02-27 15:45:56.325 ERROR (MainThread) [homeassistant.helpers.translation] Validation of translation placeholders for localized (de) string component.roborock.config.step.reauth_confirm.title failed
2024-02-27 15:45:56.325 ERROR (MainThread) [homeassistant.helpers.translation] Validation of translation placeholders for localized (de) string component.steam_online.config.step.reauth_confirm.title failed
2024-02-27 15:45:56.325 ERROR (MainThread) [homeassistant.helpers.translation] Validation of translation placeholders for localized (de) string component.sonarr.config.step.reauth_confirm.title failed
2024-02-27 15:45:56.326 ERROR (MainThread) [homeassistant.helpers.translation] Validation of translation placeholders for localized (de) string component.icloud.config.step.reauth_confirm.title failed
2024-02-27 15:45:56.326 ERROR (MainThread) [homeassistant.helpers.translation] Validation of translation placeholders for localized (de) string component.notion.config.step.reauth_confirm.title failed
2024-02-27 15:45:56.326 ERROR (MainThread) [homeassistant.helpers.translation] Validation of translation placeholders for localized (de) string component.lidarr.config.step.reauth_confirm.title failed
2024-02-27 15:45:56.327 ERROR (MainThread) [homeassistant.helpers.translation] Validation of translation placeholders for localized (de) string component.google_mail.config.step.reauth_confirm.title failed
2024-02-27 15:45:56.327 ERROR (MainThread) [homeassistant.helpers.translation] Validation of translation placeholders for localized (de) string component.fibaro.config.step.reauth_confirm.title failed
2024-02-27 15:45:56.327 ERROR (MainThread) [homeassistant.helpers.translation] Validation of translation placeholders for localized (de) string component.ezviz.config.step.reauth_confirm.title failed
2024-02-27 15:45:56.393 WARNING (MainThread) [homeassistant.components.modbus.validators] sensor E3DC Solar Power scan_interval(2) is lower than 5 seconds, which may cause Home Assistant stability issues
2024-02-27 15:45:56.393 WARNING (MainThread) [homeassistant.components.modbus.validators] sensor E3DC Battery Power scan_interval(2) is lower than 5 seconds, which may cause Home Assistant stability issues
2024-02-27 15:45:56.393 WARNING (MainThread) [homeassistant.components.modbus.validators] sensor E3DC Power Consumption House scan_interval(2) is lower than 5 seconds, which may cause Home Assistant stability issues
2024-02-27 15:45:56.393 WARNING (MainThread) [homeassistant.components.modbus.validators] sensor E3DC Grid Power scan_interval(2) is lower than 5 seconds, which may cause Home Assistant stability issues
2024-02-27 15:45:56.394 WARNING (MainThread) [homeassistant.components.modbus.validators] sensor E3DC External Power scan_interval(2) is lower than 5 seconds, which may cause Home Assistant stability issues
2024-02-27 15:45:56.394 WARNING (MainThread) [homeassistant.components.modbus.validators] Modbus e3dc timeout(3) is adjusted(1) due to scan_interval
2024-02-27 15:45:56.394 WARNING (MainThread) [homeassistant.components.modbus.modbus] `retry_on_empty`: is deprecated and will be removed in version 2024.4
2024-02-27 15:45:57.984 ERROR (MainThread) [homeassistant.components.binary_sensor] Platform knx does not generate unique IDs. ID 4/1/165 already exists - ignoring binary_sensor.mg149_2_6_konferenzraum_ost_rechts
2024-02-27 15:46:00.111 WARNING (MainThread) [xknx.log] Error: KNX bus did not respond in time (2.0 secs) to GroupValueRead request for: 0/1/0
2024-02-27 15:46:00.111 WARNING (MainThread) [xknx.log] Could not sync group address '0/1/0' (EMA Lebensbit - State)
2024-02-27 15:46:07.082 WARNING (MainThread) [xknx.log] Error: KNX bus did not respond in time (2.0 secs) to GroupValueRead request for: 3/1/6
2024-02-27 15:46:07.082 WARNING (MainThread) [xknx.log] Could not sync group address '3/1/6' (Klima 1.8 - Current temperature)
2024-02-27 15:46:24.629 WARNING (MainThread) [homeassistant.components.climate] Entity None (<class 'custom_components.homematicip_local.climate.HaHomematicClimate'>) implements HVACMode(s): auto, heat, off and therefore implicitly supports the turn_on/turn_off methods without setting the proper ClimateEntityFeature. Please create a bug report at https://github.com/danielperna84/hahomematic/issues
2024-02-27 15:46:24.632 WARNING (MainThread) [homeassistant.components.climate] Entity None (<class 'custom_components.homematicip_local.climate.HaHomematicClimate'>) implements HVACMode(s): auto, heat, off and therefore implicitly supports the turn_on/turn_off methods without setting the proper ClimateEntityFeature. Please create a bug report at https://github.com/danielperna84/hahomematic/issues
2024-02-27 15:46:24.635 WARNING (MainThread) [homeassistant.components.climate] Entity None (<class 'custom_components.homematicip_local.climate.HaHomematicClimate'>) implements HVACMode(s): auto, heat, off and therefore implicitly supports the turn_on/turn_off methods without setting the proper ClimateEntityFeature. Please create a bug report at https://github.com/danielperna84/hahomematic/issues
2024-02-27 15:46:24.638 WARNING (MainThread) [homeassistant.components.climate] Entity None (<class 'custom_components.homematicip_local.climate.HaHomematicClimate'>) implements HVACMode(s): auto, heat, off and therefore implicitly supports the turn_on/turn_off methods without setting the proper ClimateEntityFeature. Please create a bug report at https://github.com/danielperna84/hahomematic/issues
2024-02-27 15:46:24.641 WARNING (MainThread) [homeassistant.components.climate] Entity None (<class 'custom_components.homematicip_local.climate.HaHomematicClimate'>) implements HVACMode(s): auto, heat, off and therefore implicitly supports the turn_on/turn_off methods without setting the proper ClimateEntityFeature. Please create a bug report at https://github.com/danielperna84/hahomematic/issues
2024-02-27 15:46:24.644 WARNING (MainThread) [homeassistant.components.climate] Entity None (<class 'custom_components.homematicip_local.climate.HaHomematicClimate'>) implements HVACMode(s): auto, heat, off and therefore implicitly supports the turn_on/turn_off methods without setting the proper ClimateEntityFeature. Please create a bug report at https://github.com/danielperna84/hahomematic/issues
2024-02-27 15:46:24.646 WARNING (MainThread) [homeassistant.components.climate] Entity None (<class 'custom_components.homematicip_local.climate.HaHomematicClimate'>) implements HVACMode(s): auto, heat, off and therefore implicitly supports the turn_on/turn_off methods without setting the proper ClimateEntityFeature. Please create a bug report at https://github.com/danielperna84/hahomematic/issues
2024-02-27 15:46:24.649 WARNING (MainThread) [homeassistant.components.climate] Entity None (<class 'custom_components.homematicip_local.climate.HaHomematicClimate'>) implements HVACMode(s): auto, heat, off and therefore implicitly supports the turn_on/turn_off methods without setting the proper ClimateEntityFeature. Please create a bug report at https://github.com/danielperna84/hahomematic/issues
2024-02-27 15:46:24.652 WARNING (MainThread) [homeassistant.components.climate] Entity None (<class 'custom_components.homematicip_local.climate.HaHomematicClimate'>) implements HVACMode(s): auto, heat, off and therefore implicitly supports the turn_on/turn_off methods without setting the proper ClimateEntityFeature. Please create a bug report at https://github.com/danielperna84/hahomematic/issues
2024-02-27 15:46:24.654 WARNING (MainThread) [homeassistant.components.climate] Entity None (<class 'custom_components.homematicip_local.climate.HaHomematicClimate'>) implements HVACMode(s): auto, heat, off and therefore implicitly supports the turn_on/turn_off methods without setting the proper ClimateEntityFeature. Please create a bug report at https://github.com/danielperna84/hahomematic/issues
2024-02-27 15:46:24.657 WARNING (MainThread) [homeassistant.components.climate] Entity None (<class 'custom_components.homematicip_local.climate.HaHomematicClimate'>) implements HVACMode(s): auto, heat, off and therefore implicitly supports the turn_on/turn_off methods without setting the proper ClimateEntityFeature. Please create a bug report at https://github.com/danielperna84/hahomematic/issues
2024-02-27 15:46:24.659 WARNING (MainThread) [homeassistant.components.climate] Entity None (<class 'custom_components.homematicip_local.climate.HaHomematicClimate'>) implements HVACMode(s): auto, heat, off and therefore implicitly supports the turn_on/turn_off methods without setting the proper ClimateEntityFeature. Please create a bug report at https://github.com/danielperna84/hahomematic/issues
2024-02-27 15:46:24.662 WARNING (MainThread) [homeassistant.components.climate] Entity None (<class 'custom_components.homematicip_local.climate.HaHomematicClimate'>) implements HVACMode(s): auto, heat, off and therefore implicitly supports the turn_on/turn_off methods without setting the proper ClimateEntityFeature. Please create a bug report at https://github.com/danielperna84/hahomematic/issues
2024-02-27 15:46:24.665 WARNING (MainThread) [homeassistant.components.climate] Entity None (<class 'custom_components.homematicip_local.climate.HaHomematicClimate'>) implements HVACMode(s): auto, heat, off and therefore implicitly supports the turn_on/turn_off methods without setting the proper ClimateEntityFeature. Please create a bug report at https://github.com/danielperna84/hahomematic/issues
2024-02-27 15:46:24.667 WARNING (MainThread) [homeassistant.components.climate] Entity None (<class 'custom_components.homematicip_local.climate.HaHomematicClimate'>) implements HVACMode(s): auto, heat, off and therefore implicitly supports the turn_on/turn_off methods without setting the proper ClimateEntityFeature. Please create a bug report at https://github.com/danielperna84/hahomematic/issues
2024-02-27 15:46:24.670 WARNING (MainThread) [homeassistant.components.climate] Entity None (<class 'custom_components.homematicip_local.climate.HaHomematicClimate'>) implements HVACMode(s): auto, heat, off and therefore implicitly supports the turn_on/turn_off methods without setting the proper ClimateEntityFeature. Please create a bug report at https://github.com/danielperna84/hahomematic/issues
2024-02-27 15:46:24.672 WARNING (MainThread) [homeassistant.components.climate] Entity None (<class 'custom_components.homematicip_local.climate.HaHomematicClimate'>) implements HVACMode(s): auto, heat, off and therefore implicitly supports the turn_on/turn_off methods without setting the proper ClimateEntityFeature. Please create a bug report at https://github.com/danielperna84/hahomematic/issues
2024-02-27 15:46:24.675 WARNING (MainThread) [homeassistant.components.climate] Entity None (<class 'custom_components.homematicip_local.climate.HaHomematicClimate'>) implements HVACMode(s): auto, heat, off and therefore implicitly supports the turn_on/turn_off methods without setting the proper ClimateEntityFeature. Please create a bug report at https://github.com/danielperna84/hahomematic/issues
2024-02-27 15:46:24.677 WARNING (MainThread) [homeassistant.components.climate] Entity None (<class 'custom_components.homematicip_local.climate.HaHomematicClimate'>) implements HVACMode(s): auto, heat, off and therefore implicitly supports the turn_on/turn_off methods without setting the proper ClimateEntityFeature. Please create a bug report at https://github.com/danielperna84/hahomematic/issues
2024-02-27 15:46:24.680 WARNING (MainThread) [homeassistant.components.climate] Entity None (<class 'custom_components.homematicip_local.climate.HaHomematicClimate'>) implements HVACMode(s): auto, heat, off and therefore implicitly supports the turn_on/turn_off methods without setting the proper ClimateEntityFeature. Please create a bug report at https://github.com/danielperna84/hahomematic/issues
2024-02-27 15:46:24.683 WARNING (MainThread) [homeassistant.components.climate] Entity None (<class 'custom_components.homematicip_local.climate.HaHomematicClimate'>) implements HVACMode(s): auto, heat, off and therefore implicitly supports the turn_on/turn_off methods without setting the proper ClimateEntityFeature. Please create a bug report at https://github.com/danielperna84/hahomematic/issues
2024-02-27 15:46:24.685 WARNING (MainThread) [homeassistant.components.climate] Entity None (<class 'custom_components.homematicip_local.climate.HaHomematicClimate'>) implements HVACMode(s): auto, heat, off and therefore implicitly supports the turn_on/turn_off methods without setting the proper ClimateEntityFeature. Please create a bug report at https://github.com/danielperna84/hahomematic/issues
2024-02-27 15:46:24.688 WARNING (MainThread) [homeassistant.components.climate] Entity None (<class 'custom_components.homematicip_local.climate.HaHomematicClimate'>) implements HVACMode(s): auto, heat, off and therefore implicitly supports the turn_on/turn_off methods without setting the proper ClimateEntityFeature. Please create a bug report at https://github.com/danielperna84/hahomematic/issues
2024-02-27 15:46:24.690 WARNING (MainThread) [homeassistant.components.climate] Entity None (<class 'custom_components.homematicip_local.climate.HaHomematicClimate'>) implements HVACMode(s): auto, heat, off and therefore implicitly supports the turn_on/turn_off methods without setting the proper ClimateEntityFeature. Please create a bug report at https://github.com/danielperna84/hahomematic/issues
2024-02-27 15:46:24.693 WARNING (MainThread) [homeassistant.components.climate] Entity None (<class 'custom_components.homematicip_local.climate.HaHomematicClimate'>) implements HVACMode(s): auto, heat, off and therefore implicitly supports the turn_on/turn_off methods without setting the proper ClimateEntityFeature. Please create a bug report at https://github.com/danielperna84/hahomematic/issues
2024-02-27 15:46:24.695 WARNING (MainThread) [homeassistant.components.climate] Entity None (<class 'custom_components.homematicip_local.climate.HaHomematicClimate'>) implements HVACMode(s): auto, heat, off and therefore implicitly supports the turn_on/turn_off methods without setting the proper ClimateEntityFeature. Please create a bug report at https://github.com/danielperna84/hahomematic/issues
2024-02-27 15:46:24.698 WARNING (MainThread) [homeassistant.components.climate] Entity None (<class 'custom_components.homematicip_local.climate.HaHomematicClimate'>) implements HVACMode(s): auto, heat, off and therefore implicitly supports the turn_on/turn_off methods without setting the proper ClimateEntityFeature. Please create a bug report at https://github.com/danielperna84/hahomematic/issues
2024-02-27 15:46:24.700 WARNING (MainThread) [homeassistant.components.climate] Entity None (<class 'custom_components.homematicip_local.climate.HaHomematicClimate'>) implements HVACMode(s): auto, heat, off and therefore implicitly supports the turn_on/turn_off methods without setting the proper ClimateEntityFeature. Please create a bug report at https://github.com/danielperna84/hahomematic/issues
2024-02-27 15:46:37.951 ERROR (MainThread) [homeassistant] Error doing job: Exception in callback _OneTimeListener.async_call(<Event homeassistant_start[L]>)
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/sensor/__init__.py", line 669, in state
    numerical_value = float(value)  # type:ignore[arg-type]
                      ^^^^^^^^^^^^
ValueError: could not convert string to float: "{ states('sensor.e3dc_external_power') | float | abs }}"

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/local/lib/python3.12/asyncio/events.py", line 84, in _run
    self._context.run(self._callback, *self._args)
  File "/usr/src/homeassistant/homeassistant/core.py", line 1170, in async_call
    self.hass.async_run_job(self.listener, event)
  File "/usr/src/homeassistant/homeassistant/core.py", line 748, in async_run_job
    return self.async_run_hass_job(HassJob(target), *args)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/core.py", line 700, in async_run_hass_job
    hassjob.target(*args)
  File "/usr/src/homeassistant/homeassistant/helpers/start.py", line 40, in _matched_event
    hass.async_run_hass_job(at_start_job, hass)
  File "/usr/src/homeassistant/homeassistant/core.py", line 700, in async_run_hass_job
    hassjob.target(*args)
  File "/usr/src/homeassistant/homeassistant/components/template/template_entity.py", line 486, in _async_template_startup
    result_info.async_refresh()
  File "/usr/src/homeassistant/homeassistant/helpers/event.py", line 1035, in async_refresh
    self._refresh(None)
  File "/usr/src/homeassistant/homeassistant/helpers/event.py", line 1215, in _refresh
    self.hass.async_run_hass_job(self._job, event, updates)
  File "/usr/src/homeassistant/homeassistant/core.py", line 700, in async_run_hass_job
    hassjob.target(*args)
  File "/usr/src/homeassistant/homeassistant/components/template/template_entity.py", line 434, in _handle_results
    self.async_write_ha_state()
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 989, in async_write_ha_state
    self._async_write_ha_state()
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1110, in _async_write_ha_state
    state, attr, capabilities, shadowed_attr = self.__async_calculate_state()
                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 1047, in __async_calculate_state
    state = self._stringify_state(available)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 995, in _stringify_state
    if (state := self.state) is None:
                 ^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/sensor/__init__.py", line 671, in state
    raise ValueError(
ValueError: Sensor sensor.e3dc_external_power_2 has device class 'None', state class 'None' unit 'W' and suggested precision 'None' thus indicating it has a numeric value; however, it has the non-numeric value: '{ states('sensor.e3dc_external_power') | float | abs }}' (<class 'str'>)
2024-02-27 15:50:10.424 WARNING (Recorder) [homeassistant.components.sensor.recorder] The unit of sensor.e3dc_battery_charge_daily_energy (kWh) cannot be converted to the unit of previously compiled statistics (None). Generation of long term statistics will be suppressed unless the unit changes back to None or a compatible unit. Go to https://my.home-assistant.io/redirect/developer_statistics to fix this
2024-02-27 15:50:10.424 WARNING (Recorder) [homeassistant.components.sensor.recorder] The unit of sensor.e3dc_battery_discharge_daily_energy (kWh) cannot be converted to the unit of previously compiled statistics (None). Generation of long term statistics will be suppressed unless the unit changes back to None or a compatible unit. Go to https://my.home-assistant.io/redirect/developer_statistics to fix this
2024-02-27 15:50:26.183 WARNING (MainThread) [homeassistant.components.template.template_entity] Template loop detected while processing event: <Event state_changed[L]: entity_id=sensor.e3dc_battery_charge_power, old_state=<state sensor.e3dc_battery_charge_power=264.0; unit_of_measurement=W, device_class=power, friendly_name=E3DC Battery Charging Power @ 2024-02-27T15:50:26.179573+01:00>, new_state=<state sensor.e3dc_battery_charge_power=237.0; unit_of_measurement=W, device_class=power, friendly_name=E3DC Battery Charging Power @ 2024-02-27T15:50:26.181866+01:00>>, skipping template render for Template[{% set power = states('sensor.e3dc_battery_power') | float(0) %} {% if power >= 0 %}
  {{ power }}
{% else %}
  {% set charge_power = states('sensor.e3dc_battery_charge_power') | float(0) + power %}
  {{ charge_power if charge_power > 0 else 0 }}
{% endif %}]
2024-02-27 15:52:08.271 WARNING (MainThread) [homeassistant.components.template.template_entity] Template loop detected while processing event: <Event state_changed[L]: entity_id=sensor.e3dc_battery_charge_power, old_state=<state sensor.e3dc_battery_charge_power=114.0; unit_of_measurement=W, device_class=power, friendly_name=E3DC Battery Charging Power @ 2024-02-27T15:52:08.267922+01:00>, new_state=<state sensor.e3dc_battery_charge_power=42.0; unit_of_measurement=W, device_class=power, friendly_name=E3DC Battery Charging Power @ 2024-02-27T15:52:08.270170+01:00>>, skipping template render for Template[{% set power = states('sensor.e3dc_battery_power') | float(0) %} {% if power >= 0 %}
  {{ power }}
{% else %}
  {% set charge_power = states('sensor.e3dc_battery_charge_power') | float(0) + power %}
  {{ charge_power if charge_power > 0 else 0 }}
{% endif %}]
2024-02-27 15:53:06.325 WARNING (MainThread) [homeassistant.components.template.template_entity] Template loop detected while processing event: <Event state_changed[L]: entity_id=sensor.e3dc_battery_charge_power, old_state=<state sensor.e3dc_battery_charge_power=33.0; unit_of_measurement=W, device_class=power, friendly_name=E3DC Battery Charging Power @ 2024-02-27T15:53:06.322510+01:00>, new_state=<state sensor.e3dc_battery_charge_power=21.0; unit_of_measurement=W, device_class=power, friendly_name=E3DC Battery Charging Power @ 2024-02-27T15:53:06.324830+01:00>>, skipping template render for Template[{% set power = states('sensor.e3dc_battery_power') | float(0) %} {% if power >= 0 %}
  {{ power }}
{% else %}
  {% set charge_power = states('sensor.e3dc_battery_charge_power') | float(0) + power %}
  {{ charge_power if charge_power > 0 else 0 }}
{% endif %}]
2024-02-27 15:53:22.337 WARNING (MainThread) [homeassistant.components.template.template_entity] Template loop detected while processing event: <Event state_changed[L]: entity_id=sensor.e3dc_battery_charge_power, old_state=<state sensor.e3dc_battery_charge_power=33.0; unit_of_measurement=W, device_class=power, friendly_name=E3DC Battery Charging Power @ 2024-02-27T15:53:22.333291+01:00>, new_state=<state sensor.e3dc_battery_charge_power=15.0; unit_of_measurement=W, device_class=power, friendly_name=E3DC Battery Charging Power @ 2024-02-27T15:53:22.334881+01:00>>, skipping template render for Template[{% set power = states('sensor.e3dc_battery_power') | float(0) %} {% if power >= 0 %}
  {{ power }}
{% else %}
  {% set charge_power = states('sensor.e3dc_battery_charge_power') | float(0) + power %}
  {{ charge_power if charge_power > 0 else 0 }}
{% endif %}]
2024-02-27 15:53:24.336 WARNING (MainThread) [homeassistant.components.template.template_entity] Template loop detected while processing event: <Event state_changed[L]: entity_id=sensor.e3dc_battery_charge_power, old_state=<state sensor.e3dc_battery_charge_power=12.0; unit_of_measurement=W, device_class=power, friendly_name=E3DC Battery Charging Power @ 2024-02-27T15:53:24.332937+01:00>, new_state=<state sensor.e3dc_battery_charge_power=9.0; unit_of_measurement=W, device_class=power, friendly_name=E3DC Battery Charging Power @ 2024-02-27T15:53:24.335143+01:00>>, skipping template render for Template[{% set power = states('sensor.e3dc_battery_power') | float(0) %} {% if power >= 0 %}
  {{ power }}
{% else %}
  {% set charge_power = states('sensor.e3dc_battery_charge_power') | float(0) + power %}
  {{ charge_power if charge_power > 0 else 0 }}
{% endif %}]
2024-02-27 16:12:25.291 WARNING (MainThread) [homeassistant.components.template.template_entity] Template loop detected while processing event: <Event state_changed[L]: entity_id=sensor.e3dc_battery_charge_power, old_state=<state sensor.e3dc_battery_charge_power=219.0; unit_of_measurement=W, device_class=power, friendly_name=E3DC Battery Charging Power @ 2024-02-27T16:12:25.288303+01:00>, new_state=<state sensor.e3dc_battery_charge_power=201.0; unit_of_measurement=W, device_class=power, friendly_name=E3DC Battery Charging Power @ 2024-02-27T16:12:25.291035+01:00>>, skipping template render for Template[{% set power = states('sensor.e3dc_battery_power') | float(0) %} {% if power >= 0 %}
  {{ power }}
{% else %}
  {% set charge_power = states('sensor.e3dc_battery_charge_power') | float(0) + power %}
  {{ charge_power if charge_power > 0 else 0 }}
{% endif %}]
2024-02-27 16:25:31.936 WARNING (MainThread) [homeassistant.components.template.template_entity] Template loop detected while processing event: <Event state_changed[L]: entity_id=sensor.e3dc_battery_charge_power, old_state=<state sensor.e3dc_battery_charge_power=48.0; unit_of_measurement=W, device_class=power, friendly_name=E3DC Battery Charging Power @ 2024-02-27T16:25:31.935202+01:00>, new_state=<state sensor.e3dc_battery_charge_power=45.0; unit_of_measurement=W, device_class=power, friendly_name=E3DC Battery Charging Power @ 2024-02-27T16:25:31.936222+01:00>>, skipping template render for Template[{% set power = states('sensor.e3dc_battery_power') | float(0) %} {% if power >= 0 %}
  {{ power }}
{% else %}
  {% set charge_power = states('sensor.e3dc_battery_charge_power') | float(0) + power %}
  {{ charge_power if charge_power > 0 else 0 }}
{% endif %}]
2024-02-27 16:25:51.946 WARNING (MainThread) [homeassistant.components.template.template_entity] Template loop detected while processing event: <Event state_changed[L]: entity_id=sensor.e3dc_battery_charge_power, old_state=<state sensor.e3dc_battery_charge_power=27.0; unit_of_measurement=W, device_class=power, friendly_name=E3DC Battery Charging Power @ 2024-02-27T16:25:51.944755+01:00>, new_state=<state sensor.e3dc_battery_charge_power=24.0; unit_of_measurement=W, device_class=power, friendly_name=E3DC Battery Charging Power @ 2024-02-27T16:25:51.945769+01:00>>, skipping template render for Template[{% set power = states('sensor.e3dc_battery_power') | float(0) %} {% if power >= 0 %}
  {{ power }}
{% else %}
  {% set charge_power = states('sensor.e3dc_battery_charge_power') | float(0) + power %}
  {{ charge_power if charge_power > 0 else 0 }}
{% endif %}]
2024-02-27 16:33:30.343 WARNING (MainThread) [homeassistant.components.template.template_entity] Template loop detected while processing event: <Event state_changed[L]: entity_id=sensor.e3dc_battery_charge_power, old_state=<state sensor.e3dc_battery_charge_power=279.0; unit_of_measurement=W, device_class=power, friendly_name=E3DC Battery Charging Power @ 2024-02-27T16:33:30.341404+01:00>, new_state=<state sensor.e3dc_battery_charge_power=261.0; unit_of_measurement=W, device_class=power, friendly_name=E3DC Battery Charging Power @ 2024-02-27T16:33:30.342508+01:00>>, skipping template render for Template[{% set power = states('sensor.e3dc_battery_power') | float(0) %} {% if power >= 0 %}
  {{ power }}
{% else %}
  {% set charge_power = states('sensor.e3dc_battery_charge_power') | float(0) + power %}
  {{ charge_power if charge_power > 0 else 0 }}
{% endif %}]
2024-02-27 16:36:00.472 WARNING (MainThread) [homeassistant.components.template.template_entity] Template loop detected while processing event: <Event state_changed[L]: entity_id=sensor.e3dc_battery_charge_power, old_state=<state sensor.e3dc_battery_charge_power=249.0; unit_of_measurement=W, device_class=power, friendly_name=E3DC Battery Charging Power @ 2024-02-27T16:36:00.470492+01:00>, new_state=<state sensor.e3dc_battery_charge_power=222.0; unit_of_measurement=W, device_class=power, friendly_name=E3DC Battery Charging Power @ 2024-02-27T16:36:00.471629+01:00>>, skipping template render for Template[{% set power = states('sensor.e3dc_battery_power') | float(0) %} {% if power >= 0 %}
  {{ power }}
{% else %}
  {% set charge_power = states('sensor.e3dc_battery_charge_power') | float(0) + power %}
  {{ charge_power if charge_power > 0 else 0 }}
{% endif %}]
2024-02-27 16:41:02.714 WARNING (MainThread) [homeassistant.components.template.template_entity] Template loop detected while processing event: <Event state_changed[L]: entity_id=sensor.e3dc_battery_charge_power, old_state=<state sensor.e3dc_battery_charge_power=345.0; unit_of_measurement=W, device_class=power, friendly_name=E3DC Battery Charging Power @ 2024-02-27T16:41:02.712251+01:00>, new_state=<state sensor.e3dc_battery_charge_power=303.0; unit_of_measurement=W, device_class=power, friendly_name=E3DC Battery Charging Power @ 2024-02-27T16:41:02.713372+01:00>>, skipping template render for Template[{% set power = states('sensor.e3dc_battery_power') | float(0) %} {% if power >= 0 %}
  {{ power }}
{% else %}
  {% set charge_power = states('sensor.e3dc_battery_charge_power') | float(0) + power %}
  {{ charge_power if charge_power > 0 else 0 }}
{% endif %}]
2024-02-27 16:42:20.788 WARNING (MainThread) [homeassistant.components.template.template_entity] Template loop detected while processing event: <Event state_changed[L]: entity_id=sensor.e3dc_battery_charge_power, old_state=<state sensor.e3dc_battery_charge_power=63.0; unit_of_measurement=W, device_class=power, friendly_name=E3DC Battery Charging Power @ 2024-02-27T16:42:20.786159+01:00>, new_state=<state sensor.e3dc_battery_charge_power=60.0; unit_of_measurement=W, device_class=power, friendly_name=E3DC Battery Charging Power @ 2024-02-27T16:42:20.787360+01:00>>, skipping template render for Template[{% set power = states('sensor.e3dc_battery_power') | float(0) %} {% if power >= 0 %}
  {{ power }}
{% else %}
  {% set charge_power = states('sensor.e3dc_battery_charge_power') | float(0) + power %}
  {{ charge_power if charge_power > 0 else 0 }}
{% endif %}]
2024-02-27 16:42:24.786 WARNING (MainThread) [homeassistant.components.template.template_entity] Template loop detected while processing event: <Event state_changed[L]: entity_id=sensor.e3dc_battery_charge_power, old_state=<state sensor.e3dc_battery_charge_power=6.0; unit_of_measurement=W, device_class=power, friendly_name=E3DC Battery Charging Power @ 2024-02-27T16:42:24.784695+01:00>, new_state=<state sensor.e3dc_battery_charge_power=3.0; unit_of_measurement=W, device_class=power, friendly_name=E3DC Battery Charging Power @ 2024-02-27T16:42:24.785724+01:00>>, skipping template render for Template[{% set power = states('sensor.e3dc_battery_power') | float(0) %} {% if power >= 0 %}
  {{ power }}
{% else %}
  {% set charge_power = states('sensor.e3dc_battery_charge_power') | float(0) + power %}
  {{ charge_power if charge_power > 0 else 0 }}
{% endif %}]
2024-02-27 16:42:32.797 WARNING (MainThread) [homeassistant.components.template.template_entity] Template loop detected while processing event: <Event state_changed[L]: entity_id=sensor.e3dc_battery_charge_power, old_state=<state sensor.e3dc_battery_charge_power=33.0; unit_of_measurement=W, device_class=power, friendly_name=E3DC Battery Charging Power @ 2024-02-27T16:42:32.795547+01:00>, new_state=<state sensor.e3dc_battery_charge_power=30.0; unit_of_measurement=W, device_class=power, friendly_name=E3DC Battery Charging Power @ 2024-02-27T16:42:32.796691+01:00>>, skipping template render for Template[{% set power = states('sensor.e3dc_battery_power') | float(0) %} {% if power >= 0 %}
  {{ power }}
{% else %}
  {% set charge_power = states('sensor.e3dc_battery_charge_power') | float(0) + power %}
  {{ charge_power if charge_power > 0 else 0 }}
{% endif %}]
2024-02-27 16:46:09.086 WARNING (MainThread) [xknx.log] Error: KNX bus did not respond in time (2.0 secs) to GroupValueRead request for: 3/1/6
2024-02-27 16:46:09.086 WARNING (MainThread) [xknx.log] Could not sync group address '3/1/6' (Klima 1.8 - Current temperature)
2024-02-27 16:54:55.404 WARNING (MainThread) [homeassistant.components.template.template_entity] Template loop detected while processing event: <Event state_changed[L]: entity_id=sensor.e3dc_battery_charge_power, old_state=<state sensor.e3dc_battery_charge_power=63.0; unit_of_measurement=W, device_class=power, friendly_name=E3DC Battery Charging Power @ 2024-02-27T16:54:55.402541+01:00>, new_state=<state sensor.e3dc_battery_charge_power=36.0; unit_of_measurement=W, device_class=power, friendly_name=E3DC Battery Charging Power @ 2024-02-27T16:54:55.403654+01:00>>, skipping template render for Template[{% set power = states('sensor.e3dc_battery_power') | float(0) %} {% if power >= 0 %}
  {{ power }}
{% else %}
  {% set charge_power = states('sensor.e3dc_battery_charge_power') | float(0) + power %}
  {{ charge_power if charge_power > 0 else 0 }}
{% endif %}]
2024-02-27 17:46:11.091 WARNING (MainThread) [xknx.log] Error: KNX bus did not respond in time (2.0 secs) to GroupValueRead request for: 3/1/6
2024-02-27 17:46:11.091 WARNING (MainThread) [xknx.log] Could not sync group address '3/1/6' (Klima 1.8 - Current temperature)
2024-02-27 18:46:13.095 WARNING (MainThread) [xknx.log] Error: KNX bus did not respond in time (2.0 secs) to GroupValueRead request for: 3/1/6
2024-02-27 18:46:13.095 WARNING (MainThread) [xknx.log] Could not sync group address '3/1/6' (Klima 1.8 - Current temperature)
2024-02-27 19:46:15.099 WARNING (MainThread) [xknx.log] Error: KNX bus did not respond in time (2.0 secs) to GroupValueRead request for: 3/1/6
2024-02-27 19:46:15.099 WARNING (MainThread) [xknx.log] Could not sync group address '3/1/6' (Klima 1.8 - Current temperature)
2024-02-27 20:46:17.105 WARNING (MainThread) [xknx.log] Error: KNX bus did not respond in time (2.0 secs) to GroupValueRead request for: 3/1/6
2024-02-27 20:46:17.105 WARNING (MainThread) [xknx.log] Could not sync group address '3/1/6' (Klima 1.8 - Current temperature)
2024-02-27 21:46:19.109 WARNING (MainThread) [xknx.log] Error: KNX bus did not respond in time (2.0 secs) to GroupValueRead request for: 3/1/6
2024-02-27 21:46:19.109 WARNING (MainThread) [xknx.log] Could not sync group address '3/1/6' (Klima 1.8 - Current temperature)
2024-02-27 22:39:20.993 WARNING (MainThread) [homeassistant.components.template.template_entity] Template loop detected while processing event: <Event state_changed[L]: entity_id=sensor.e3dc_battery_charge_power, old_state=<state sensor.e3dc_battery_charge_power=882.0; unit_of_measurement=W, device_class=power, friendly_name=E3DC Battery Charging Power @ 2024-02-27T22:39:20.992088+01:00>, new_state=<state sensor.e3dc_battery_charge_power=870.0; unit_of_measurement=W, device_class=power, friendly_name=E3DC Battery Charging Power @ 2024-02-27T22:39:20.992920+01:00>>, skipping template render for Template[{% set power = states('sensor.e3dc_battery_power') | float(0) %} {% if power >= 0 %}
  {{ power }}
{% else %}
  {% set charge_power = states('sensor.e3dc_battery_charge_power') | float(0) + power %}
  {{ charge_power if charge_power > 0 else 0 }}
{% endif %}]
2024-02-27 22:39:45.004 WARNING (MainThread) [homeassistant.components.template.template_entity] Template loop detected while processing event: <Event state_changed[L]: entity_id=sensor.e3dc_battery_charge_power, old_state=<state sensor.e3dc_battery_charge_power=843.0; unit_of_measurement=W, device_class=power, friendly_name=E3DC Battery Charging Power @ 2024-02-27T22:39:45.003104+01:00>, new_state=<state sensor.e3dc_battery_charge_power=816.0; unit_of_measurement=W, device_class=power, friendly_name=E3DC Battery Charging Power @ 2024-02-27T22:39:45.003884+01:00>>, skipping template render for Template[{% set power = states('sensor.e3dc_battery_power') | float(0) %} {% if power >= 0 %}
  {{ power }}
{% else %}
  {% set charge_power = states('sensor.e3dc_battery_charge_power') | float(0) + power %}
  {{ charge_power if charge_power > 0 else 0 }}
{% endif %}]
2024-02-27 22:39:47.012 WARNING (MainThread) [homeassistant.components.template.template_entity] Template loop detected while processing event: <Event state_changed[L]: entity_id=sensor.e3dc_battery_charge_power, old_state=<state sensor.e3dc_battery_charge_power=804.0; unit_of_measurement=W, device_class=power, friendly_name=E3DC Battery Charging Power @ 2024-02-27T22:39:47.010466+01:00>, new_state=<state sensor.e3dc_battery_charge_power=792.0; unit_of_measurement=W, device_class=power, friendly_name=E3DC Battery Charging Power @ 2024-02-27T22:39:47.011300+01:00>>, skipping template render for Template[{% set power = states('sensor.e3dc_battery_power') | float(0) %} {% if power >= 0 %}
  {{ power }}
{% else %}
  {% set charge_power = states('sensor.e3dc_battery_charge_power') | float(0) + power %}
  {{ charge_power if charge_power > 0 else 0 }}
{% endif %}]
2024-02-27 22:46:21.114 WARNING (MainThread) [xknx.log] Error: KNX bus did not respond in time (2.0 secs) to GroupValueRead request for: 3/1/6
2024-02-27 22:46:21.114 WARNING (MainThread) [xknx.log] Could not sync group address '3/1/6' (Klima 1.8 - Current temperature)
2024-02-27 23:46:23.117 WARNING (MainThread) [xknx.log] Error: KNX bus did not respond in time (2.0 secs) to GroupValueRead request for: 3/1/6
2024-02-27 23:46:23.118 WARNING (MainThread) [xknx.log] Could not sync group address '3/1/6' (Klima 1.8 - Current temperature)
2024-02-28 00:00:13.087 ERROR (SyncWorker_2) [custom_components.e3dc_rscp.e3dc_proxy] Communication error with E3DC: Max retries reached
Traceback (most recent call last):
  File "/usr/local/lib/python3.12/site-packages/e3dc/_e3dc.py", line 226, in sendRequest
    result = self.rscp.sendRequest(request)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/e3dc/_e3dc_rscp_local.py", line 117, in sendRequest
    raise CommunicationError(receive[2])
e3dc._e3dc_rscp_local.CommunicationError: UNKNOWN

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/config/custom_components/e3dc_rscp/e3dc_proxy.py", line 29, in wrapper_handle_e3dc_ex
    return func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/e3dc_rscp/e3dc_proxy.py", line 116, in get_db_data
    return self.e3dc.get_db_data_timestamp(timestamp, timespan_seconds, True)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/e3dc/_e3dc.py", line 710, in get_db_data_timestamp
    response = self.sendRequest(
               ^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/e3dc/_e3dc.py", line 237, in sendRequest
    raise SendError("Max retries reached")
e3dc._e3dc.SendError: Max retries reached
2024-02-28 00:00:13.092 ERROR (MainThread) [custom_components.e3dc_rscp.coordinator] Unexpected error fetching e3dc_rscp data: Communication Failure: Failed to send data
Traceback (most recent call last):
  File "/usr/local/lib/python3.12/site-packages/e3dc/_e3dc.py", line 226, in sendRequest
    result = self.rscp.sendRequest(request)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/e3dc/_e3dc_rscp_local.py", line 117, in sendRequest
    raise CommunicationError(receive[2])
e3dc._e3dc_rscp_local.CommunicationError: UNKNOWN

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/config/custom_components/e3dc_rscp/e3dc_proxy.py", line 29, in wrapper_handle_e3dc_ex
    return func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/e3dc_rscp/e3dc_proxy.py", line 116, in get_db_data
    return self.e3dc.get_db_data_timestamp(timestamp, timespan_seconds, True)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/e3dc/_e3dc.py", line 710, in get_db_data_timestamp
    response = self.sendRequest(
               ^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/e3dc/_e3dc.py", line 237, in sendRequest
    raise SendError("Max retries reached")
e3dc._e3dc.SendError: Max retries reached

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 313, in _async_refresh
    self.data = await self._async_update_data()
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/e3dc_rscp/coordinator.py", line 169, in _async_update_data
    db_data_today: dict[str, Any] = await self.hass.async_add_executor_job(
                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/concurrent/futures/thread.py", line 58, in run
    result = self.fn(*self.args, **self.kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/e3dc_rscp/e3dc_proxy.py", line 37, in wrapper_handle_e3dc_ex
    raise HomeAssistantError(
homeassistant.exceptions.HomeAssistantError: Communication Failure: Failed to send data
2024-02-28 00:00:23.145 ERROR (SyncWorker_31) [custom_components.e3dc_rscp.e3dc_proxy] Communication error with E3DC: Max retries reached
Traceback (most recent call last):
  File "/usr/local/lib/python3.12/site-packages/e3dc/_e3dc.py", line 226, in sendRequest
    result = self.rscp.sendRequest(request)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/e3dc/_e3dc_rscp_local.py", line 117, in sendRequest
    raise CommunicationError(receive[2])
e3dc._e3dc_rscp_local.CommunicationError: UNKNOWN

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/config/custom_components/e3dc_rscp/e3dc_proxy.py", line 29, in wrapper_handle_e3dc_ex
    return func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/e3dc_rscp/e3dc_proxy.py", line 116, in get_db_data
    return self.e3dc.get_db_data_timestamp(timestamp, timespan_seconds, True)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/e3dc/_e3dc.py", line 710, in get_db_data_timestamp
    response = self.sendRequest(
               ^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/e3dc/_e3dc.py", line 237, in sendRequest
    raise SendError("Max retries reached")
e3dc._e3dc.SendError: Max retries reached
2024-02-28 00:00:23.150 ERROR (MainThread) [custom_components.e3dc_rscp.coordinator] Unexpected error fetching e3dc_rscp data: Communication Failure: Failed to send data
Traceback (most recent call last):
  File "/usr/local/lib/python3.12/site-packages/e3dc/_e3dc.py", line 226, in sendRequest
    result = self.rscp.sendRequest(request)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/e3dc/_e3dc_rscp_local.py", line 117, in sendRequest
    raise CommunicationError(receive[2])
e3dc._e3dc_rscp_local.CommunicationError: UNKNOWN

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/config/custom_components/e3dc_rscp/e3dc_proxy.py", line 29, in wrapper_handle_e3dc_ex
    return func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/e3dc_rscp/e3dc_proxy.py", line 116, in get_db_data
    return self.e3dc.get_db_data_timestamp(timestamp, timespan_seconds, True)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/e3dc/_e3dc.py", line 710, in get_db_data_timestamp
    response = self.sendRequest(
               ^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/e3dc/_e3dc.py", line 237, in sendRequest
    raise SendError("Max retries reached")
e3dc._e3dc.SendError: Max retries reached

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 313, in _async_refresh
    self.data = await self._async_update_data()
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/e3dc_rscp/coordinator.py", line 169, in _async_update_data
    db_data_today: dict[str, Any] = await self.hass.async_add_executor_job(
                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/concurrent/futures/thread.py", line 58, in run
    result = self.fn(*self.args, **self.kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/e3dc_rscp/e3dc_proxy.py", line 37, in wrapper_handle_e3dc_ex
    raise HomeAssistantError(
homeassistant.exceptions.HomeAssistantError: Communication Failure: Failed to send data
2024-02-28 00:00:33.259 ERROR (SyncWorker_13) [custom_components.e3dc_rscp.e3dc_proxy] Communication error with E3DC: Max retries reached
Traceback (most recent call last):
  File "/usr/local/lib/python3.12/site-packages/e3dc/_e3dc.py", line 226, in sendRequest
    result = self.rscp.sendRequest(request)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/e3dc/_e3dc_rscp_local.py", line 117, in sendRequest
    raise CommunicationError(receive[2])
e3dc._e3dc_rscp_local.CommunicationError: UNKNOWN

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/config/custom_components/e3dc_rscp/e3dc_proxy.py", line 29, in wrapper_handle_e3dc_ex
    return func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/e3dc_rscp/e3dc_proxy.py", line 116, in get_db_data
    return self.e3dc.get_db_data_timestamp(timestamp, timespan_seconds, True)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/e3dc/_e3dc.py", line 710, in get_db_data_timestamp
    response = self.sendRequest(
               ^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/e3dc/_e3dc.py", line 237, in sendRequest
    raise SendError("Max retries reached")
e3dc._e3dc.SendError: Max retries reached
2024-02-28 00:00:33.263 ERROR (MainThread) [custom_components.e3dc_rscp.coordinator] Unexpected error fetching e3dc_rscp data: Communication Failure: Failed to send data
Traceback (most recent call last):
  File "/usr/local/lib/python3.12/site-packages/e3dc/_e3dc.py", line 226, in sendRequest
    result = self.rscp.sendRequest(request)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/e3dc/_e3dc_rscp_local.py", line 117, in sendRequest
    raise CommunicationError(receive[2])
e3dc._e3dc_rscp_local.CommunicationError: UNKNOWN

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/config/custom_components/e3dc_rscp/e3dc_proxy.py", line 29, in wrapper_handle_e3dc_ex
    return func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/e3dc_rscp/e3dc_proxy.py", line 116, in get_db_data
    return self.e3dc.get_db_data_timestamp(timestamp, timespan_seconds, True)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/e3dc/_e3dc.py", line 710, in get_db_data_timestamp
    response = self.sendRequest(
               ^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/e3dc/_e3dc.py", line 237, in sendRequest
    raise SendError("Max retries reached")
e3dc._e3dc.SendError: Max retries reached

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 313, in _async_refresh
    self.data = await self._async_update_data()
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/e3dc_rscp/coordinator.py", line 169, in _async_update_data
    db_data_today: dict[str, Any] = await self.hass.async_add_executor_job(
                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/concurrent/futures/thread.py", line 58, in run
    result = self.fn(*self.args, **self.kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/e3dc_rscp/e3dc_proxy.py", line 37, in wrapper_handle_e3dc_ex
    raise HomeAssistantError(
homeassistant.exceptions.HomeAssistantError: Communication Failure: Failed to send data
2024-02-28 00:00:43.108 ERROR (SyncWorker_17) [custom_components.e3dc_rscp.e3dc_proxy] Communication error with E3DC: Max retries reached
Traceback (most recent call last):
  File "/usr/local/lib/python3.12/site-packages/e3dc/_e3dc.py", line 226, in sendRequest
    result = self.rscp.sendRequest(request)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/e3dc/_e3dc_rscp_local.py", line 117, in sendRequest
    raise CommunicationError(receive[2])
e3dc._e3dc_rscp_local.CommunicationError: UNKNOWN

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/config/custom_components/e3dc_rscp/e3dc_proxy.py", line 29, in wrapper_handle_e3dc_ex
    return func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/e3dc_rscp/e3dc_proxy.py", line 116, in get_db_data
    return self.e3dc.get_db_data_timestamp(timestamp, timespan_seconds, True)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/e3dc/_e3dc.py", line 710, in get_db_data_timestamp
    response = self.sendRequest(
               ^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/e3dc/_e3dc.py", line 237, in sendRequest
    raise SendError("Max retries reached")
e3dc._e3dc.SendError: Max retries reached
2024-02-28 00:00:43.112 ERROR (MainThread) [custom_components.e3dc_rscp.coordinator] Unexpected error fetching e3dc_rscp data: Communication Failure: Failed to send data
Traceback (most recent call last):
  File "/usr/local/lib/python3.12/site-packages/e3dc/_e3dc.py", line 226, in sendRequest
    result = self.rscp.sendRequest(request)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/e3dc/_e3dc_rscp_local.py", line 117, in sendRequest
    raise CommunicationError(receive[2])
e3dc._e3dc_rscp_local.CommunicationError: UNKNOWN

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/config/custom_components/e3dc_rscp/e3dc_proxy.py", line 29, in wrapper_handle_e3dc_ex
    return func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/e3dc_rscp/e3dc_proxy.py", line 116, in get_db_data
    return self.e3dc.get_db_data_timestamp(timestamp, timespan_seconds, True)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/e3dc/_e3dc.py", line 710, in get_db_data_timestamp
    response = self.sendRequest(
               ^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/e3dc/_e3dc.py", line 237, in sendRequest
    raise SendError("Max retries reached")
e3dc._e3dc.SendError: Max retries reached

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 313, in _async_refresh
    self.data = await self._async_update_data()
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/e3dc_rscp/coordinator.py", line 169, in _async_update_data
    db_data_today: dict[str, Any] = await self.hass.async_add_executor_job(
                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/concurrent/futures/thread.py", line 58, in run
    result = self.fn(*self.args, **self.kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/e3dc_rscp/e3dc_proxy.py", line 37, in wrapper_handle_e3dc_ex
    raise HomeAssistantError(
homeassistant.exceptions.HomeAssistantError: Communication Failure: Failed to send data
2024-02-28 00:00:53.212 ERROR (SyncWorker_43) [custom_components.e3dc_rscp.e3dc_proxy] Communication error with E3DC: Max retries reached
Traceback (most recent call last):
  File "/usr/local/lib/python3.12/site-packages/e3dc/_e3dc.py", line 226, in sendRequest
    result = self.rscp.sendRequest(request)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Diagnostics dump

config_entry-hacs-33e989a202c3d2b4ac82a6ddedca525c.json

Include "set_idle_periods" from python-e3dc

Checklist

  • I have filled out the template to the best of my ability.
  • This only contains 1 feature request (if you have multiple feature requests, open one feature request for each feature request).
  • This issue is not a duplicate feature request of previous feature requests.

Is your feature request related to a problem? Please describe.

To allow better power management dring times with lower solar production or during low energy prices,, I'd like to disable batery discharging more easily with setting the Charging / Discharging Idle times (Sperrzeiten) for specific times of a day,

Describe the solution you'd like

Use "set_idle_periods" from python-e3dc

Describe alternatives you've considered

none

Additional context

No response

Diagnostics dump

No response

Possibility to set emergency power values

Checklist

  • I have filled out the template to the best of my ability.
  • This only contains 1 feature request (if you have multiple feature requests, open one feature request for each feature request).
  • This issue is not a duplicate feature request of previous feature requests.

Is your feature request related to a problem? Please describe.

Not really a problem, but a wish: make settings of the emergency power reserve via HA.

Describe the solution you'd like

Changing the emergency power reserve via HA (automation).

Describe alternatives you've considered

Additional context

An introduction to the topic could be this one:
ioBroker

Different tags are mentioned like

#define TAG_SE_REQ_SET_EP_RESERVE                             0x1B000010
#define TAG_SE_REQ_EP_RESERVE                                 0x1B000009
#define TAG_SE_EP_RESERVE                                     0x1B800009
#define TAG_SE_PARAM_INDEX                                    0x1B040000
#define TAG_SE_PARAM_EP_RESERVE                               0x1B040023
#define TAG_SE_PARAM_EP_RESERVE_W                             0x1B040033
#define TAG_SE_PARAM_EP_RESERVE_MAX_W                         0x1B040034

But I found also the following tags

EMS_REQ_EP_RESERVE = 0x01000242
EMS_EP_RESERVE = 0x01800242

The different numbers irritate me :-|
Now I hope that here with the HACS solution a setting of the emergency power values is possible.

Thank you very much.

Diagnostics dump

No response

Make diagnostics dump more resilient

Checklist

  • I have filled out the template to the best of my ability.
  • This only contains 1 feature request (if you have multiple feature requests, open one feature request for each feature request).
  • This issue is not a duplicate feature request of previous feature requests.

Is your feature request related to a problem? Please describe.

The dump should be more resilient when config keys are missing etc. It should not crash instead do its best when anonymizing and adding data. Also, catch exceptions where possible.

Describe the solution you'd like

.

Describe alternatives you've considered

.

Additional context

.

Diagnostics dump

.

Improve exception handling

Checklist

  • I have filled out the template to the best of my ability.
  • This only contains 1 feature request (if you have multiple feature requests, open one feature request for each feature request).
  • This issue is not a duplicate feature request of previous feature requests.

Is your feature request related to a problem? Please describe.

pye3dc's exceptions need to be handled in a better way.

Also think about exceptions in the config low, if possible distinguish between RSCP and Auth errors (#28).

Describe the solution you'd like

fix the code, try for some central handling

Describe alternatives you've considered

./.

Additional context

./.

Additional sensors for string 1 & 2 as well as L1,2,3 of relevant external source

Checklist

  • I have filled out the template to the best of my ability.
  • This only contains 1 feature request (if you have multiple feature requests, open one feature request for each feature request).
  • This issue is not a duplicate feature request of previous feature requests.

Is your feature request related to a problem? Please describe.

No

Describe the solution you'd like

It would be nice to have dedicated sensors for all solar fields for monitoring purposes.
The modbus gives separate values for the connected strings (string 1 and string 2) as well as for the external generator per phase (L1,2,3).
I have individual single phase generators connected to the external generator meter and can therefore monitor each individual pv field as well as both strings directly connected.

This might be a nice feature for others too and should be considered as nice to have.

Describe alternatives you've considered

Alternative is to not add the sensors with the addon and get them traditionally via modbus individually.

Additional context

This is my modbus yaml as an example:

  • name: "E3DC"
    type: tcp
    host: 192.168.1.5
    port: 502
    retry_on_empty: true
    sensors:
    • name: E3DC String 1 Power
      unique_id: e3dc_string_1_power
      data_type: uint16
      address: 40101
      device_class: power
      unit_of_measurement: W
      scan_interval: 2
    • name: E3DC String 2 Power
      unique_id: e3dc_string_2_power
      data_type: uint16
      address: 40102
      device_class: power
      unit_of_measurement: W
      scan_interval: 2
    • name: E3DC Powermeter 3 L1
      unique_id: e3dc_powermeter_3_L1
      data_type: int16
      address: 40117
      device_class: power
      unit_of_measurement: W
      scan_interval: 2
    • name: E3DC Powermeter 3 L2
      unique_id: e3dc_powermeter_3_L2
      data_type: int16
      address: 40118
      device_class: power
      unit_of_measurement: W
      scan_interval: 2
    • name: E3DC Powermeter 3 L3
      unique_id: e3dc_powermeter_3_L3
      data_type: int16
      address: 40119
      device_class: power
      unit_of_measurement: W
      scan_interval: 2

Diagnostics dump

No response

Disabling Power Limits

Checklist

  • I have filled out the template to the best of my ability.
  • This only contains 1 feature request (if you have multiple feature requests, open one feature request for each feature request).
  • This issue is not a duplicate feature request of previous feature requests.

Is your feature request related to a problem? Please describe.

I'm able to define power limits using the respective service, but i don't know how to disable power limits.

Enabling power limits works like

service: e3dc_rscp.set_power_limits
data:
  device_id: S10-1234567890
  max_discharge: 0

Trying to replicate the python-e3dc behaviour in https://github.com/fsantini/python-e3dc/blob/85762f2d9f272c706487c75efca75b0403c90e74/e3dc/_e3dc.py#L1911 i tried:

service: e3dc_rscp.set_power_limits
data:
  device_id: S10-1234567890
  max_discharge: None

but this results in Fehler beim Aufrufen des Diensts e3dc_rscp.set_power_limits. expected int for dictionary value @ data['max_discharge']. Got None

Any ideas or do you need to expand the service?

P.S.: Thank you so much for release 2.0. It works like a charm

Describe the solution you'd like

Not sure if i'm the problem or the functionality is missing :-)

Describe alternatives you've considered

Resetting the limit to the highest value results in the same behaviour, but the binary_sensor s10e_power_limits stays enabled

service: e3dc_rscp.set_power_limits
data:
  device_id: S10-1234567890
  max_discharge: 3000

Additional context

./.

Invalid authentication

System Health details

System Information

version core-2023.3.4
installation_type Home Assistant Container
dev false
hassio false
docker true
user root
virtualenv false
python_version 3.10.10
os_name Linux
os_version 4.4.180+
arch x86_64
timezone Europe/Berlin
config_dir /config
Home Assistant Community Store
GitHub API ok
GitHub Content ok
GitHub Web ok
GitHub API Calls Remaining 4996
Installed Version 1.32.1
Stage running
Available Repositories 1272
Downloaded Repositories 2
Home Assistant Cloud
logged_in false
can_reach_cert_server ok
can_reach_cloud_auth ok
can_reach_cloud ok
Dashboards
dashboards 2
resources 0
views 1
mode storage
Miele
component_version 0.1.9
reach_miele_cloud ok
Recorder
oldest_recorder_run 15. März 2023 um 14:34
current_recorder_run 17. Juli 2023 um 22:57
estimated_db_size 6673.32 MiB
database_engine sqlite
database_version 3.38.5

Checklist

  • I have enabled debug logging for my installation.
  • I have filled out the issue template to the best of my ability.
  • This issue only contains 1 issue (if you have multiple issues, open one issue for each issue).
  • This issue is not a duplicate issue of currently previous issues..

Describe the issue

I cannot configure the e3dc integration.
I entered the ip address of my s10 X Compact, my online username / password and the password i set in the rscp password field. I verified the data several times but i always get a Invalid authentication error in ha.

Reproduction steps

I cannot configure the e3dc integration.
I entered the ip address of my s10 X Compact, my online username / password and the password i set in the rscp password field. I verified the data several times but i always get a Invalid authentication error in ha.

Debug logs

2023-07-22 11:10:17.665 WARNING (MainThread) [homeassistant.core] Task <Task pending name='Task-1430547' coro=<DataUpdateCoordinator._handle_refresh_interval() running at /usr/src/homeassistant/homeassistant/helpers/update_coordinator.py:182> wait_for=<Future pending cb=[_chain_future.<locals>._call_check_cancel() at /usr/local/lib/python3.10/asyncio/futures.py:385, <1 more>, Task.task_wakeup()]> cb=[set.remove()]> was still running after stage 2 shutdown; Integrations should cancel non-critical tasks when receiving the stop event to prevent delaying shutdown
2023-07-22 11:10:17.733 WARNING (Thread-3 (_do_shutdown)) [homeassistant.util.executor] Thread[SyncWorker_10] is still running at shutdown: File "/usr/local/lib/python3.10/threading.py", line 973, in _bootstrap
    self._bootstrap_inner()
  File "/usr/local/lib/python3.10/threading.py", line 1016, in _bootstrap_inner
    self.run()
  File "/usr/local/lib/python3.10/threading.py", line 953, in run
    self._target(*self._args, **self._kwargs)
  File "/usr/local/lib/python3.10/concurrent/futures/thread.py", line 83, in _worker
    work_item.run()
  File "/usr/local/lib/python3.10/concurrent/futures/thread.py", line 58, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/usr/local/lib/python3.10/site-packages/fritzconnection/lib/fritzhosts.py", line 109, in get_hosts_info
    host = self.get_generic_host_entry(index)
  File "/usr/local/lib/python3.10/site-packages/fritzconnection/lib/fritzhosts.py", line 50, in get_generic_host_entry
    return self._action("GetGenericHostEntry", NewIndex=index)
  File "/usr/local/lib/python3.10/site-packages/fritzconnection/lib/fritzhosts.py", line 36, in _action
    return self.fc.call_action(SERVICE, actionname, arguments=arguments, **kwargs)
  File "/usr/local/lib/python3.10/site-packages/fritzconnection/core/fritzconnection.py", line 403, in call_action
    return self.soaper.execute(service, action_name, arguments)
  File "/usr/local/lib/python3.10/site-packages/fritzconnection/core/soaper.py", line 283, in execute
    with self.session.post(
  File "/usr/local/lib/python3.10/site-packages/requests/sessions.py", line 635, in post
    return self.request("POST", url, data=data, json=json, **kwargs)
  File "/usr/local/lib/python3.10/site-packages/requests/sessions.py", line 587, in request
    resp = self.send(prep, **send_kwargs)
  File "/usr/local/lib/python3.10/site-packages/requests/sessions.py", line 701, in send
    r = adapter.send(request, **kwargs)
  File "/usr/local/lib/python3.10/site-packages/requests/adapters.py", line 489, in send
    resp = conn.urlopen(
  File "/usr/local/lib/python3.10/site-packages/urllib3/connectionpool.py", line 703, in urlopen
    httplib_response = self._make_request(
  File "/usr/local/lib/python3.10/site-packages/urllib3/connectionpool.py", line 444, in _make_request
    httplib_response = conn.getresponse()
  File "/usr/local/lib/python3.10/http/client.py", line 1374, in getresponse
    response.begin()
  File "/usr/local/lib/python3.10/http/client.py", line 318, in begin
    version, status, reason = self._read_status()
  File "/usr/local/lib/python3.10/http/client.py", line 279, in _read_status
    line = str(self.fp.readline(_MAXLINE + 1), "iso-8859-1")
  File "/usr/local/lib/python3.10/socket.py", line 705, in readinto
    return self._sock.recv_into(b)


### Diagnostics dump

_No response_

Einbindung E3/S10x von 2023

System Health details

System Information

version core-2024.2.1
installation_type Home Assistant OS
dev false
hassio true
docker true
user root
virtualenv false
python_version 3.12.1
os_name Linux
os_version 6.1.63-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 4983
Installed Version 1.34.0
Stage running
Available Repositories 1391
Downloaded Repositories 2
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 11.5
update_channel stable
supervisor_version supervisor-2024.01.1
agent_version 1.6.0
docker_version 24.0.7
disk_total 109.3 GB
disk_used 4.7 GB
healthy true
supported true
board rpi4-64
supervisor_api ok
version_api ok
installed_addons Advanced SSH & Web Terminal (17.1.0), File editor (5.8.0)
Dashboards
dashboards 1
resources 0
views 1
mode storage
Recorder
oldest_recorder_run 1. Februar 2024 um 17:17
current_recorder_run 13. Februar 2024 um 09:53
estimated_db_size 66.60 MiB
database_engine sqlite
database_version 3.44.2

Checklist

  • I have enabled debug logging for my installation.
  • I have filled out the issue template to the best of my ability.
  • This issue only contains 1 issue (if you have multiple issues, open one issue for each issue).
  • This issue is not a duplicate issue of currently previous issues..

Describe the issue

Installationsdatum 05.02.24
Fehlermeldung configuration is not yet ready :11 is not a valid Powermeter Type

Reproduction steps

  1. Gerät lässt sich anmelden E3DC S10 Gerät aus 2023 Montagedatum 11/2023
  2. Fehlermeldung Keine Geräte oder Entitäten
  3. Fehlermeldung configuration is not yet ready :11 is not a valid Powermeter Type
  4. Fehler wird direkt nach der Anmeldung gezeigt

...

Debug logs

Traceback (most recent call last):
  File "/usr/local/lib/python3.11/site-packages/e3dc/_e3dc_rscp_local.py", line 125, in connect
    self.socket.connect((self.ip, PORT))
ConnectionRefusedError: [Errno 111] Connection refused

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/lib/python3.11/site-packages/e3dc/_e3dc.py", line 225, in sendRequest
    self.rscp.connect()
  File "/usr/local/lib/python3.11/site-packages/e3dc/_e3dc_rscp_local.py", line 130, in connect
    raise CommunicationError
e3dc._e3dc_rscp_local.CommunicationError

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/lib/python3.11/site-packages/aiohttp/web_protocol.py", line 452, in _handle_request
    resp = await request_handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/aiohttp/web_app.py", line 543, in _handle
    resp = await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/aiohttp/web_middlewares.py", line 114, in impl
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/security_filter.py", line 85, in security_filter_middleware
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/forwarded.py", line 100, in forwarded_middleware
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/request_context.py", line 28, in request_context_middleware
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/ban.py", line 80, in ban_middleware
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/auth.py", line 233, in auth_middleware
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/headers.py", line 31, in headers_middleware
    response = await handler(request)
               ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/view.py", line 149, in handle
    result = await handler(request, **request.match_info)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/decorators.py", line 63, in with_admin
    return await func(self, request, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/config/config_entries.py", line 177, in post
    return await super().post(request, flow_id)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/data_validator.py", line 72, in wrapper
    result = await method(view, request, data, *args, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/data_entry_flow.py", line 110, in post
    result = await self._flow_mgr.async_configure(flow_id, data)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 320, in async_configure
    result = await self._async_handle_step(
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 416, in _async_handle_step
    result: FlowResult = await getattr(flow, method)(user_input)
                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/e3dc_rscp/config_flow.py", line 112, in async_step_user
    if error := await self.validate_input():
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/e3dc_rscp/config_flow.py", line 85, in validate_input
    await self.hass.async_add_executor_job(self._async_check_login)
  File "/usr/local/lib/python3.11/concurrent/futures/thread.py", line 58, in run
    result = self.fn(*self.args, **self.kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/e3dc_rscp/config_flow.py", line 74, in _async_check_login
    self._e3dc = create_e3dcinstance(
                 ^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/e3dc_rscp/coordinator.py", line 569, in create_e3dcinstance
    e3dc = E3DC(
           ^^^^^
  File "/usr/local/lib/python3.11/site-packages/e3dc/_e3dc.py", line 140, in __init__
    self.get_system_info_static(keepAlive=True)
  File "/usr/local/lib/python3.11/site-packages/e3dc/_e3dc.py", line 820, in get_system_info_static
    self.sendRequestTag(RscpTag.EMS_REQ_DERATE_AT_PERCENT_VALUE, keepAlive=True)
  File "/usr/local/lib/python3.11/site-packages/e3dc/_e3dc.py", line 263, in sendRequestTag
    return self.sendRequest(
           ^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/e3dc/_e3dc.py", line 237, in sendRequest
    raise SendError("Max retries reached")
e3dc._e3dc.SendError: Max retries reached

Diagnostics dump

No response

Entity sensor.s10e_additional_total from integration e3dc_rscp has state class total_increasing, but its state is negative.

System Health details

System Information

version core-2023.11.2
installation_type Home Assistant Container
dev false
hassio false
docker true
user root
virtualenv false
python_version 3.11.6
os_name Linux
os_version 6.2.0-36-generic
arch x86_64
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.33.0
Stage running
Available Repositories 1339
Downloaded Repositories 34
Home Assistant Cloud
logged_in false
can_reach_cert_server ok
can_reach_cloud_auth ok
can_reach_cloud ok
Dashboards
dashboards 6
resources 21
views 61
mode storage
Recorder
oldest_recorder_run 23. August 2023 um 16:23
current_recorder_run 24. November 2023 um 12:19
estimated_db_size 12965.06 MiB
database_engine postgresql
database_version 15.4

Checklist

  • I have enabled debug logging for my installation.
  • I have filled out the issue template to the best of my ability.
  • This issue only contains 1 issue (if you have multiple issues, open one issue for each issue).
  • This issue is not a duplicate issue of currently previous issues..

Describe the issue

We have an additional production meter (second PV inverter) which leads to the following error on startup:

Entity sensor.s10e_additional_total from integration e3dc_rscp has state class total_increasing, but its state is negative. Triggered by state -2300.86864 with last_updated set to 2023-11-24T11:14:59.999999+00:00. [...]

Because it's a production sensor it's decreasing. But not all the time, because at night the inverter actually consumes some energy. Maybe just using the absolute value would be a first step. I'm not sure how to proceed with the night issue though.
grafik

Reproduction steps

Restart HA

Debug logs

2023-11-24 11:19:03.940 WARNING (SyncWorker_0) [homeassistant.loader] We found a custom integration e3dc_rscp 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
2023-11-24 11:19:03.941 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
2023-11-24 11:19:03.942 WARNING (SyncWorker_0) [homeassistant.loader] We found a custom integration solaredge_modbus 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
2023-11-24 11:19:03.942 WARNING (SyncWorker_0) [homeassistant.loader] We found a custom integration hass_agent 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
2023-11-24 11:19:15.804 ERROR (MainThread) [homeassistant] Error doing job: Exception in callback _async_at_core_state.<locals>._matched_event(<Event homeassistant_start[L]>) at /usr/src/homeassistant/homeassistant/helpers/start.py:37
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/sensor/__init__.py", line 616, in state
    numerical_value = int(value)
                      ^^^^^^^^^^
ValueError: invalid literal for int() with base 10: 'unknown'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/sensor/__init__.py", line 619, in state
    numerical_value = float(value)
                      ^^^^^^^^^^^^
ValueError: could not convert string to float: 'unknown'

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/local/lib/python3.11/asyncio/events.py", line 80, in _run
    self._context.run(self._callback, *self._args)
  File "/usr/src/homeassistant/homeassistant/core.py", line 1218, in _onetime_listener
    self._hass.async_run_job(listener, event)
  File "/usr/src/homeassistant/homeassistant/core.py", line 707, in async_run_job
    return self.async_run_hass_job(HassJob(target), *args)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/core.py", line 659, in async_run_hass_job
    hassjob.target(*args)
  File "/usr/src/homeassistant/homeassistant/helpers/start.py", line 40, in _matched_event
    hass.async_run_hass_job(at_start_job, hass)
  File "/usr/src/homeassistant/homeassistant/core.py", line 659, in async_run_hass_job
    hassjob.target(*args)
  File "/usr/src/homeassistant/homeassistant/components/template/template_entity.py", line 478, in _async_template_startup
    result_info.async_refresh()
  File "/usr/src/homeassistant/homeassistant/helpers/event.py", line 1031, in async_refresh
    self._refresh(None)
  File "/usr/src/homeassistant/homeassistant/helpers/event.py", line 1211, in _refresh
    self.hass.async_run_hass_job(self._job, event, updates)
  File "/usr/src/homeassistant/homeassistant/core.py", line 659, in async_run_hass_job
    hassjob.target(*args)
  File "/usr/src/homeassistant/homeassistant/components/template/template_entity.py", line 429, in _handle_results
    self.async_write_ha_state()
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 743, in async_write_ha_state
    self._async_write_ha_state()
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 843, in _async_write_ha_state
    state, attr = self._async_generate_attributes()
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 784, in _async_generate_attributes
    state = self._stringify_state(available)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 749, in _stringify_state
    if (state := self.state) is None:
                 ^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/sensor/__init__.py", line 623, in state
    raise ValueError(
ValueError: Sensor sensor.position_car has device class 'None', state class 'measurement' unit 'None' and suggested precision 'None' thus indicating it has a numeric value; however, it has the non-numeric value: 'unknown' (<class 'str'>)
2023-11-24 11:20:10.725 WARNING (Recorder) [homeassistant.components.sensor.recorder] Entity sensor.s10e_additional_total from integration e3dc_rscp has state class total_increasing, but its state is negative. Triggered by state -2300.86864 with last_updated set to 2023-11-24T11:14:59.999999+00:00. Please create a bug report at https://github.com/torbennehmer/hacs-e3dc/issues
2023-11-24 11:20:58.773 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Polling general status information
2023-11-24 11:20:58.841 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Poll power settings
2023-11-24 11:20:58.850 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Polling manual charge information
2023-11-24 11:20:58.856 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Polling additional powermeters
2023-11-24 11:20:58.878 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Skipping power metrics poll.
2023-11-24 11:20:58.879 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Finished fetching e3dc_rscp data in 0.105 seconds (success: True)
2023-11-24 11:21:08.773 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Polling general status information
2023-11-24 11:21:08.827 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Poll power settings
2023-11-24 11:21:08.834 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Polling manual charge information
2023-11-24 11:21:08.839 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Polling additional powermeters
2023-11-24 11:21:08.858 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Skipping power metrics poll.
2023-11-24 11:21:08.858 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Finished fetching e3dc_rscp data in 0.085 seconds (success: True)
2023-11-24 11:21:18.772 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Polling general status information
2023-11-24 11:21:18.826 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Poll power settings
2023-11-24 11:21:18.832 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Polling manual charge information
2023-11-24 11:21:18.838 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Polling additional powermeters
2023-11-24 11:21:18.855 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Polling today's power metrics
2023-11-24 11:21:18.855 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Midnight is 2023-11-24 00:00:00+01:00, DB query timestamp is 1700780400, applied offset: 3600
2023-11-24 11:21:18.856 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Midnight DB query timestamp is 1700784000, applied offset: 3600
2023-11-24 11:21:18.882 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Finished fetching e3dc_rscp data in 0.110 seconds (success: True)
2023-11-24 11:21:28.772 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Polling general status information
2023-11-24 11:21:28.829 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Poll power settings
2023-11-24 11:21:28.834 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Polling manual charge information
2023-11-24 11:21:28.840 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Polling additional powermeters
2023-11-24 11:21:28.859 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Skipping power metrics poll.
2023-11-24 11:21:28.860 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Finished fetching e3dc_rscp data in 0.088 seconds (success: True)
2023-11-24 11:21:38.771 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Polling general status information
2023-11-24 11:21:38.828 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Poll power settings
2023-11-24 11:21:38.834 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Polling manual charge information
2023-11-24 11:21:38.839 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Polling additional powermeters
2023-11-24 11:21:38.862 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Skipping power metrics poll.
2023-11-24 11:21:38.862 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Finished fetching e3dc_rscp data in 0.090 seconds (success: True)
2023-11-24 11:21:48.771 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Polling general status information
2023-11-24 11:21:48.825 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Poll power settings
2023-11-24 11:21:48.831 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Polling manual charge information
2023-11-24 11:21:48.837 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Polling additional powermeters
2023-11-24 11:21:48.856 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Skipping power metrics poll.
2023-11-24 11:21:48.856 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Finished fetching e3dc_rscp data in 0.084 seconds (success: True)
2023-11-24 11:21:58.772 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Polling general status information
2023-11-24 11:21:58.829 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Poll power settings
2023-11-24 11:21:58.835 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Polling manual charge information
2023-11-24 11:21:58.840 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Polling additional powermeters
2023-11-24 11:21:58.858 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Skipping power metrics poll.
2023-11-24 11:21:58.858 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Finished fetching e3dc_rscp data in 0.086 seconds (success: True)
2023-11-24 11:22:08.772 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Polling general status information
2023-11-24 11:22:08.831 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Poll power settings
2023-11-24 11:22:08.837 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Polling manual charge information
2023-11-24 11:22:08.842 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Polling additional powermeters
2023-11-24 11:22:08.861 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Skipping power metrics poll.
2023-11-24 11:22:08.861 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Finished fetching e3dc_rscp data in 0.089 seconds (success: True)
2023-11-24 11:22:18.771 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Polling general status information
2023-11-24 11:22:18.827 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Poll power settings
2023-11-24 11:22:18.833 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Polling manual charge information
2023-11-24 11:22:18.838 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Polling additional powermeters
2023-11-24 11:22:18.857 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Skipping power metrics poll.
2023-11-24 11:22:18.857 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Finished fetching e3dc_rscp data in 0.086 seconds (success: True)
2023-11-24 11:22:28.772 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Polling general status information
2023-11-24 11:22:28.831 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Poll power settings
2023-11-24 11:22:28.840 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Polling manual charge information
2023-11-24 11:22:28.846 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Polling additional powermeters
2023-11-24 11:22:28.864 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Polling today's power metrics
2023-11-24 11:22:28.864 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Midnight is 2023-11-24 00:00:00+01:00, DB query timestamp is 1700780400, applied offset: 3600
2023-11-24 11:22:28.864 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Midnight DB query timestamp is 1700784000, applied offset: 3600
2023-11-24 11:22:28.892 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Finished fetching e3dc_rscp data in 0.120 seconds (success: True)

Diagnostics dump

e3dc_dump.json

Please implement wallbox support

Checklist

  • I have filled out the template to the best of my ability.
  • This only contains 1 feature request (if you have multiple feature requests, open one feature request for each feature request).
  • This issue is not a duplicate feature request of previous feature requests.

Is your feature request related to a problem? Please describe.

Actual for me the regulation of the charging current preset is neccessary to create automations for solar charging.

Describe the solution you'd like

please add a input number for e3dc_wallbox_preset_charging_current

and in addition the othe neccessary wallbox functionality

Describe alternatives you've considered

I tried to connect via modbus but preset_charging_current has no address

Additional context

No response

Diagnostics dump

No response

Config Flow not opening after download

System Health details

System Information

version core-2023.11.3
installation_type Home Assistant OS
dev false
hassio true
docker true
user root
virtualenv false
python_version 3.11.6
os_name Linux
os_version 6.1.21-v8
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 4899
Installed Version 1.33.0
Stage running
Available Repositories 1337
Downloaded Repositories 6
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 11.1
update_channel stable
supervisor_version supervisor-2023.11.3
agent_version 1.6.0
docker_version 24.0.6
disk_total 234.0 GB
disk_used 6.0 GB
healthy true
supported true
board rpi4-64
supervisor_api ok
version_api ok
installed_addons Terminal & SSH (9.8.1), Dnsmasq (1.6.0), NGINX Home Assistant SSL proxy (3.5.0), File editor (5.7.0)
Dashboards
dashboards 1
resources 2
views 4
mode storage
Recorder
oldest_recorder_run 19. November 2023 um 10:36
current_recorder_run 22. November 2023 um 15:31
estimated_db_size 140.87 MiB
database_engine sqlite
database_version 3.41.2

Checklist

  • I have enabled debug logging for my installation.
  • I have filled out the issue template to the best of my ability.
  • This issue only contains 1 issue (if you have multiple issues, open one issue for each issue).
  • This issue is not a duplicate issue of currently previous issues..

Describe the issue

Installing this integration doesn't trigger the config flow dialog as mentioned in the installation description.

Reproduction steps

  1. Add repo to HACS
  2. Install the integration
  3. No config flow shows up

I'm stuck with not being able to configure the integration.
...

Debug logs

The only log entry regarding hacs-e3dc says it has been discovered and could cause issues because being a community integration. Nothing else is logged.

Diagnostics dump

/

e3dc_service: set_power_limits: Issue "Unkown device" and "Device ... is no E3DC"

System Health details

System Information

version core-2023.9.0
installation_type Home Assistant OS
dev false
hassio true
docker true
user root
virtualenv false
python_version 3.11.5
os_name Linux
os_version 6.1.21-v8
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.32.1
Stage running
Available Repositories 1280
Downloaded Repositories 9
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 10.5
update_channel stable
supervisor_version supervisor-2023.08.3
agent_version 1.5.1
docker_version 23.0.6
disk_total 116.5 GB
disk_used 16.0 GB
healthy true
supported true
board rpi4-64
supervisor_api ok
version_api ok
installed_addons Mosquitto broker (6.3.1), Terminal & SSH (9.7.1), HassOS SSH port 22222 Configurator (0.9.1a), RaspberryMatic CCU (3.71.12.20230826), Samba share (10.0.2), Studio Code Server (5.10.1), File editor (5.6.0), Advanced SSH & Web Terminal (15.0.7), Let's Encrypt (4.12.9), NGINX Home Assistant SSL proxy (3.5.0), Samba Backup (5.2.0)
Dashboards
dashboards 3
resources 1
views 12
mode storage
Miele
component_version 0.1.15
reach_miele_cloud ok
Recorder
oldest_recorder_run 7. September 2023 um 10:51
current_recorder_run 7. September 2023 um 12:59
estimated_db_size 1547.18 MiB
database_engine sqlite
database_version 3.41.2

Checklist

  • I have enabled debug logging for my installation.
  • I have filled out the issue template to the best of my ability.
  • This issue only contains 1 issue (if you have multiple issues, open one issue for each issue).
  • This issue is not a duplicate issue of currently previous issues..

Describe the issue

I updated the integration after a few month and removed and re-added the device afterwards. Nevertheless the service for setting power limits is not working.

Reproduction steps

Execute the service to set limits

Debug logs

e3dc_service: If at step 1: Error executing script. Error for call_service at pos 1: set_power_limits: Unkown device ID S10-....
e3dc_service: Error executing script. Error for if at pos 1: set_power_limits: Unkown device ID S10-...

websocket_api script: Error executing script. Error for call_service at pos 1: set_power_limits: Device f50f248ad0df2249c0fef02aca790505 is no E3DC.

Diagnostics dump

No response

Add entities for energy production of individual strings

Checklist

  • I have filled out the template to the best of my ability.
  • This only contains 1 feature request (if you have multiple feature requests, open one feature request for each feature request).
  • This issue is not a duplicate feature request of previous feature requests.

Is your feature request related to a problem? Please describe.

I have Solar Panels on both sides of my roof. one facing to the east, one facing to the west.
In order to get a good forecast of my PV production, i have set up two roofs in the Forecast.Solar Integration.
However the forecast is not very accurate. I want to tune the parameters of the Forecast per roof and match it with the actual production. Therefore, I'd like to get the output of the individual strings so i can compare the the string output for each roof side with the forecast per roof side.

Describe the solution you'd like

Today, the Integration only delivers the combined power from the PV modules in sensor.s10x_solar_production.
However the python_e3dc library delivers via get_pvi_data() a strings object:

"strings": { 0:
                        {
                            "power": <power>,
                            "voltage": <voltage>,
                            "current": <current>,
                            "energyAll": <energy all>
                        }

I'd like to have the energyAll per String as an entity in the E3DC HA integration.

Describe alternatives you've considered

I could hack a quick and dirty solution via node red or something similar but I like it neat and tidy and think others may benefit from this feature as well :-)

Additional context

Similar to the discussions on additional powermeters here, ideally there would be a way to identify the installed strings so that the entities can be created during configuration of the integration.

Diagnostics dump

No response

Download of diagnostic information for hacs-e3dc not possible (500 internal server error)

System Health details

System Information

version core-2023.8.4
installation_type Home Assistant OS
dev false
hassio true
docker true
user root
virtualenv false
python_version 3.11.4
os_name Linux
os_version 6.1.45
arch x86_64
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.32.1
Stage running
Available Repositories 1273
Downloaded Repositories 15
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 10.5
update_channel stable
supervisor_version supervisor-2023.08.1
agent_version 1.5.1
docker_version 23.0.6
disk_total 30.8 GB
disk_used 7.5 GB
healthy true
supported true
board ova
supervisor_api ok
version_api ok
installed_addons InfluxDB (4.7.0), Grafana (9.0.3), File editor (5.6.0), Terminal & SSH (9.7.1)
Dashboards
dashboards 3
resources 9
views 8
mode storage
MercedesME 2020
websocket_connection_state connected
api_endpoint_reachable ok
Recorder
oldest_recorder_run 25. August 2023 um 06:06
current_recorder_run 1. September 2023 um 13:21
estimated_db_size 405.98 MiB
database_engine sqlite
database_version 3.41.2

Checklist

  • I have enabled debug logging for my installation.
  • I have filled out the issue template to the best of my ability.
  • This issue only contains 1 issue (if you have multiple issues, open one issue for each issue).
  • This issue is not a duplicate issue of currently previous issues..

Describe the issue

I apologise for any mistakes upfront, as this is my first time I post an issue or perform any activity on GitHub. So happy for any feedback on how to improve and get better.

Encountered issue: Download of diagnostic information for hacs-e3dc is possible, but the downloaded html file shows:

"500 internal server error
Server got itself in trouble"

I performed the steps as advised by Torben:

"Go to the device in the HA setup, klick the tripledot menu and download the diagnostics dump from there. It'll contain a lot of information queried from the unit, that give me an impression how it reacts to API calls."

Seems that I have the same problem as described in:
#43

Reproduction steps

  1. Go to the device in the HA setup, klick the tripledot menu and download the diagnostics dump from there. It'll contain a lot of information queried from the unit, that give me an impression how it reacts to API calls.
  2. Downloaded file will always show the same error message as indicated above.

...

Debug logs

The error message I get in /config/home-assistant.log:

*** start ***
TypeError: unsupported format string passed to NoneType.__format__
2023-09-01 10:34:40.684 ERROR (MainThread) [aiohttp.server] Error handling request
Traceback (most recent call last):
  File "/usr/local/lib/python3.11/site-packages/aiohttp/web_protocol.py", line 433, in _handle_request
    resp = await request_handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/aiohttp/web_app.py", line 504, in _handle
    resp = await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/aiohttp/web_middlewares.py", line 117, in impl
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/security_filter.py", line 85, in security_filter_middleware
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/forwarded.py", line 100, in forwarded_middleware
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/request_context.py", line 28, in request_context_middleware
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/ban.py", line 80, in ban_middleware
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/auth.py", line 236, in auth_middleware
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/view.py", line 148, in handle
    result = await handler(request, **request.match_info)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/diagnostics/__init__.py", line 249, in get
    data = await info.config_entry_diagnostics(hass, config_entry)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/e3dc_rscp/diagnostics.py", line 32, in async_get_config_entry_diagnostics
    "get_powermeters_data": e3dc.get_powermeters_data(),
                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/e3dc/_e3dc.py", line 1853, in get_powermeters_data
    self.get_powermeter_data(
  File "/usr/local/lib/python3.11/site-packages/e3dc/_e3dc.py", line 1810, in get_powermeter_data
    activePhases = f"{activePhasesChar:03b}"
                   ^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: unsupported format string passed to NoneType.__format__
*** stop ***

A full debug log is also available, but has 380 MB ... Please let me know if you need it.

Diagnostics dump

No response

Impossible state class

System Health details

System Information

version core-2023.7.2
installation_type Home Assistant OS
dev false
hassio true
docker true
user root
virtualenv false
python_version 3.11.4
os_name Linux
os_version 6.1.39
arch x86_64
timezone Europe/Berlin
config_dir /config
Home Assistant Community Store
GitHub API ok
GitHub Content ok
GitHub Web ok
GitHub API Calls Remaining 4986
Installed Version 1.32.1
Stage running
Available Repositories 1336
Downloaded Repositories 64
HACS Data ok
AccuWeather
can_reach_server ok
remaining_requests 15
Home Assistant Cloud
logged_in true
subscription_expiration 16. September 2023 um 02:00
relayer_connected true
relayer_region eu-central-1
remote_enabled true
remote_connected true
alexa_enabled false
google_enabled false
remote_server eu-central-1-10.ui.nabu.casa
certificate_status ready
can_reach_cert_server ok
can_reach_cloud_auth ok
can_reach_cloud ok
Discovergy
api_endpoint_reachable ok
Home Assistant Supervisor
host_os Home Assistant OS 10.4
update_channel stable
supervisor_version supervisor-2023.07.1
agent_version 1.5.1
docker_version 23.0.6
disk_total 48.5 GB
disk_used 27.3 GB
healthy true
supported true
board ova
supervisor_api ok
version_api ok
installed_addons Advanced SSH & Web Terminal (15.0.6), Samba share (10.0.2), Mosquitto broker (6.2.1), Node-RED (14.4.3), Samba Backup (5.2.0), File editor (5.6.0), ioBroker (0.8.0), ESPHome (2023.7.1), Signal Messenger (0.67.1), Matter Server (4.9.0), Music Assistant BETA (2.0.0b67), Speedtest (1.5.0), Piper (0.1.3), Whisper (0.2.1), Studio Code Server (5.10.0), PSA Car Controller (v3.0.12)
Dashboards
dashboards 9
resources 37
views 56
mode storage
Recorder
oldest_recorder_run 24. Juli 2023 um 08:55
current_recorder_run 3. August 2023 um 14:10
estimated_db_size 6658.47 MiB
database_engine mysql
database_version 10.11.3

Checklist

  • I have enabled debug logging for my installation.
  • I have filled out the issue template to the best of my ability.
  • This issue only contains 1 issue (if you have multiple issues, open one issue for each issue).
  • This issue is not a duplicate issue of currently previous issues..

Describe the issue

I get the following during startup:

Logger: homeassistant.components.sensor
Source: components/sensor/__init__.py:505
Integration: Sensor (documentation, issues)
First occurred: 14:11:02 (1 occurrences)
Last logged: 14:11:02

Entity sensor.s10x_energy_charged_from_grid (<class 'custom_components.e3dc_rscp.sensor.E3DCSensor'>) is using state class 'measurement' which is impossible considering device class ('energy') it is using; expected None or one of 'total_increasing', 'total'; Please update your configuration if your entity is manually configured, otherwise report it to the custom integration author.

Reproduction steps

...

Debug logs

see above

Diagnostics dump

No response

Support to import historical data via

Checklist

  • I have filled out the template to the best of my ability.
  • This only contains 1 feature request (if you have multiple feature requests, open one feature request for each feature request).
  • This issue is not a duplicate feature request of previous feature requests.

Is your feature request related to a problem? Please describe.

Having all data available from E3DC available in Home Assistant would be great. Since the E3DC systems are storing statistical data for the past, it will be helpful to have this data available in Home Assistant.

Describe the solution you'd like

It seems to be possible to import historical data from previous timespans using the get_db_data_timestamp method.

This could be used to fetch the following data for every day in the past.

{
    "autarky": <autarky in the period in %>,
    "bat_power_in": <power entering battery, charging>,
    "bat_power_out": <power leaving battery, discharging>,
    "consumed_production": <power directly consumed in %>,
    "consumption": <self consumed power>,
    "grid_power_in": <power sent into the grid (production)>,
    "grid_power_out": <power taken from the grid (consumption)>,
    "startTimestamp": <timestamp from which db data is fetched of>,
    "stateOfCharge": <battery charge level in %>,
    "solarProduction": <power production>,
    "timespanSeconds": <timespan in seconds of which db data is collected>
}

Add 'Additional source production - today' sensor

Checklist

  • I have filled out the template to the best of my ability.
  • This only contains 1 feature request (if you have multiple feature requests, open one feature request for each feature request).
  • This issue is not a duplicate feature request of previous feature requests.

Is your feature request related to a problem? Please describe.

Enabled the 'Additional source production' sensor, but missing the 'Additional source production - today'.

Describe the solution you'd like

Add the 'Additional source production - today' sensor like the 'Solar production - today'

Describe alternatives you've considered

This could be made with the Integration - Riemann sum integral and Utility Meter in HA, but why not add it like the other 'today' senors?

Additional context

Great work btw.
I use fsantini's lib (did a few trial and error hacks to publish the values to mqtt) for years now.
Thanks for this, so much easier!

E3DC temporarily unavailable

System Health details

I do kot know how to explain it the best. But I figured out that there might be at least an issue with the state_of_charge.

I use an automatism to send me a push when the battery is empty. And since thw last days when it is getting darker the battery is not charged 100% and gets empty in the night. I get each day a push arround the same time. Then I did a deeper look.

I hope it is visible in the screen. At 00:00 the sensor might be unavailable till 01:00.

Maybe an issue with timing? Winter time in germany?

I checked also other 24/7 states, the same.

IMG_6771
IMG_6772

Just let me know if I can provide additional data.

Checklist

  • I have enabled debug logging for my installation.
  • I have filled out the issue template to the best of my ability.
  • This issue only contains 1 issue (if you have multiple issues, open one issue for each issue).
  • This issue is not a duplicate issue of currently previous issues..

Describe the issue

Reproduction steps

Check other sensors and days.

Debug logs

Diagnostics dump

No response

16777278 is not a valid RscpTag

System Health details

System Information

version core-2024.2.5
installation_type Home Assistant OS
dev false
hassio true
docker true
user root
virtualenv false
python_version 3.12.1
os_name Linux
os_version 6.6.16-haos
arch x86_64
timezone Europe/Berlin
config_dir /config
Home Assistant Community Store
GitHub API ok
GitHub Content ok
GitHub Web ok
GitHub API Calls Remaining 4996
Installed Version 1.34.0
Stage running
Available Repositories 1401
Downloaded Repositories 41
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.0
update_channel stable
supervisor_version supervisor-2024.02.1
agent_version 1.6.0
docker_version 24.0.7
disk_total 491.4 GB
disk_used 118.7 GB
healthy true
supported true
board ova
supervisor_api ok
version_api ok
installed_addons Node-RED (17.0.7), FTP (5.0.1), InfluxDB (5.0.0), MariaDB (2.6.1), Studio Code Server (5.15.0), Z-Wave JS UI (3.4.0), Mosquitto broker (6.4.0), ha-sip (3.5.1), Home Assistant Google Drive Backup (0.112.1), Zigbee2MQTT (1.35.3-1), Music Assistant BETA (2.0.0b106), Cloudflared (5.1.4)
Dashboards
dashboards 3
resources 23
views 59
mode storage
Recorder
oldest_recorder_run 31. Januar 2024 um 15:35
current_recorder_run 29. Februar 2024 um 18:01
estimated_db_size 40742.48 MiB
database_engine mysql
database_version 10.6.12

Checklist

  • I have enabled debug logging for my installation.
  • I have filled out the issue template to the best of my ability.
  • This issue only contains 1 issue (if you have multiple issues, open one issue for each issue).
  • This issue is not a duplicate issue of currently previous issues..

Describe the issue

The addon work for a long time, but now I can´t get it connected again. I restarted the e3dc, home assistant and reinstalled the addon allready. I double checked the password etc.

Reproduction steps

no connection to the e3dc

Debug logs

Dieser Fehler wurde von einer benutzerdefinierten Integration verursacht

Logger: custom_components.e3dc_rscp.e3dc_proxy
Source: custom_components/e3dc_rscp/e3dc_proxy.py:29
Integration: E3DC Remote Storage Control Protocol (Git) (documentation, issues)
First occurred: 29. Februar 2024 um 18:01:51 (608 occurrences)
Last logged: 07:01:13

Communication error with E3DC: Max retries reached
Traceback (most recent call last):
  File "/usr/local/lib/python3.12/site-packages/e3dc/_e3dc_rscp_local.py", line 102, in sendRequest
    receive = self._receive()
              ^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/e3dc/_e3dc_rscp_local.py", line 76, in _receive
    decData = rscpDecode(self.encdec.decrypt(data))[0]
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/e3dc/_rscpLib.py", line 263, in rscpDecode
    return rscpDecode(rscpFrameDecode(data)[0])
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/e3dc/_rscpLib.py", line 279, in rscpDecode
    innerData, usedLength = rscpDecode(data[curByte:])
                            ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/e3dc/_rscpLib.py", line 270, in rscpDecode
    strTag = getStrRscpTag(hexTag)
             ^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/e3dc/_rscpTags.py", line 3692, in getStrRscpTag
    tag = RscpTag(tag)
          ^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/enum.py", line 744, in __call__
    return cls.__new__(cls, value)
           ^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/enum.py", line 1158, in __new__
    raise ve_exc
ValueError: 16777278 is not a valid RscpTag

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/lib/python3.12/site-packages/e3dc/_e3dc.py", line 226, in sendRequest
    result = self.rscp.sendRequest(request)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/e3dc/_e3dc_rscp_local.py", line 108, in sendRequest
    raise CommunicationError
e3dc._e3dc_rscp_local.CommunicationError

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/config/custom_components/e3dc_rscp/e3dc_proxy.py", line 29, in wrapper_handle_e3dc_ex
    return func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/e3dc_rscp/e3dc_proxy.py", line 121, in get_manual_charge
    data = self.e3dc.sendRequest(
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/e3dc/_e3dc.py", line 237, in sendRequest
    raise SendError("Max retries reached")
e3dc._e3dc.SendError: Max retries reached





Dieser Fehler wurde von einer benutzerdefinierten Integration verursacht

Logger: custom_components.e3dc_rscp.coordinator
Source: helpers/update_coordinator.py:313
Integration: E3DC Remote Storage Control Protocol (Git) (documentation, issues)
First occurred: 29. Februar 2024 um 18:01:51 (608 occurrences)
Last logged: 07:01:13

Unexpected error fetching e3dc_rscp data: Communication Failure: Failed to send data
Traceback (most recent call last):
  File "/usr/local/lib/python3.12/site-packages/e3dc/_e3dc_rscp_local.py", line 102, in sendRequest
    receive = self._receive()
              ^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/e3dc/_e3dc_rscp_local.py", line 76, in _receive
    decData = rscpDecode(self.encdec.decrypt(data))[0]
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/e3dc/_rscpLib.py", line 263, in rscpDecode
    return rscpDecode(rscpFrameDecode(data)[0])
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/e3dc/_rscpLib.py", line 279, in rscpDecode
    innerData, usedLength = rscpDecode(data[curByte:])
                            ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/e3dc/_rscpLib.py", line 270, in rscpDecode
    strTag = getStrRscpTag(hexTag)
             ^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/e3dc/_rscpTags.py", line 3692, in getStrRscpTag
    tag = RscpTag(tag)
          ^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/enum.py", line 744, in __call__
    return cls.__new__(cls, value)
           ^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/enum.py", line 1158, in __new__
    raise ve_exc
ValueError: 16777278 is not a valid RscpTag

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/lib/python3.12/site-packages/e3dc/_e3dc.py", line 226, in sendRequest
    result = self.rscp.sendRequest(request)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/e3dc/_e3dc_rscp_local.py", line 108, in sendRequest
    raise CommunicationError
e3dc._e3dc_rscp_local.CommunicationError

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/config/custom_components/e3dc_rscp/e3dc_proxy.py", line 29, in wrapper_handle_e3dc_ex
    return func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/e3dc_rscp/e3dc_proxy.py", line 121, in get_manual_charge
    data = self.e3dc.sendRequest(
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/e3dc/_e3dc.py", line 237, in sendRequest
    raise SendError("Max retries reached")
e3dc._e3dc.SendError: Max retries reached

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 313, in _async_refresh
    self.data = await self._async_update_data()
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/e3dc_rscp/coordinator.py", line 157, in _async_update_data
    data = await self.hass.async_add_executor_job(self.proxy.get_manual_charge)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/concurrent/futures/thread.py", line 58, in run
    result = self.fn(*self.args, **self.kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/e3dc_rscp/e3dc_proxy.py", line 37, in wrapper_handle_e3dc_ex
    raise HomeAssistantError(
homeassistant.exceptions.HomeAssistantError: Communication Failure: Failed to send data

Diagnostics dump

No response

Manual memory charging power and memory discharging power. is broken

System Health details

Manual memory charging power and memory discharging power. is broken

Checklist

  • I have enabled debug logging for my installation.
  • I have filled out the issue template to the best of my ability.
  • This issue only contains 1 issue (if you have multiple issues, open one issue for each issue).
  • This issue is not a duplicate issue of currently previous issues..

Describe the issue

Manual memory charging power and memory discharging power. is broken

Reproduction steps

...

Debug logs

Traceback (most recent call last):
  File "/config/custom_components/e3dc_rscp/coordinator.py", line 471, in async_set_power_limits
    result: int = await self.hass.async_add_executor_job(
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/concurrent/futures/thread.py", line 58, in run
    result = self.fn(*self.args, **self.kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/e3dc/_e3dc.py", line 2130, in set_power_limits
    RscpType.UInt32,
    ^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/enum.py", line 784, in __getattr__
    raise AttributeError(name) from None
AttributeError: UInt32

Diagnostics dump

Manual memory charging power and memory discharging power. is broken

Total wallbox usage missing

Checklist

  • I have filled out the template to the best of my ability.
  • This only contains 1 feature request (if you have multiple feature requests, open one feature request for each feature request).
  • This issue is not a duplicate feature request of previous feature requests.

Is your feature request related to a problem? Please describe.

There is an entity for wallbox consumption (kW), but the entity for the total consumption (kWh) is missing.

This is the only entity missing for me to switch from my previous e3dc interface to this integration. There is also more detailed data available (kWh solar / net), but for me the sum is already enough.

Describe the solution you'd like

A new entity for wallbox_consumption_total (or _today) is available.

Describe alternatives you've considered

A Riemann integral would technically be possible.
Using another interface to get the data like before would be the another valid option.

Additional context

Currently I'm using the go-rscp command line utility by @spali (https://github.com/spali/go-rscp/). I can get the wallbox data with these keys:

  [ # day current
    "DB_REQ_HISTORY_DATA_DAY",
    [
      ["DB_REQ_HISTORY_TIME_START", some nonsense ],
      ["DB_REQ_HISTORY_TIME_INTERVAL", more nonsense ],
      ["DB_REQ_HISTORY_TIME_SPAN", guess ]
    ]
  ],
  [
    "WB_REQ_DATA",
    [
      ["WB_INDEX", 0],
      "WB_REQ_ENERGY_ALL",
      "WB_REQ_ENERGY_SOLAR"
    ]
  ]
]

example result

result:
  DB_SUM_CONTAINER:
    DB_GRAPH_INDEX: -1
    DB_BAT_POWER_IN: 799.5
    DB_BAT_POWER_OUT: 731.5
    DB_DC_POWER: 4714
    DB_GRID_POWER_IN: 57
    DB_GRID_POWER_OUT: 57612
    DB_CONSUMPTION: 63710
    DB_PM_0_POWER: 0
    DB_PM_1_POWER: -1874.5
    DB_BAT_CHARGE_LEVEL: 17.696
    DB_BAT_CYCLE_COUNT: 0
    DB_CONSUMED_PRODUCTION: 99.07392
    DB_AUTARKY: 9.571495
  WB_INDEX: 0
  WB_ENERGY_ALL: 60670
  WB_ENERGY_SOLAR: 599
friendly_name: e3dc_today

Diagnostics dump

e3dc_dump.json

Implement get_system_status

Checklist

  • I have filled out the template to the best of my ability.
  • This only contains 1 feature request (if you have multiple feature requests, open one feature request for each feature request).
  • This issue is not a duplicate feature request of previous feature requests.

Is your feature request related to a problem? Please describe.

Implement get_system_status

Describe the solution you'd like

Implement get_system_status

Describe alternatives you've considered

Implement get_system_status

Additional context

Implement get_system_status

Sensors do not show in Energy Dashboard

System Health details

none

Checklist

  • I have enabled debug logging for my installation.
  • I have filled out the issue template to the best of my ability.
  • This issue only contains 1 issue (if you have multiple issues, open one issue for each issue).
  • This issue is not a duplicate issue of currently previous issues..

Describe the issue

When I try to add the Sensors in HA Energy Dashboard, they do not show up as selectable because of missing statistics: https://developers.home-assistant.io/docs/core/entity/sensor#long-term-statistics

Reproduction steps

  1. Install HACS
  2. Install the Package
  3. Add E3DC
  4. Try to add to Energy Dashboard
    ...

Debug logs

none

Diagnostics dump

No response

Add additional Power Meters

Checklist

  • I have filled out the template to the best of my ability.
  • This only contains 1 feature request (if you have multiple feature requests, open one feature request for each feature request).
  • This issue is not a duplicate feature request of previous feature requests.

Is your feature request related to a problem? Please describe.

I have an additional Power Meter (E3DC LM3p80hhc) connected to my E3DC S10X Compact in order to measure the energy consumed by my heat pump. Within the E3DC Portal, it shows as a "externer Verbrauch" as you can see in the images below.
With the hacs-e3dc integration version 2.0.0, i cannot see this consumer in home assistant as a separate entity.

image image image

Describe the solution you'd like

I want to be able to see this consumption data as a separate sensor in Home Assistant.
According to this issue in the python-e3dc project, multiple meters can be queried via get_powermeter_data() / get_powermeters_data().

A good way could be to add additional additional power meter entities (similar to the "House consumption" & "House consumption - today"), named Power Meter 0 ... 7 which are hidden/disabled by default. By that, the majority of the users who very likely have only one powermeter won't be confused.

Describe alternatives you've considered

I found no other integration (e.g. via Modbus) which covers additional powermeters so far.

Additional context

My Python / Integrations skills are insufficient to implement the request on my own, unfortunately.

Add missing type specifications

System Health details

n/a

Checklist

  • I have enabled debug logging for my installation.
  • I have filled out the issue template to the best of my ability.
  • This issue only contains 1 issue (if you have multiple issues, open one issue for each issue).
  • This issue is not a duplicate issue of currently previous issues..

Describe the issue

There are a number of -> None specifications missing.

Reproduction steps

Read the source, Luke

Debug logs

n/a

Diagnostics dump

n/a

Emergency status - request

Checklist

  • I have filled out the template to the best of my ability.
  • This only contains 1 feature request (if you have multiple feature requests, open one feature request for each feature request).
  • This issue is not a duplicate feature request of previous feature requests.

Is your feature request related to a problem? Please describe.

no, I am missing an sensor value for emergency status / Notstrommodus.

Describe the solution you'd like

I would like to SEE the emergency status within HASS. This sensor would help me to run some automations in case of activated emergency state.

Based on the E3DC documentation, this value can also be SET to force the e3dc to run a test. This part is optional / only nice to have for me.

Here is the copy / paste from the docu:
1 = Notstrommodus oder Inselbetrieb ist aktiv
0 = Normalbetrieb
Üblicherweise schaltet das S10 selbstständig in den Notstrommodus wenn dies erforderlich ist.
Durch Schreiben dieses Datenpunktes kann das S10 aktiv in den Inselbetrieb bzw. zurück in den Normalbetrieb gebracht werden. Dadurch wird das S10 vom Stromnetz getrennt bzw. wieder verbunden.

Describe alternatives you've considered

Additional context

No response

Diagnostics dump

No response

Invalid authentication

System Health details

I filled all fields.
Username: Your E3DC portal user name
Password: Your E3DC portal password
Hostname: The Hostname or IP address of the E3/DC system
RSCP Password: This is the encryption key used in RSCP communications._
But only responce is: Invalid authentication
what happened? the ip is only xxx.xxx.xxx.xx i think?
thnaks for help

Checklist

  • I have enabled debug logging for my installation.
  • I have filled out the issue template to the best of my ability.
  • This issue only contains 1 issue (if you have multiple issues, open one issue for each issue).
  • This issue is not a duplicate issue of currently previous issues..

Describe the issue

I filled all fields.
Username: Your E3DC portal user name
Password: Your E3DC portal password
Hostname: The Hostname or IP address of the E3/DC system
RSCP Password: This is the encryption key used in RSCP communications._
But only responce is: Invalid authentication
what happened? the ip is only xxx.xxx.xxx.xx i think?
thnaks for help

Reproduction steps

I filled all fields.
Username: Your E3DC portal user name
Password: Your E3DC portal password
Hostname: The Hostname or IP address of the E3/DC system
RSCP Password: This is the encryption key used in RSCP communications._
But only responce is: Invalid authentication
what happened? the ip is only xxx.xxx.xxx.xx i think?
thnaks for help

Debug logs

I filled all fields.
Username: Your E3DC portal user name
Password: Your E3DC portal password
Hostname: The Hostname or IP address of the E3/DC system
RSCP Password: This is the encryption key used in RSCP communications._
But only responce is: Invalid authentication
what happened? the ip is only xxx.xxx.xxx.xx i think?
thnaks for help

Diagnostics dump

I filled all fields.
Username: Your E3DC portal user name
Password: Your E3DC portal password
Hostname: The Hostname or IP address of the E3/DC system
RSCP Password: This is the encryption key used in RSCP communications._
But only responce is: Invalid authentication
what happened? the ip is only xxx.xxx.xxx.xx i think?
thnaks for help

E3DC blackout times

Checklist

  • I have filled out the template to the best of my ability.
  • This only contains 1 feature request (if you have multiple feature requests, open one feature request for each feature request).
  • This issue is not a duplicate feature request of previous feature requests.

Is your feature request related to a problem? Please describe.

...

Describe the solution you'd like

Hello,

I've tried out the project and I really like it! It would be great, however, if the option to set blackout times could be added. Additionally, I would appreciate it if the power meter could be integrated not only for consumption but also for additional production. I use an E3/DC S10 Pro with an additional battery pack, an E3/DC SWR123 (an external inverter from E3/DC), and one from SolarEdge. One has an internal power meter that is not currently displayed, and the other has an external power meter, also not displayed. I also have two wall chargers (not the new ones, but the ones with e3dc branding from Walbe). If you need any data or information, I am happy to provide it. Please note, though, that my programming skills are limited.

Thank you very much for your hard work on this project!
Bildschirmfoto 2023-09-10 um 22 35 40

Describe alternatives you've considered

.....

Additional context

No response

Diagnostics dump

No response

How to discharge battery?

Checklist

  • I have filled out the template to the best of my ability.
  • This only contains 1 feature request (if you have multiple feature requests, open one feature request for each feature request).
  • This issue is not a duplicate feature request of previous feature requests.

Is your feature request related to a problem? Please describe.

Is there a way to discharge the battery? I tried to use the manual_charge with a negative value but that does not seem to work.

Use case is that in spring I get >12 kW from the roof but the inverter can only process 12 kW. If the battery has space it can store the additional power >12kW otherwise it is lost.

Idea was to discharge the battery by e.g. for 2 kW to make room for the delta from the roof. In that case if I get 13KW from the roof 1kW is directly stored in the battery.

Describe the solution you'd like

A solution would be to allow negative values for the manual_charge service. Then the battery is discharged for that value.

Describe alternatives you've considered

A separate discharge-battery service.

Additional context

No response

Diagnostics dump

No response

Improve README.md

Checklist

  • I have filled out the template to the best of my ability.
  • This only contains 1 feature request (if you have multiple feature requests, open one feature request for each feature request).
  • This issue is not a duplicate feature request of previous feature requests.

Is your feature request related to a problem? Please describe.

I was not sure which user / password i should enter. Also the rscp password i set did not work

Describe the solution you'd like

Please add following information to the README.md:

  • Which username / password one should enter
  • Which rscp password characters are allowed to use

Describe alternatives you've considered

Improve the error message in the ha dialog and suggest solutions like changing the rscp password

Additional context

Possibility to reboot the system

Checklist

  • I have filled out the template to the best of my ability.
  • This only contains 1 feature request (if you have multiple feature requests, open one feature request for each feature request).
  • This issue is not a duplicate feature request of previous feature requests.

Is your feature request related to a problem? Please describe.

Today, when not beeing st home, I saw a really strange behaviour in the E3DC portal. It was really sunny but the grid import was really high … exporting from battery to grid … no clue why …

I get it fixed via system reboot in the afternoon at home.

Describe the solution you'd like

A reboot remote would be great.

Describe alternatives you've considered

Additional context

Diagnostics dump

Error: Setup failed for 'e3dc_rscp' since upgrading to 3.5

System Health details

System Information

version core-2024.1.5
installation_type Home Assistant OS
dev false
hassio true
docker true
user root
virtualenv false
python_version 3.11.6
os_name Linux
os_version 6.1.71-haos
arch x86_64
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 1377
Downloaded Repositories 4
Home Assistant Cloud
logged_in false
can_reach_cert_server ok
can_reach_cloud_auth ok
can_reach_cloud ok
Discovergy
api_endpoint_reachable ok
Home Assistant Supervisor
host_os Home Assistant OS 11.4
update_channel stable
supervisor_version supervisor-2023.12.1
agent_version 1.6.0
docker_version 24.0.7
disk_total 30.8 GB
disk_used 4.3 GB
healthy true
supported true
board ova
supervisor_api ok
version_api ok
installed_addons Terminal & SSH (9.8.1), Z-Wave JS (0.4.3), File editor (5.7.0)
Dashboards
dashboards 1
resources 0
views 0
mode storage
Recorder
oldest_recorder_run 11. Januar 2024 um 19:34
current_recorder_run 21. Januar 2024 um 20:52
estimated_db_size 245.37 MiB
database_engine sqlite
database_version 3.41.2

Checklist

  • I have enabled debug logging for my installation.
  • I have filled out the issue template to the best of my ability.
  • This issue only contains 1 issue (if you have multiple issues, open one issue for each issue).
  • This issue is not a duplicate issue of currently previous issues..

Describe the issue

I started the update process from the HACS integration. I get the following error after the system reboot.

Error: Setup failed for 'e3dc_rscp' : Integration not found

Reproduction steps

  1. Go to HACS
  2. Start update process
  3. Reboot system

Debug logs

Sorry couldn't get the debugging logs

2024-01-21 20:52:46.408 WARNING (SyncWorker_4) [homeassistant.loader] We found a custom integration e3dc_rscp 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-01-21 20:52:46.408 ERROR (SyncWorker_4) [homeassistant.loader] The custom integration 'e3dc_rscp' does not have a valid version key (untagged-a66f76cbe32ae9999176) in the manifest file and was blocked from loading. See https://developers.home-assistant.io/blog/2021/01/29/custom-integration-changes#versions for more details
2024-01-21 20:52:46.410 WARNING (SyncWorker_4) [homeassistant.loader] We found a custom integration awattar_energy_cost 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-01-21 20:52:46.411 WARNING (SyncWorker_4) [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-01-21 20:52:54.037 ERROR (MainThread) [homeassistant.setup] Setup failed for 'e3dc_rscp': Integration not found.

Diagnostics dump

No response

Reconfiguration needed after network outage

System Health details

System Information

version core-2023.9.2
installation_type Home Assistant OS
dev false
hassio true
docker true
user root
virtualenv false
python_version 3.11.5
os_name Linux
os_version 6.1.21-v8
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.32.1
Stage running
Available Repositories 1285
Downloaded Repositories 16
Home Assistant Cloud
logged_in true
subscription_expiration 19. August 2024 um 02:00
relayer_connected true
relayer_region eu-central-1
remote_enabled true
remote_connected true
alexa_enabled true
google_enabled false
remote_server eu-central-1-0.ui.nabu.casa
certificate_status ready
can_reach_cert_server ok
can_reach_cloud_auth ok
can_reach_cloud ok
Home Assistant Supervisor
host_os Home Assistant OS 10.5
update_channel beta
supervisor_version supervisor-2023.09.2
agent_version 1.5.1
docker_version 23.0.6
disk_total 58.0 GB
disk_used 10.9 GB
healthy true
supported true
board rpi4-64
supervisor_api ok
version_api ok
installed_addons Samba share (10.0.2), Studio Code Server (5.10.2), Home Assistant Google Drive Backup (0.111.1), SQLite Web (3.9.3), Advanced SSH & Web Terminal (15.0.8), RaspberryMatic CCU (3.71.12.20230826), Mosquitto broker (6.3.1), Zigbee2MQTT (1.33.0-1), Network UPS Tools (0.12.1), MQTT Explorer (browser-1.0.1), eufy-security-ws (1.6.4), evcc (0.120.0)
Dashboards
dashboards 3
resources 8
views 12
mode storage
Recorder
oldest_recorder_run 11. September 2023 um 15:58
current_recorder_run 17. September 2023 um 12:57
estimated_db_size 582.79 MiB
database_engine sqlite
database_version 3.41.2
Spotify
api_endpoint_reachable ok

Checklist

  • I have enabled debug logging for my installation.
  • I have filled out the issue template to the best of my ability.
  • This issue only contains 1 issue (if you have multiple issues, open one issue for each issue).
  • This issue is not a duplicate issue of currently previous issues..

Describe the issue

Afte a network outage, the component needs to be reconfigured. It would be nicer it it just tried again until it works again.

Reproduction steps

  1. Interrupt the network connection to the E3DC device for about 1 hour
  2. Restore the connection
  3. It does not come back online and needs to be reconfigured

Debug logs

2023-09-17 17:08:35.853 WARNING (MainThread) [homeassistant.config_entries] Config entry 'E3DC S10X' for e3dc_rscp integration could not authenticate: Max retries reached

Diagnostics dump

No response

Add energy sensors

Checklist

  • I have filled out the template to the best of my ability.
  • This only contains 1 feature request (if you have multiple feature requests, open one feature request for each feature request).
  • This issue is not a duplicate feature request of previous feature requests.

Is your feature request related to a problem? Please describe.

Hi Torben,
Congratulations on the cool first release. I am relatively close to replacing my own add-on, which is much more complex and heavyweight, with your native HA integration. What I would still miss, besides all the current power values are the energy values to use them inside the HA energy dashboard.

Describe the solution you'd like

Therefor we need at least the following sensors:

  • Solar Energy, based on TAG_DB_HISTORY_DATA_DAY TAG_DB_DC_POWER (0x06800004)
  • Battery Energy Charge, based on TAG_DB_HISTORY_DATA_DAY TAG_DB_BAT_POWER_IN (0x06800002)
  • Battery Energy Discharge, based on TAG_DB_HISTORY_DATA_DAY TAG_DB_BAT_POWER_OUT (0x06800003)
    optional:
  • Wallbox Energy (don't know the RSCP tag yet)

All sensors need the following attributes:

  • unit_of_measurement: "kWh"
  • device_class: "energy"
  • state_class: total_increasing

Describe alternatives you've considered

./.

Additional context

./.

Service "e3dc_rscp.manual_charge" only works once! Second time it is not working.

System Health details

System Information

version core-2023.10.1
installation_type Home Assistant OS
dev false
hassio true
docker true
user root
virtualenv false
python_version 3.11.5
os_name Linux
os_version 6.1.45
arch x86_64
timezone Europe/Berlin
config_dir /config
Home Assistant Community Store
GitHub API ok
GitHub Content ok
GitHub Web ok
GitHub API Calls Remaining 4795
Installed Version 1.33.0
Stage running
Available Repositories 1308
Downloaded Repositories 12
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 10.5
update_channel stable
supervisor_version supervisor-2023.10.0
agent_version 1.5.1
docker_version 23.0.6
disk_total 234.0 GB
disk_used 21.0 GB
healthy true
supported true
board generic-x86-64
supervisor_api ok
version_api ok
installed_addons Spotify Connect (0.12.5), Terminal & SSH (9.7.1), Mosquitto broker (6.3.1), Frigate (0.12.1), Cloudflared (4.2.6), Advanced SSH & Web Terminal (15.0.7), File editor (5.6.0), InfluxDB (4.7.0), Studio Code Server (5.11.0), Piper (1.4.0), Whisper (1.0.0)
Dashboards
dashboards 5
resources 3
views 5
mode storage
Recorder
oldest_recorder_run October 2, 2023 at 19:46
current_recorder_run October 11, 2023 at 16:06
estimated_db_size 1198.40 MiB
database_engine sqlite
database_version 3.41.2

Checklist

  • I have enabled debug logging for my installation.
  • I have filled out the issue template to the best of my ability.
  • This issue only contains 1 issue (if you have multiple issues, open one issue for each issue).
  • This issue is not a duplicate issue of currently previous issues..

Describe the issue

Hello,

the service "e3dc_rscp.manual_charge" works fine as action in automation or as service call. But only the one time. If I try to call this service again with the same command, nothing happens and the log file looks like this:

This error originated from a custom integration.

Logger: custom_components.e3dc_rscp.coordinator
Source: custom_components/e3dc_rscp/coordinator.py:446
Integration: E3DC Remote Storage Control Protocol (Git) (documentation, issues)
First occurred: 16:06:59 (2 occurrences)
Last logged: 16:09:18

Manual charging could not be activated

If I reboot the S10E, the service works again. Maybe this could also be a hardware issue.

Any Ideas? Thank you for your work, Torben!

Reproduction steps

  1. I startet charging with the service template:
service: e3dc_rscp.manual_charge
data:
  device_id: 9317de1ac45a622558cc6f270f90283a
  charge_amount: 1000
  1. I wait until 1000 watts are charged. Also I am be able to stop the charging by set a charge_amount of 0.
  2. If I try, to activate the charging again with the command from bullet (1.), the service seems to be executed (green checked), but nothing happens. The debug log shows:
2023-10-11 15:44:02.820 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Starting manual charge of: 200
2023-10-11 15:44:02.830 WARNING (MainThread) [custom_components.e3dc_rscp.coordinator] Manual charging could not be activated
  1. Reload or redownloading of the custom component didn't help. Nor the rebooting of Home Assistant. But after rebooting of the S10E the command can again be executed one time.

Debug logs

2023-10-11 15:44:02.820 DEBUG (MainThread) [custom_components.e3dc_rscp.coordinator] Starting manual charge of: 200
2023-10-11 15:44:02.830 WARNING (MainThread) [custom_components.e3dc_rscp.coordinator] Manual charging could not be activated

Diagnostics dump

Make E3DC Portal "Actual Data" also available as sensors.

Checklist

  • I have filled out the template to the best of my ability.
  • This only contains 1 feature request (if you have multiple feature requests, open one feature request for each feature request).
  • This issue is not a duplicate feature request of previous feature requests.

Is your feature request related to a problem? Please describe.

I would like to show the actual data (as shown in the E3DC Portal "Aktuelle Werte") also in my Home Assistant dashboard.

Describe the solution you'd like

It would be helpful to have the https://python-e3dc.readthedocs.io/en/latest/e3dc.html#e3dc.E3DC.poll_rscp function from python-e3dc implemented to get values for the following sensors:

  • consumption.battery -> sensor.E3DC_battery_power

  • consumption.house -> sensor.E3DC_house_power

  • consumption.wallbox -> sensor.E3DC_wallbox_power

  • production.solar -> sensor.E3DC_solar_power

  • production.add -> sensor.E3DC_add_power

  • production.grid -> sensor.E3DC_grid_power

Describe alternatives you've considered

I already use a MODBUS implementation of E3DC which delivers these values.
But i would like to migrate this to your E3DC RSCP implementation.

Additional context

No response

Diagnostics dump

No response

Fix manual-charge-energy reading

System Health details

./.

Checklist

  • I have enabled debug logging for my installation.
  • I have filled out the issue template to the best of my ability.
  • This issue only contains 1 issue (if you have multiple issues, open one issue for each issue).
  • This issue is not a duplicate issue of currently previous issues..

Describe the issue

The reading manual-charge-energy seems to work in strange ways. It is given in kAh using the individual cell's voltage as a baseline, but somehow counted across all cells.

This is a f'up on #40.

Reproduction steps

Charge 100 Wh
Afterwards, the reading is approx. 0,027 at a indvidual cell voltage of approx. 3,65. Multiplying it, you get back to the 0,1 kWh.

Debug logs

Taken with the 100Wh sample
...
      "manual-charge-energy": 0.027804025694444467,
...
            "voltages": [
              3.65,
...

Diagnostics dump

./.

Add switch for myPV control (Heating Rod)

Checklist

  • I have filled out the template to the best of my ability.
  • This only contains 1 feature request (if you have multiple feature requests, open one feature request for each feature request).
  • This issue is not a duplicate feature request of previous feature requests.

Is your feature request related to a problem? Please describe.

E3DC S10E Pro System offers the option to directly include and control a heating rod from the company myPV. See link:

https://my-pv.com/de/produkte/ac-elwa-e/

This control is enabled in E3DC main menu --> Smart-Functions --> Smart Home --> my-PV. The S10E Pro offers the option to either define a:

  • fixed time windows in which the rod will be activated and heat up the water
  • start a "boost function", which enables rod heating for 15 mins and then switch off
  • define a "default behaviour" for what is done with "surplus" energy, which would normally be fed into the grid (Einspeisung), i.e. instead of feeding the power in the grid, it will be used to power the heating rod instead (dynamic power demands from 0 W to 3.000 W).

The rod itself will stop heating once it reaches a defined maximum temperature, which is set via a dial-knob at the rod itself. The S10E is not involved in this (safety feature to prevent overheating, etc.).

Describe the solution you'd like

I would like to be able to control the rod via the S10E and RSCP (if there are suitable commands existing for that - don't know that). Desired behaviour would be:

  • be able to launch/start the "boost" option via RSCP (if possible a simple on/off would also be nice)
  • be able to activate / de-activate certain time windows for heating rod operation, as defined on the S10E.

This will enable me to optimise my self-used PV energy.

Describe alternatives you've considered

Directly control the myPV heating rod as stand-alone device in Homeassistant and not using the offered S10E / myPV integration. The heating rod offers the possibility to write a certain heating demand in Watts via Modbus. However, this is only possible if the heating rod is not linked/coupled to the E3DC, as the heating rod will not accept any other Modbus commands once it has been linked to a E3DC device.

Due to the fact that the E3DC device is doing a nice job to dynamically demand heating for its exisiting surplus energy (to be fed into the grid) in a range from 0 W to 3.000 W, I do not want to miss out on that existing feature and do it myself in a less reliable automation. Switching on/off the boost or enabling/disabling an existing time schedule on the S10E would be much easier to do.

Additional context

IMG_7494

Diagnostics dump

No response

E3DC Manual charge

Checklist

  • I have filled out the template to the best of my ability.
  • This only contains 1 feature request (if you have multiple feature requests, open one feature request for each feature request).
  • This issue is not a duplicate feature request of previous feature requests.

Is your feature request related to a problem? Please describe.

Please integrate this feature so that it would be possible to load the memory manually via Tibber, for example

Bildschirmfoto 2024-01-21 um 17 51 03

Describe the solution you'd like

.

Describe alternatives you've considered

.

Additional context

Wanted to ask if you can support the project financially or when the next update will come with the wallboxes

Diagnostics dump

No response

Total sensors: pv production / from grid / to grid / battery charge / battery discharge / (total per string, total wallbox usage)

Checklist

  • I have filled out the template to the best of my ability.
  • This issue is not a duplicate feature request of previous feature requests.
  • This only contains 1 feature request (if you have multiple feature requests, open one feature request for each feature request).

Is your feature request related to a problem? Please describe.

Not a problem of the integration itself, more a problem to be able to hanlde data more easily.

I would like to create weekly / monthly / yearly sensor - thus the daily reset is not ideal

Describe the solution you'd like

Additional Sensors - if data is provided via RSCP for above mentioned entities.

Describe alternatives you've considered

workaround: addd attribute last period and value to sensor - then it can be done manually

Additional context

needed for clean human readable dashboards to track, energy cycle within a household

Diagnostics dump

No response

Add temperatur sensor from E3DC System

Checklist

  • I have filled out the template to the best of my ability.
  • This only contains 1 feature request (if you have multiple feature requests, open one feature request for each feature request).
  • This issue is not a duplicate feature request of previous feature requests.

Is your feature request related to a problem? Please describe.

I want to see when I need to heat the room in which the E3DC is standing. The external temperature is deviating from the temperature inside the E3DC System. I would like to use the internal temeratur sensor as a trigger for a heating system

Describe the solution you'd like

I would like to have a temperatur sensor, which can be seen on the webportal in the section "System Monitor".

Describe alternatives you've considered

There are no alternatives, only not to implement this

Additional context

No response

Diagnostics dump

No response

Additional Production not enabled automatically if present

System Health details

./.

Checklist

  • I have enabled debug logging for my installation.
  • I have filled out the issue template to the best of my ability.
  • This issue only contains 1 issue (if you have multiple issues, open one issue for each issue).
  • This issue is not a duplicate issue of currently previous issues..

Describe the issue

There is no "sensor.s10e_pro_additional_production" or similar showing up in entities, although there is an E3DC external inverter with additonal 2 strings installed.

Reproduction steps

...

Debug logs

./.

Diagnostics dump

No response

Upgrade to latest HA

Checklist

  • I have filled out the template to the best of my ability.
  • This only contains 1 feature request (if you have multiple feature requests, open one feature request for each feature request).
  • This issue is not a duplicate feature request of previous feature requests.

Is your feature request related to a problem? Please describe.

Upgrade to latest HA

Describe the solution you'd like

Upgrade to latest HA

Describe alternatives you've considered

Upgrade to latest HA

Additional context

Upgrade to latest HA

See current blogs for neccessary changes, might break compatibility to earlier versions, needs checking

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.