dm82m / hass-Deltasol-KM2

Custom component for retrieving sensor information from Resol KM1/KM2, DL2/DL3, VBus/LAN, VBus/USB
MIT License
25 stars 6 forks source link

add support for VBus/LAN and VBus/USB #22

Closed dm82m closed 1 year ago

dm82m commented 1 year ago

placeholder issue to discuss the support of VBus/LAN

hoppel118 commented 1 year ago

Thanks for integrating vbus/lan adapter.

Your addon is installed and works as expected:

screenshot_1206

The following curl command shows the following output:

curl -s http://homeassistant.home.arpa:3333/api/v1/live-data

[
    {
        "id": "00_0010_7321_10_0100_000_2_0",
        "name": "Temperature sensor 1",
        "rawValue": 9.1
    },
    {
        "id": "00_0010_7321_10_0100_002_2_0",
        "name": "Temperature sensor 2",
        "rawValue": 10.4
    },
    {
        "id": "00_0010_7321_10_0100_004_2_0",
        "name": "Temperature sensor 3",
        "rawValue": 12.3
    },
    {
        "id": "00_0010_7321_10_0100_006_2_0",
        "name": "Temperature sensor 4",
        "rawValue": 56.2
    },
    {
        "id": "00_0010_7321_10_0100_008_2_0",
        "name": "Temperature sensor 5",
        "rawValue": 888.8000000000001
    },
    {
        "id": "00_0010_7321_10_0100_010_2_0",
        "name": "Temperature sensor 6",
        "rawValue": 888.8000000000001
    },
    {
        "id": "00_0010_7321_10_0100_012_2_0",
        "name": "Temperature sensor 7",
        "rawValue": 888.8000000000001
    },
    {
        "id": "00_0010_7321_10_0100_014_2_0",
        "name": "Temperature sensor 8",
        "rawValue": 888.8000000000001
    },
    {
        "id": "00_0010_7321_10_0100_016_2_0",
        "name": "Temperature sensor 9",
        "rawValue": 888.8000000000001
    },
    {
        "id": "00_0010_7321_10_0100_018_2_0",
        "name": "Temperature sensor 10",
        "rawValue": 888.8000000000001
    },
    {
        "id": "00_0010_7321_10_0100_020_2_0",
        "name": "Temperature sensor 11",
        "rawValue": 888.8000000000001
    },
    {
        "id": "00_0010_7321_10_0100_022_2_0",
        "name": "Temperature sensor 12",
        "rawValue": 888.8000000000001
    },
    {
        "id": "00_0010_7321_10_0100_024_2_0",
        "name": "Irradiation",
        "rawValue": 0
    },
    {
        "id": "00_0010_7321_10_0100_028_4_0",
        "name": "Impulse input 1",
        "rawValue": 0
    },
    {
        "id": "00_0010_7321_10_0100_032_4_0",
        "name": "Impulse input 2",
        "rawValue": 0
    },
    {
        "id": "00_0010_7321_10_0100_036_2_0",
        "name": "Sensor line break mask",
        "rawValue": 4080
    },
    {
        "id": "00_0010_7321_10_0100_038_2_0",
        "name": "Sensor short-circuit mask",
        "rawValue": 0
    },
    {
        "id": "00_0010_7321_10_0100_040_2_0",
        "name": "Sensor usage mask",
        "rawValue": 3
    },
    {
        "id": "00_0010_7321_10_0100_044_1_0",
        "name": "Pump speed relay 1",
        "rawValue": 0
    },
    {
        "id": "00_0010_7321_10_0100_045_1_0",
        "name": "Pump speed relay 2",
        "rawValue": 0
    },
    {
        "id": "00_0010_7321_10_0100_046_1_0",
        "name": "Pump speed relay 3",
        "rawValue": 0
    },
    {
        "id": "00_0010_7321_10_0100_047_1_0",
        "name": "Pump speed relay 4",
        "rawValue": 0
    },
    {
        "id": "00_0010_7321_10_0100_048_1_0",
        "name": "Pump speed relay 5",
        "rawValue": 0
    },
    {
        "id": "00_0010_7321_10_0100_049_1_0",
        "name": "Pump speed relay 6",
        "rawValue": 0
    },
    {
        "id": "00_0010_7321_10_0100_050_1_0",
        "name": "Pump speed relay 7",
        "rawValue": 0
    },
    {
        "id": "00_0010_7321_10_0100_051_1_0",
        "name": "Pump speed relay 8",
        "rawValue": 0
    },
    {
        "id": "00_0010_7321_10_0100_052_1_0",
        "name": "Pump speed relay 9",
        "rawValue": 0
    },
    {
        "id": "00_0010_7321_10_0100_058_2_0",
        "name": "Relay usage mask",
        "rawValue": 1
    },
    {
        "id": "00_0010_7321_10_0100_060_2_0",
        "name": "Error mask",
        "rawValue": 0
    },
    {
        "id": "00_0010_7321_10_0100_062_2_0",
        "name": "Warning mask",
        "rawValue": 0
    },
    {
        "id": "00_0010_7321_10_0100_064_2_0",
        "name": "Controller version",
        "rawValue": 258
    },
    {
        "id": "00_0010_7321_10_0100_066_2_0",
        "name": "System time",
        "rawValue": 1242
    },
    {
        "id": "00_0010_7326_10_0100_000_2_0",
        "name": "Flow temperature",
        "rawValue": 9.1
    },
    {
        "id": "00_0010_7326_10_0100_002_2_0",
        "name": "Return temperature",
        "rawValue": 10.4
    },
    {
        "id": "00_0010_7326_10_0100_004_2_0",
        "name": "Flow rate",
        "rawValue": 0
    },
    {
        "id": "00_0010_7326_10_0100_006_2_0",
        "name": "Heat",
        "rawValue": 5378764
    }
]% 

For testing purposes I stopped the addon and ran the command again. There is no more output. So the addon works.

Your HACS is installed:

screenshot_1207

My configuration.yaml has the following content:

logger:
  default: warn
  logs:
    custom_components.deltasol: debug

sensor:
  - platform: deltasol
    host: 127.0.0.1:3333

I don't know if those are the Home Assistant Core Logs you need. I see 2 relevant errors:

Logger: custom_components.deltasol
Source: helpers/update_coordinator.py:201
Integration: deltasol ([documentation](https://github.com/dm82m/hass-deltasol-KM2), [issues](https://github.com/dm82m/hass-deltasol-KM2/issues))
First occurred: 20:17:41 (1 occurrences)
Last logged: 20:17:41

Error requesting deltasol_km2_sensor data: HTTPConnectionPool(host='%7bself.host%7d', port=80): Max retries exceeded with url: /api/v1/live-data (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7f51fff908e0>: Failed to establish a new connection: [Errno -2] Name does not resolve'))
Logger: homeassistant.components.sensor
Source: custom_components/deltasol/sensor.py:55
Integration: Sensor ([documentation](https://www.home-assistant.io/integrations/sensor), [issues](https://github.com/home-assistant/home-assistant/issues?q=is%3Aissue+is%3Aopen+label%3A%22integration%3A+sensor%22))
First occurred: 20:17:41 (1 occurrences)
Last logged: 20:17:41

Error while setting up deltasol platform for sensor
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 281, in _async_setup_platform
    await asyncio.shield(task)
  File "/config/custom_components/deltasol/sensor.py", line 95, in async_setup_platform
    await update_unique_ids(hass, coordinator.data)
  File "/config/custom_components/deltasol/sensor.py", line 55, in update_unique_ids
    for unique_id, endpoint in data.items():
AttributeError: 'NoneType' object has no attribute 'items'

If these aren't the logs you need, please let me know where exactly I can find the logs you need. Like I said, I'm a Home Assistant newbie. I installed it 3 weeks ago. ;)

hoppel118 commented 1 year ago

Unter "System - Logs - RESOL-VBUS" habe ich jetzt gerade noch folgendes gefunden:

debug: HeaderSet complete
debug: HeaderSet complete
debug: HeaderSet complete
debug: HeaderSet complete
debug: HeaderSet complete

Die Zeile sehe ich da ungefähr 200 Mal. Aber sonst keine andere Meldung.

hoppel118 commented 1 year ago

Ich bin jetzt erstmal weg. Morgen ist ja auch noch ein Tag... ;)

Danke bis hierhin.

dm82m commented 1 year ago

ich hatte einen kleinen fehler drin, ist jetzt gefixt. einfach in hacs auf die integration gehen, die 3 punkte und dann "Erneut Herunterladen" und da wieder die Version 0.3.0b auswählen

hoppel118 commented 1 year ago

Huch… Legst du Wert darauf hier Englisch zu sprechen? :)

Ich habe Version 0.3.0b erneut heruntergeladen und anschließend Home Assistant neu gestartet.

Es werden keine Geräte bzw. Entitäten angelegt.

Ich habe noch eine andere HACS Integration. Da sehe ich die Entitäten unter „Einstellungen - Geräte & Dienste - Entitäten“. Dort sehe ich auch die Entitäten, die ich per Rest vom Resol Addon auslese. Sollten hier auch die von deiner HACS Integration automatisch erzeugten Entitäten zu finden sein oder schaue ich an der falschen Stelle?

Gruß Hoppel

dm82m commented 1 year ago

Ne kein Problem mit deutsch. Schau noch mal in das log von Home Assistant Core nach allem mit „deltasol“

dm82m commented 1 year ago

@hoppel118 also das log interessiert mich nach wie vor, aber wichtiger wäre jetzt:

hoppel118 commented 1 year ago

Hm..., das vollständige Home Assistant Core Protokoll sieht nach einem Neustart wie folgt aus:

2023-01-05 10:03:37.462 WARNING (SyncWorker_0) [homeassistant.loader] We found a custom integration miheater 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-01-05 10:03:37.462 WARNING (SyncWorker_0) [homeassistant.loader] We found a custom integration openmediavault 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-01-05 10:03:37.463 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-01-05 10:03:37.464 WARNING (SyncWorker_0) [homeassistant.loader] We found a custom integration deltasol 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-01-05 10:03:40.725 ERROR (MainThread) [homeassistant.components.hassio.handler] /store return code 500
2023-01-05 10:03:40.753 ERROR (MainThread) [homeassistant.components.hassio] Failed to to call /store -
2023-01-05 10:03:45.442 WARNING (SyncWorker_5) [custom_components.miheater.climate] zhimi.heater.zb1 2.1.8 esp32 detected

Mehr steht da nicht. Ich bin mir allerdings nicht sicher, ob das überhaupt die richtige stelle ist, wo ich nach dem Protokoll schaue.

Ich schaue hier:

Ist es das, was du brauchst? Oder gibt es noch irgendwo etwas aussagefähigeres mit historischen Daten?

Dieses Log wird anscheinend bei jedem Neustart zurückgesetzt.

ICh führe die Aktualisierung gleich mal durch und melde mich dann wieder.

dm82m commented 1 year ago

Ist es das, was du brauchst? Oder gibt es noch irgendwo etwas aussagefähigeres mit historischen Daten?

die stelle stimmt schon. irgendwie hab ich das gefühl, dass entweder das logging aus deiner configuration.yaml rausgeflogen ist oder der sensor für die deltasol integration rausgeflogen ist, oder beides. poste mal deine configuration.yaml - achte darauf dass du passwörter ggf. durch *** ersetzt

hoppel118 commented 1 year ago

Achja, danke für den Input. Ich hatte gestern das Logging und die deltasol Konfiguration in der configuration.yaml auskommentiert, da ich mir nicht sicher war, ob das die Rest Funktionalität irgendwie beeinträchtigen könnte.

OK, das habe ich jetzt geändert und HA neugestartet. Kaum macht man es richtig, sieht man auch was im Log:

2023-01-05 10:27:14.455 WARNING (SyncWorker_0) [homeassistant.loader] We found a custom integration miheater 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-01-05 10:27:14.455 WARNING (SyncWorker_0) [homeassistant.loader] We found a custom integration openmediavault 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-01-05 10:27:14.455 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-01-05 10:27:14.455 WARNING (SyncWorker_0) [homeassistant.loader] We found a custom integration deltasol 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-01-05 10:27:21.639 DEBUG (SyncWorker_3) [custom_components.deltasol] Retrieving data from dlx
2023-01-05 10:27:21.645 DEBUG (SyncWorker_3) [custom_components.deltasol] VBus response: [{'id': '00_0010_7321_10_0100_000_2_0', 'name': 'Temperature sensor 1', 'rawValue': 16.400000000000002}, {'id': '00_0010_7321_10_0100_002_2_0', 'name': 'Temperature sensor 2', 'rawValue': 10.200000000000001}, {'id': '00_0010_7321_10_0100_004_2_0', 'name': 'Temperature sensor 3', 'rawValue': 17.3}, {'id': '00_0010_7321_10_0100_006_2_0', 'name': 'Temperature sensor 4', 'rawValue': 61.800000000000004}, {'id': '00_0010_7321_10_0100_008_2_0', 'name': 'Temperature sensor 5', 'rawValue': 888.8000000000001}, {'id': '00_0010_7321_10_0100_010_2_0', 'name': 'Temperature sensor 6', 'rawValue': 888.8000000000001}, {'id': '00_0010_7321_10_0100_012_2_0', 'name': 'Temperature sensor 7', 'rawValue': 888.8000000000001}, {'id': '00_0010_7321_10_0100_014_2_0', 'name': 'Temperature sensor 8', 'rawValue': 888.8000000000001}, {'id': '00_0010_7321_10_0100_016_2_0', 'name': 'Temperature sensor 9', 'rawValue': 888.8000000000001}, {'id': '00_0010_7321_10_0100_018_2_0', 'name': 'Temperature sensor 10', 'rawValue': 888.8000000000001}, {'id': '00_0010_7321_10_0100_020_2_0', 'name': 'Temperature sensor 11', 'rawValue': 888.8000000000001}, {'id': '00_0010_7321_10_0100_022_2_0', 'name': 'Temperature sensor 12', 'rawValue': 888.8000000000001}, {'id': '00_0010_7321_10_0100_024_2_0', 'name': 'Irradiation', 'rawValue': 0}, {'id': '00_0010_7321_10_0100_028_4_0', 'name': 'Impulse input 1', 'rawValue': 0}, {'id': '00_0010_7321_10_0100_032_4_0', 'name': 'Impulse input 2', 'rawValue': 0}, {'id': '00_0010_7321_10_0100_036_2_0', 'name': 'Sensor line break mask', 'rawValue': 4080}, {'id': '00_0010_7321_10_0100_038_2_0', 'name': 'Sensor short-circuit mask', 'rawValue': 0}, {'id': '00_0010_7321_10_0100_040_2_0', 'name': 'Sensor usage mask', 'rawValue': 3}, {'id': '00_0010_7321_10_0100_044_1_0', 'name': 'Pump speed relay 1', 'rawValue': 0}, {'id': '00_0010_7321_10_0100_045_1_0', 'name': 'Pump speed relay 2', 'rawValue': 0}, {'id': '00_0010_7321_10_0100_046_1_0', 'name': 'Pump speed relay 3', 'rawValue': 0}, {'id': '00_0010_7321_10_0100_047_1_0', 'name': 'Pump speed relay 4', 'rawValue': 0}, {'id': '00_0010_7321_10_0100_048_1_0', 'name': 'Pump speed relay 5', 'rawValue': 0}, {'id': '00_0010_7321_10_0100_049_1_0', 'name': 'Pump speed relay 6', 'rawValue': 0}, {'id': '00_0010_7321_10_0100_050_1_0', 'name': 'Pump speed relay 7', 'rawValue': 0}, {'id': '00_0010_7321_10_0100_051_1_0', 'name': 'Pump speed relay 8', 'rawValue': 0}, {'id': '00_0010_7321_10_0100_052_1_0', 'name': 'Pump speed relay 9', 'rawValue': 0}, {'id': '00_0010_7321_10_0100_058_2_0', 'name': 'Relay usage mask', 'rawValue': 1}, {'id': '00_0010_7321_10_0100_060_2_0', 'name': 'Error mask', 'rawValue': 0}, {'id': '00_0010_7321_10_0100_062_2_0', 'name': 'Warning mask', 'rawValue': 0}, {'id': '00_0010_7321_10_0100_064_2_0', 'name': 'Controller version', 'rawValue': 258}, {'id': '00_0010_7321_10_0100_066_2_0', 'name': 'System time', 'rawValue': 633}, {'id': '00_0010_7326_10_0100_000_2_0', 'name': 'Flow temperature', 'rawValue': 16.400000000000002}, {'id': '00_0010_7326_10_0100_002_2_0', 'name': 'Return temperature', 'rawValue': 10.200000000000001}, {'id': '00_0010_7326_10_0100_004_2_0', 'name': 'Flow rate', 'rawValue': 0}, {'id': '00_0010_7326_10_0100_006_2_0', 'name': 'Heat', 'rawValue': 5378764}]
2023-01-05 10:27:21.650 ERROR (MainThread) [custom_components.deltasol] Unexpected error fetching deltasol_km2_sensor data: DeltasolEndpoint.__new__() missing 4 required positional arguments: 'unit', 'description', 'bus_dest', and 'bus_src'
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 225, in _async_refresh
self.data = await self._async_update_data()
File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 181, in _async_update_data
return await self.update_method()
File "/config/custom_components/deltasol/sensor.py", line 79, in async_update_data
data = await hass.async_add_executor_job(api.fetch_data)
File "/usr/local/lib/python3.10/concurrent/futures/thread.py", line 58, in run
result = self.fn(*self.args, **self.kwargs)
File "/config/custom_components/deltasol/deltasolapi.py", line 118, in fetch_data
return self.__parse_data_vbus(response)
File "/config/custom_components/deltasol/deltasolapi.py", line 62, in __parse_data_vbus
data[unique_id] = DeltasolEndpoint(
TypeError: DeltasolEndpoint.__new__() missing 4 required positional arguments: 'unit', 'description', 'bus_dest', and 'bus_src'
2023-01-05 10:27:21.652 DEBUG (MainThread) [custom_components.deltasol] Finished fetching deltasol_km2_sensor data in 0.013 seconds (success: False)
2023-01-05 10:27:21.652 DEBUG (MainThread) [custom_components.deltasol] Checking for sensors with old ids in registry.
2023-01-05 10:27:21.656 ERROR (MainThread) [homeassistant.components.sensor] Error while setting up deltasol platform for sensor
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 289, in _async_setup_platform
await asyncio.shield(task)
File "/config/custom_components/deltasol/sensor.py", line 98, in async_setup_platform
await update_unique_ids(hass, coordinator.data)
File "/config/custom_components/deltasol/sensor.py", line 58, in update_unique_ids
for unique_id, endpoint in data.items():
AttributeError: 'NoneType' object has no attribute 'items'

OK, das Addon habe ich auf 0.0.4 geupdated. Hier das Logfile:

s6-rc: info: service s6rc-oneshot-runner: starting
s6-rc: info: service s6rc-oneshot-runner successfully started
s6-rc: info: service fix-attrs: starting
s6-rc: info: service fix-attrs successfully started
s6-rc: info: service legacy-cont-init: starting
s6-rc: info: service legacy-cont-init successfully started
s6-rc: info: service legacy-services: starting
s6-rc: info: service legacy-services successfully started
--- VERSIONS ---
nodejs version: v19.3.0
npm version: 9.2.0
--- DEVICES ---
/dev/tty
/dev/tty0
/dev/tty1
/dev/tty10
/dev/tty11
/dev/tty12
/dev/tty13
/dev/tty14
/dev/tty15
/dev/tty16
/dev/tty17
/dev/tty18
/dev/tty19
/dev/tty2
/dev/tty20
/dev/tty21
/dev/tty22
/dev/tty23
/dev/tty24
/dev/tty25
/dev/tty26
/dev/tty27
/dev/tty28
/dev/tty29
/dev/tty3
/dev/tty30
/dev/tty31
/dev/tty32
/dev/tty33
/dev/tty34
/dev/tty35
/dev/tty36
/dev/tty37
/dev/tty38
/dev/tty39
/dev/tty4
/dev/tty40
/dev/tty41
/dev/tty42
/dev/tty43
/dev/tty44
/dev/tty45
/dev/tty46
/dev/tty47
/dev/tty48
/dev/tty49
/dev/tty5
/dev/tty50
/dev/tty51
/dev/tty52
/dev/tty53
/dev/tty54
/dev/tty55
/dev/tty56
/dev/tty57
/dev/tty58
/dev/tty59
/dev/tty6
/dev/tty60
/dev/tty61
/dev/tty62
/dev/tty63
/dev/tty7
/dev/tty8
/dev/tty9
/dev/ttyS0
/dev/ttyS1
/dev/ttyS2
/dev/ttyS3
/dev/ttyUSB0
--- json-live-data-server ---
debug: Starting server...
debug: Connect to VBus data source...
info: Ready to serve from the following URLs:
info:     - http://127.0.0.1:3333/api/v1/live-data (internal)
info:     - http://172.30.33.4:3333/api/v1/live-data
debug: HeaderSet complete

http://homeassistant.home.arpa/cgi-bin/get_resol_device_information

Das funktioniert nicht, habe alternativ statt DNS auch die Home Assistant IP probiert:

screenshot_1212

Funktioniert auch nicht: http://homeassistant.home.arpa/dlx/download/download?source=current&outputType=json

  • aktualisiere die integration auf 0.3.0b1, starte home assistant neu und poste das log vom home assistant core mit allem was deltasol enthält

OK, hier das Log:

2023-01-05 10:35:03.118 WARNING (SyncWorker_1) [homeassistant.loader] We found a custom integration miheater 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-01-05 10:35:03.119 WARNING (SyncWorker_1) [homeassistant.loader] We found a custom integration openmediavault 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-01-05 10:35:03.120 WARNING (SyncWorker_1) [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-01-05 10:35:03.129 WARNING (SyncWorker_1) [homeassistant.loader] We found a custom integration deltasol 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-01-05 10:35:10.490 INFO (SyncWorker_5) [custom_components.deltasol] Auto detecting Resol Deltasol product from http://127.0.0.1:3333/cgi-bin/get_resol_device_information
2023-01-05 10:35:10.496 ERROR (SyncWorker_5) [custom_components.deltasol] Are you sure you entered the correct address of the Resol Deltasol KM2/DL2/DL3 device? Please re-check and if the issue still persists, please file an issue here: https://github.com/dm82m/hass-Deltasol-KM2/issues/new/choose
2023-01-05 10:35:10.502 ERROR (MainThread) [custom_components.deltasol] Stopping Deltasol Resol integration due to previous error: Are you sure you entered the correct address of the Resol Deltasol KM2/DL2/DL3 device? Please re-check and if the issue still persists, please file an issue here: https://github.com/dm82m/hass-Deltasol-KM2/issues/new/choose
2023-01-05 10:35:10.503 ERROR (MainThread) [custom_components.deltasol] Unexpected error fetching deltasol_km2_sensor data: Are you sure you entered the correct address of the Resol Deltasol KM2/DL2/DL3 device? Please re-check and if the issue still persists, please file an issue here: https://github.com/dm82m/hass-Deltasol-KM2/issues/new/choose
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 225, in _async_refresh
self.data = await self._async_update_data()
File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 181, in _async_update_data
return await self.update_method()
File "/config/custom_components/deltasol/sensor.py", line 83, in async_update_data
raise error
File "/config/custom_components/deltasol/sensor.py", line 79, in async_update_data
data = await hass.async_add_executor_job(api.fetch_data)
File "/usr/local/lib/python3.10/concurrent/futures/thread.py", line 58, in run
result = self.fn(*self.args, **self.kwargs)
File "/config/custom_components/deltasol/deltasolapi.py", line 104, in fetch_data
raise error
File "/config/custom_components/deltasol/deltasolapi.py", line 89, in fetch_data
product = self.detect_product()
File "/config/custom_components/deltasol/deltasolapi.py", line 75, in detect_product
raise IntegrationError(error)
homeassistant.exceptions.IntegrationError: Are you sure you entered the correct address of the Resol Deltasol KM2/DL2/DL3 device? Please re-check and if the issue still persists, please file an issue here: https://github.com/dm82m/hass-Deltasol-KM2/issues/new/choose
2023-01-05 10:35:10.505 DEBUG (MainThread) [custom_components.deltasol] Finished fetching deltasol_km2_sensor data in 0.016 seconds (success: False)
2023-01-05 10:35:10.506 DEBUG (MainThread) [custom_components.deltasol] Checking for sensors with old ids in registry.
2023-01-05 10:35:10.511 ERROR (MainThread) [homeassistant.components.sensor] Error while setting up deltasol platform for sensor
Traceback (most recent call last):
File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 289, in _async_setup_platform
await asyncio.shield(task)
File "/config/custom_components/deltasol/sensor.py", line 98, in async_setup_platform
await update_unique_ids(hass, coordinator.data)
File "/config/custom_components/deltasol/sensor.py", line 58, in update_unique_ids
for unique_id, endpoint in data.items():
AttributeError: 'NoneType' object has no attribute 'items'

Anscheinend gibt es Verbindungsprobleme.

Das vbus/lan Adapter ist aber anpingbar von Home Assistant OS aus:

[core-ssh ~]$ ping 10.11.13.24
PING 10.11.13.24 (10.11.13.24): 56 data bytes
64 bytes from 10.11.13.24: seq=0 ttl=253 time=4.303 ms
64 bytes from 10.11.13.24: seq=1 ttl=253 time=4.566 ms
64 bytes from 10.11.13.24: seq=2 ttl=253 time=3.907 ms
64 bytes from 10.11.13.24: seq=3 ttl=253 time=5.576 ms
64 bytes from 10.11.13.24: seq=4 ttl=253 time=6.790 ms
64 bytes from 10.11.13.24: seq=5 ttl=253 time=6.191 ms
64 bytes from 10.11.13.24: seq=6 ttl=253 time=7.989 ms
64 bytes from 10.11.13.24: seq=7 ttl=253 time=4.509 ms
64 bytes from 10.11.13.24: seq=8 ttl=253 time=8.643 ms
64 bytes from 10.11.13.24: seq=9 ttl=253 time=8.035 ms

Kommt sich das ganze jetzt evtl. doch mit der Rest Konfiguration in die Queere?

Ich werde die Rest Konfiguration mal sicherheitshalber aus der configuration.yaml entfernen. Ich melde mich gleich nochmal.

dm82m commented 1 year ago

ne das kommt sich mit der rest konfiguration nicht in die quere, kein problem.

irgendwie scheint es mir als würde dein add-on noch mit der alten version des resol-vbus laufen. kannst du mal den versuch machen und das hier aufrufen: http://127.0.0.1:3333/api/v1/live-data - von home assistant aus bzw. statt 127.0.0.1 deine home assistant adresse.

dm82m commented 1 year ago

ah mist, ich habe den port vergessen:

hoppel118 commented 1 year ago

Die Addon Updates gehen auch immer verdammt schnell, 5 Sekunden oder so etwas in der Richtung. Ist das normal?

http://homeassistant.home.arpa:3333/api/v1/live-data

Da sehe ich jetzt das, was gestern auch curl Befehl ausgibt:

[
    {
        "id": "00_0010_7321_10_0100_000_2_0",
        "name": "Temperature sensor 1",
        "rawValue": 23.400000000000002
    },
    {
        "id": "00_0010_7321_10_0100_002_2_0",
        "name": "Temperature sensor 2",
        "rawValue": 14.700000000000001
    },
    {
        "id": "00_0010_7321_10_0100_004_2_0",
        "name": "Temperature sensor 3",
        "rawValue": 19.8
    },
    {
        "id": "00_0010_7321_10_0100_006_2_0",
        "name": "Temperature sensor 4",
        "rawValue": 62
    },
    {
        "id": "00_0010_7321_10_0100_008_2_0",
        "name": "Temperature sensor 5",
        "rawValue": 888.8000000000001
    },
    {
        "id": "00_0010_7321_10_0100_010_2_0",
        "name": "Temperature sensor 6",
        "rawValue": 888.8000000000001
    },
    {
        "id": "00_0010_7321_10_0100_012_2_0",
        "name": "Temperature sensor 7",
        "rawValue": 888.8000000000001
    },
    {
        "id": "00_0010_7321_10_0100_014_2_0",
        "name": "Temperature sensor 8",
        "rawValue": 888.8000000000001
    },
    {
        "id": "00_0010_7321_10_0100_016_2_0",
        "name": "Temperature sensor 9",
        "rawValue": 888.8000000000001
    },
    {
        "id": "00_0010_7321_10_0100_018_2_0",
        "name": "Temperature sensor 10",
        "rawValue": 888.8000000000001
    },
    {
        "id": "00_0010_7321_10_0100_020_2_0",
        "name": "Temperature sensor 11",
        "rawValue": 888.8000000000001
    },
    {
        "id": "00_0010_7321_10_0100_022_2_0",
        "name": "Temperature sensor 12",
        "rawValue": 888.8000000000001
    },
    {
        "id": "00_0010_7321_10_0100_024_2_0",
        "name": "Irradiation",
        "rawValue": 0
    },
    {
        "id": "00_0010_7321_10_0100_028_4_0",
        "name": "Impulse input 1",
        "rawValue": 0
    },
    {
        "id": "00_0010_7321_10_0100_032_4_0",
        "name": "Impulse input 2",
        "rawValue": 0
    },
    {
        "id": "00_0010_7321_10_0100_036_2_0",
        "name": "Sensor line break mask",
        "rawValue": 4080
    },
    {
        "id": "00_0010_7321_10_0100_038_2_0",
        "name": "Sensor short-circuit mask",
        "rawValue": 0
    },
    {
        "id": "00_0010_7321_10_0100_040_2_0",
        "name": "Sensor usage mask",
        "rawValue": 3
    },
    {
        "id": "00_0010_7321_10_0100_044_1_0",
        "name": "Pump speed relay 1",
        "rawValue": 30
    },
    {
        "id": "00_0010_7321_10_0100_045_1_0",
        "name": "Pump speed relay 2",
        "rawValue": 0
    },
    {
        "id": "00_0010_7321_10_0100_046_1_0",
        "name": "Pump speed relay 3",
        "rawValue": 0
    },
    {
        "id": "00_0010_7321_10_0100_047_1_0",
        "name": "Pump speed relay 4",
        "rawValue": 0
    },
    {
        "id": "00_0010_7321_10_0100_048_1_0",
        "name": "Pump speed relay 5",
        "rawValue": 0
    },
    {
        "id": "00_0010_7321_10_0100_049_1_0",
        "name": "Pump speed relay 6",
        "rawValue": 0
    },
    {
        "id": "00_0010_7321_10_0100_050_1_0",
        "name": "Pump speed relay 7",
        "rawValue": 0
    },
    {
        "id": "00_0010_7321_10_0100_051_1_0",
        "name": "Pump speed relay 8",
        "rawValue": 0
    },
    {
        "id": "00_0010_7321_10_0100_052_1_0",
        "name": "Pump speed relay 9",
        "rawValue": 0
    },
    {
        "id": "00_0010_7321_10_0100_058_2_0",
        "name": "Relay usage mask",
        "rawValue": 1
    },
    {
        "id": "00_0010_7321_10_0100_060_2_0",
        "name": "Error mask",
        "rawValue": 0
    },
    {
        "id": "00_0010_7321_10_0100_062_2_0",
        "name": "Warning mask",
        "rawValue": 0
    },
    {
        "id": "00_0010_7321_10_0100_064_2_0",
        "name": "Controller version",
        "rawValue": 258
    },
    {
        "id": "00_0010_7321_10_0100_066_2_0",
        "name": "System time",
        "rawValue": 712
    },
    {
        "id": "00_0010_7326_10_0100_000_2_0",
        "name": "Flow temperature",
        "rawValue": 23.400000000000002
    },
    {
        "id": "00_0010_7326_10_0100_002_2_0",
        "name": "Return temperature",
        "rawValue": 14.700000000000001
    },
    {
        "id": "00_0010_7326_10_0100_004_2_0",
        "name": "Flow rate",
        "rawValue": 0
    },
    {
        "id": "00_0010_7326_10_0100_006_2_0",
        "name": "Heat",
        "rawValue": 5380234
    }
]

Ich könnte das Addon nochmal deinstallieren und neu installieren. Keine Ahnung, ob das evtl. etwas bringt. Ist das deiner Ansicht nach sinnvoll?

hoppel118 commented 1 year ago

ah mist, ich habe den port vergessen:

Stimmt, habe ich auch übersehen. Leider läuft beides in einen Fehler.

screenshot_1213

screenshot_1214

dm82m commented 1 year ago

okay, dann sind wir auf jeden fall noch am add-on und noch nicht an der integration. d.h. du könntest jetzt ggf. noch mal das add-on wirklich deinstallieren und neu installieren. version ist ja 0.0.4 oder? sonst muss ich daniel noch mal fragen, ich glaube sonst eher, dass bei ihm noch was fehlt...

hoppel118 commented 1 year ago

Addon 0.0.4 ist installiert:

screenshot_1215

Ich gehe mal davon aus, dass oben links die installierte Version 0.3.0b1 angezeigt wird:

screenshot_1216

hoppel118 commented 1 year ago

OK, ich deinstalliere jetzt das Addon. Melde mich gleich wieder.

dm82m commented 1 year ago

eigentlich kannst dir das sparen, wenn da 0.0.4 steht wurde es definitiv neu gebaut und damit hat es den neusten code stand vom resol-vbus. tippe zu 99,9% darauf, dass bei daniel noch was fehlt. aber probiers gern aus. kostet ja nicht viel zeit.

hoppel118 commented 1 year ago

OK, Addon deinstalliert, neu installiert und gestartet, anschließend HA neugestartet. Die config.js liegt weiterhin unter /config/addons/config.js

Folgender Inhalt:

/*! resol-vbus | Copyright (c) 2013-2018, Daniel Wippermann | MIT license */
'use strict';

const path = require('path');

const config = {

    /**
     * The port number for the HTTP server to listen to.
     * @type {Number}
     */
    httpPort: 3333,

    /**
     * The inteval in milliseconds between two writes of the logging file.
     * @type {Number}
     */
    loggingInterval: 10000,

    /**
     * The filename of the logging file.
     * @type {String}
     */
    loggingFilename: path.resolve(__dirname, 'live-data.json'),

    /**
     * Either 'TcpConnection' or 'SerialConnection' to connect to the VBus.
     * @type {String}
     */
    connectionClassName: 'TcpConnection',

    connectionOptions: {
        /**
         * SerialConnection only:
         * The serial port to which the Vbus/USB device is connected.
         * @type {String}
         */
        path: '/dev/ttyACM0',

        /**
         * TcpConnection only:
         * The host name / IP address of the VBus/LAN or Datalogger device.
         * @type {String}
         */
        host: '10.11.13.24',

        /**
         * TcpConnection only:
         * The password for the VBus/LAN or Datalogger device.
         * @type {String}
         */
        password: 'vbus',
    },

    /**
     * A map of packet field IDs to their custom name.
     */
    packetFieldNameMap: {
        '00_0010_7E11_10_0100_000_2_0': 'Temperature collector',  // instead of "Temperater sensor 1"
    },

};

module.exports = config;

Log vom Addon sieht gut aus:

s6-rc: info: service s6rc-oneshot-runner: starting
s6-rc: info: service s6rc-oneshot-runner successfully started
s6-rc: info: service fix-attrs: starting
s6-rc: info: service fix-attrs successfully started
s6-rc: info: service legacy-cont-init: starting
s6-rc: info: service legacy-cont-init successfully started
s6-rc: info: service legacy-services: starting
s6-rc: info: service legacy-services successfully started
--- VERSIONS ---
nodejs version: v19.3.0
npm version: 9.2.0
--- DEVICES ---
/dev/tty
/dev/tty0
/dev/tty1
/dev/tty10
/dev/tty11
/dev/tty12
/dev/tty13
/dev/tty14
/dev/tty15
/dev/tty16
/dev/tty17
/dev/tty18
/dev/tty19
/dev/tty2
/dev/tty20
/dev/tty21
/dev/tty22
/dev/tty23
/dev/tty24
/dev/tty25
/dev/tty26
/dev/tty27
/dev/tty28
/dev/tty29
/dev/tty3
/dev/tty30
/dev/tty31
/dev/tty32
/dev/tty33
/dev/tty34
/dev/tty35
/dev/tty36
/dev/tty37
/dev/tty38
/dev/tty39
/dev/tty4
/dev/tty40
/dev/tty41
/dev/tty42
/dev/tty43
/dev/tty44
/dev/tty45
/dev/tty46
/dev/tty47
/dev/tty48
/dev/tty49
/dev/tty5
/dev/tty50
/dev/tty51
/dev/tty52
/dev/tty53
/dev/tty54
/dev/tty55
/dev/tty56
/dev/tty57
/dev/tty58
/dev/tty59
/dev/tty6
/dev/tty60
/dev/tty61
/dev/tty62
/dev/tty63
/dev/tty7
/dev/tty8
/dev/tty9
/dev/ttyS0
/dev/ttyS1
/dev/ttyS2
/dev/ttyS3
/dev/ttyUSB0
--- json-live-data-server ---
debug: Starting server...
debug: Connect to VBus data source...
info: Ready to serve from the following URLs:
info:     - http://127.0.0.1:3333/api/v1/live-data (internal)
info:     - http://172.30.33.4:3333/api/v1/live-data
debug: HeaderSet complete
debug: HeaderSet complete
debug: HeaderSet complete

Version ist wieder 0.0.4

screenshot_1217

Logfile Home Assistant Core:

Protokolldetails (FEHLER)
Dieser Fehler wurde von einer benutzerdefinierten Integration verursacht
Logger: custom_components.deltasol
Source: custom_components/deltasol/deltasolapi.py:150
Integration: deltasol ([documentation](https://github.com/dm82m/hass-deltasol-KM2), [issues](https://github.com/dm82m/hass-deltasol-KM2/issues))
First occurred: 12:07:57 (1 occurrences)
Last logged: 12:07:57

Unexpected error fetching deltasol_km2_sensor data: replace() argument 1 must be str, not None
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 225, in _async_refresh
    self.data = await self._async_update_data()
  File "/usr/src/homeassistant/homeassistant/helpers/update_coordinator.py", line 181, in _async_update_data
    return await self.update_method()
  File "/config/custom_components/deltasol/sensor.py", line 79, in async_update_data
    data = await hass.async_add_executor_job(api.fetch_data)
  File "/usr/local/lib/python3.10/concurrent/futures/thread.py", line 58, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/config/custom_components/deltasol/deltasolapi.py", line 95, in fetch_data
    response = self.fetch_data_dlx()
  File "/config/custom_components/deltasol/deltasolapi.py", line 150, in fetch_data_dlx
    _LOGGER.debug(f"DLX requesting sensor data url {url.replace(self.password, '***')}")
TypeError: replace() argument 1 must be str, not None
Protokolldetails (FEHLER)
Logger: homeassistant.components.sensor
Source: custom_components/deltasol/sensor.py:58
Integration: Sensor ([documentation](https://www.home-assistant.io/integrations/sensor), [issues](https://github.com/home-assistant/home-assistant/issues?q=is%3Aissue+is%3Aopen+label%3A%22integration%3A+sensor%22))
First occurred: 12:07:57 (1 occurrences)
Last logged: 12:07:57

Error while setting up deltasol platform for sensor
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 289, in _async_setup_platform
    await asyncio.shield(task)
  File "/config/custom_components/deltasol/sensor.py", line 98, in async_setup_platform
    await update_unique_ids(hass, coordinator.data)
  File "/config/custom_components/deltasol/sensor.py", line 58, in update_unique_ids
    for unique_id, endpoint in data.items():
AttributeError: 'NoneType' object has no attribute 'items'

Anscheinend hat die Neuinstallation des Addons doch was bewirkt:

http://homeassistant.home.arpa:3333/cgi-bin/get_resol_device_information

vendor = "RESOL"
product = "DL2"
serial = "001E66000000"
version = "2.1.0"
build = "201311280853"
name = "DL2-001E66000000"
features = "vbus,dl2"
http://homeassistant.home.arpa:3333/dlx/download/download?source=current&outputType=json

{"headersets":[{"timestamp":1672917059.764,"packets":[{"header_index":0,"timestamp":1672917059.707,"field_values":[{"field_index":0,"raw_value":24.4,"value":"24.4"},{"field_index":1,"raw_value":14.2,"value":"14.2"},{"field_index":2,"raw_value":18.2,"value":"18.2"},{"field_index":3,"raw_value":59.8,"value":"59.8"},{"field_index":4,"raw_value":888.8,"value":"888.8"},{"field_index":5,"raw_value":888.8,"value":"888.8"},{"field_index":6,"raw_value":888.8,"value":"888.8"},{"field_index":7,"raw_value":888.8,"value":"888.8"},{"field_index":8,"raw_value":888.8,"value":"888.8"},{"field_index":9,"raw_value":888.8,"value":"888.8"},{"field_index":10,"raw_value":888.8,"value":"888.8"},{"field_index":11,"raw_value":888.8,"value":"888.8"},{"field_index":12,"raw_value":0,"value":"0"},{"field_index":13,"raw_value":0,"value":"0"},{"field_index":14,"raw_value":0,"value":"0"},{"field_index":15,"raw_value":4080,"value":"4080"},{"field_index":16,"raw_value":0,"value":"0"},{"field_index":17,"raw_value":3,"value":"3"},{"field_index":18,"raw_value":40,"value":"40"},{"field_index":19,"raw_value":0,"value":"0"},{"field_index":20,"raw_value":0,"value":"0"},{"field_index":21,"raw_value":0,"value":"0"},{"field_index":22,"raw_value":0,"value":"0"},{"field_index":23,"raw_value":0,"value":"0"},{"field_index":24,"raw_value":0,"value":"0"},{"field_index":25,"raw_value":0,"value":"0"},{"field_index":26,"raw_value":0,"value":"0"},{"field_index":27,"raw_value":1,"value":"1"},{"field_index":28,"raw_value":0,"value":"0"},{"field_index":29,"raw_value":0,"value":"0"},{"field_index":30,"raw_value":258,"value":"258"},{"field_index":31,"raw_value":737,"value":"Mo,12:17"}]},{"header_index":1,"timestamp":1672917059.764,"field_values":[{"field_index":0,"raw_value":24.4,"value":"24.4"},{"field_index":1,"raw_value":14.2,"value":"14.2"},{"field_index":2,"raw_value":0,"value":"0"},{"field_index":3,"raw_value":5380829,"value":"5380829"}]}]}],"headerset_stats":{"headerset_count":1,"min_timestamp":1672917059.764,"max_timestamp":1672917059.764},"headers":[{"id":"00_0010_7321_0100","description":"VBus 0: Vitosolic 200 [Regler]","channel":0,"destination_address":16,"source_address":29473,"protocol_version":16,"command":256,"info":0,"destination_name":"DFA","source_name":"Vitosolic 200 [Regler]","fields":[{"id":"000_2_0","name":"Temperature sensor 1","unit":" °C","unit_code":"DegreesCelsius"},{"id":"002_2_0","name":"Temperature sensor 2","unit":" °C","unit_code":"DegreesCelsius"},{"id":"004_2_0","name":"Temperature sensor 3","unit":" °C","unit_code":"DegreesCelsius"},{"id":"006_2_0","name":"Temperature sensor 4","unit":" °C","unit_code":"DegreesCelsius"},{"id":"008_2_0","name":"Temperature sensor 5","unit":" °C","unit_code":"DegreesCelsius"},{"id":"010_2_0","name":"Temperature sensor 6","unit":" °C","unit_code":"DegreesCelsius"},{"id":"012_2_0","name":"Temperature sensor 7","unit":" °C","unit_code":"DegreesCelsius"},{"id":"014_2_0","name":"Temperature sensor 8","unit":" °C","unit_code":"DegreesCelsius"},{"id":"016_2_0","name":"Temperature sensor 9","unit":" °C","unit_code":"DegreesCelsius"},{"id":"018_2_0","name":"Temperature sensor 10","unit":" °C","unit_code":"DegreesCelsius"},{"id":"020_2_0","name":"Temperature sensor 11","unit":" °C","unit_code":"DegreesCelsius"},{"id":"022_2_0","name":"Temperature sensor 12","unit":" °C","unit_code":"DegreesCelsius"},{"id":"024_2_0","name":"Irradiation","unit":" W/m²","unit_code":"WattsPerSquareMeter"},{"id":"028_4_0","name":"Impulse input 1","unit":"","unit_code":"None"},{"id":"032_4_0","name":"Impulse input 2","unit":"","unit_code":"None"},{"id":"036_2_0","name":"Sensor line break mask","unit":"","unit_code":"None"},{"id":"038_2_0","name":"Sensor short-circuit mask","unit":"","unit_code":"None"},{"id":"040_2_0","name":"Sensor usage mask","unit":"","unit_code":"None"},{"id":"044_1_0","name":"Pump speed relay 1","unit":"%","unit_code":"Percent"},{"id":"045_1_0","name":"Pump speed relay 2","unit":"%","unit_code":"Percent"},{"id":"046_1_0","name":"Pump speed relay 3","unit":"%","unit_code":"Percent"},{"id":"047_1_0","name":"Pump speed relay 4","unit":"%","unit_code":"Percent"},{"id":"048_1_0","name":"Pump speed relay 5","unit":"%","unit_code":"Percent"},{"id":"049_1_0","name":"Pump speed relay 6","unit":"%","unit_code":"Percent"},{"id":"050_1_0","name":"Pump speed relay 7","unit":"%","unit_code":"Percent"},{"id":"051_1_0","name":"Pump speed relay 8","unit":"%","unit_code":"Percent"},{"id":"052_1_0","name":"Pump speed relay 9","unit":"%","unit_code":"Percent"},{"id":"058_2_0","name":"Relay usage mask","unit":"","unit_code":"None"},{"id":"060_2_0","name":"Error mask","unit":"","unit_code":"None"},{"id":"062_2_0","name":"Warning mask","unit":"","unit_code":"None"},{"id":"064_2_0","name":"Controller version","unit":"","unit_code":"None"},{"id":"066_2_0","name":"System time","unit":"","unit_code":"None"}]},{"id":"00_0010_7326_0100","description":"VBus 0: Vitosolic 200 [WMZ1]","channel":0,"destination_address":16,"source_address":29478,"protocol_version":16,"command":256,"info":0,"destination_name":"DFA","source_name":"Vitosolic 200 [WMZ1]","fields":[{"id":"000_2_0","name":"Flow temperature","unit":" °C","unit_code":"DegreesCelsius"},{"id":"002_2_0","name":"Return temperature","unit":" °C","unit_code":"DegreesCelsius"},{"id":"004_2_0","name":"Flow rate","unit":" l/h","unit_code":"LitersPerHour"},{"id":"006_2_0","name":"Heat","unit":" Wh","unit_code":"WattHours"}]}],"language":"en"}

Das sieht doch schon besser aus. Allerdings sehe ich immer noch keine Entitäten. Was ist mit den beiden Fehlermeldungen im Home Assistant Core Log?

dm82m commented 1 year ago

Na also perfekt. Dh resol-vbus und das addon funktioniert. De Fehler in der Integration fixe icu gleich

hoppel118 commented 1 year ago

OK, und anschließend sollte ich dann Geräte bzw. Entitäten sehen? :)

dm82m commented 1 year ago

Das wäre das Finale ja 😂

hoppel118 commented 1 year ago

Was auch immer sich da mit dem Addon verheddert hatte... Eigenartig, dass immer die aktuellste Version angezeigt wurde...

OK, ich bin gespannt. ;)

dm82m commented 1 year ago

okay, integration bitte auf 0.3.0b2 updaten und home assistant neu starten, danach home assistant core logs alles mit deltasol posten und schauen ob die entitäten jetzt da sind. die namen der jeweiligen sensoren müssten klein geschrieben und leerzeichen mit _ ersetzt sein

dm82m commented 1 year ago

Was auch immer sich da mit dem Addon verheddert hatte... Eigenartig, dass immer die aktuellste Version angezeigt wurde...

jow, das könnte docker seitig was sein, bin selbst nicht ganz sicher. verdacht habe ich zwar aber dem gehe ich aktuell erstmal nicht nach.

hoppel118 commented 1 year ago

OK, Integration ist geupdated und HA wurde neu gestartet:

screenshot_1218

In den Logs gibt es keine deltasol Meldungen mehr. TOP!!! :)

Tadaaaa, da sind die Entitäten

screenshot_1219 screenshot_1220

Das ist wirklich toll! Das hast du gut gemacht. ;)

Ein Frage noch. Kann man die Entitäten evtl. in zwei Geräte verteilen?

Das eine ist die Vitosolic 200SD4 und das andere der darauf konfigurierte WMZ (Wärmemengenzähler).

Bei FHEM hatte ich halt alle Readings, die zu einem Gerät gehören, auch immer in einem Gerät und nicht nur lose Readings bzw. Entitäten.

Oder macht das keinen Sinn?

hoppel118 commented 1 year ago

Ich sehe gerade, dass bei den Entitäten in den Attributen sogar enthalten ist, wenn es sich um eine Entität des WMZ handelt:

screenshot_1221

screenshot_1222

Also die Frage bleibt: Kann man anhand der verschiedenen Entitäten Geräte bereitstellen?

dm82m commented 1 year ago

genau, wir schreiben die informationen aktuell einfach 1:1 in die entity attribute. ob man das hier über die home assistant geräte + deren sensoren abbilden kann? vmtl. ja. du kannst das gerne mal als neues ticket als anforderung einkippen. ich würde nur jetzt gerne erstmal diese baustelle hier zumachen bevor wir eine neue aufmachen.

sobald daniel die neusten urls eingabaut und veröffentlicht hat würde ich gerne noch mal ein update von addon und plugin bei dir testen um sicherzustellen das alles funktioniert.

im anschluss wird chris das ja noch mit dem vbus/usb testen und wenn das auch funktioniert würde ich ein neues update veröffentlichen.

hoppel118 commented 1 year ago

OK, machen wir so. Gib mir einfach hier Bescheid, wenn es weiter gehen kann.

dm82m commented 1 year ago

ja du hast ja mit den aktuellen versionen erstmal was lauffähiges für dich. du kannst ja jetzt auch entscheiden ob du add-on nutzen willst oder selbst das tool von daniel aufsetzen. und du kannst entscheiden ob du die integration nutzen willst es wie chris händisch machen.

hoppel118 commented 1 year ago

Ja, du hast recht. Ich habe einen guten Einblick erhalten und alle waren eigenartigerweise direkt erreichbar und haben auch mitgemacht. Wir haben das alles wirklich schnell umgesetzt.

Ich bleibe bei deiner Lösung, da sie über HACS "direkt" in HA integriert ist.

Wenn bei Daniel Änderungen sind, habe ich die Hoffnung zukünftig über deine Integration bzw. dein Addon davon zu profitieren. Ich teste das natürlich auch gern wieder, bevor du etwas neues veröffentlichst, wenn du den Bedarf siehst. ;)

dm82m commented 1 year ago

so @hoppel118 jetzt wirds ernst:

  1. add-on deinstallieren und mit aktueller version 0.0.5 wieder installieren und starten -> im log sollte er jetzt auch ausgeben "add-on version: 0.0.5"
  2. integration auf 0.3.0b3 updaten
  3. home assistant neu starten und entitäten prüfen ob sie da sind/aktualisiert werden und aus dem home assistant core log alles mit deltasol hier posten
dm82m commented 1 year ago

@chiefdeputy kannst du ggf. mit deinem DL2 noch testen, ob die beta auch bei dir funktioniert, wenn du magst bzw. zeit hast kannst dir auch gerne den PR dazu anschauen (liegt gerade auf dem beta branch)

hoppel118 commented 1 year ago

Alles klar. Was hast denn jetzt verändert?

Bin mir nicht sicher, ob ich es heute noch schaffe. Wenn, dann spät.

Gruß Hoppel

dm82m commented 1 year ago

Eilt nicht. Hab nur den endpoint geändert der in Daniels App genutzt wird. Ändert für dich nichts, ist aber für mich im Code etwas einfacher.

hoppel118 commented 1 year ago

OK; Addon habe ich deinstalliert und neu installiert:

screenshot_1223

Beide APIs scheinen zu funktionieren:

curl -s http://homeassistant.home.arpa:3333/api/v1/live-data | head -n 20
[
    {
        "id": "00_0010_7321_10_0100_000_2_0",
        "name": "Temperature sensor 1",
        "rawValue": 5.300000000000001
    },
    {
        "id": "00_0010_7321_10_0100_002_2_0",
        "name": "Temperature sensor 2",
        "rawValue": 13.8
    },
    {
        "id": "00_0010_7321_10_0100_004_2_0",
        "name": "Temperature sensor 3",
        "rawValue": 25.400000000000002
    },
    {
        "id": "00_0010_7321_10_0100_006_2_0",
        "name": "Temperature sensor 4",
        "rawValue": 57.6
curl -s http://homeassistant.home.arpa:3333/api/v2/live-data | head -n 20
[
    {
        "id": "00_0010_7321_10_0100_000_2_0",
        "name": "Temperature sensor 1",
        "rawValue": 5.300000000000001,
        "unitCode": "DegreesCelsius",
        "unitFamily": "Temperature",
        "unitText": " °C"
    },
    {
        "id": "00_0010_7321_10_0100_002_2_0",
        "name": "Temperature sensor 2",
        "rawValue": 13.8,
        "unitCode": "DegreesCelsius",
        "unitFamily": "Temperature",
        "unitText": " °C"
    },
    {
        "id": "00_0010_7321_10_0100_004_2_0",
        "name": "Temperature sensor 3",

Toll, was da jetzt in der neuen API alles dazu gekommen ist. Danke @danielwippermann

Anschließend die Integration geupdated und Home Assistant neugestartet:

screenshot_1224

Zum Update-Zeitpunkt war es kurz nach 23:30 Uhr. Nach der Unterbrechung geht es weiter. Das müsste dann der Moment sein, ab dem die V2 API genutzt wird.

screenshot_1225

Trotzdem bin ich mir nun gerade über die Funktion des Einlesens und Loggens der Werte in Home Assistant unsicher. Hier steht bspw. vor 11 Min., obwohl im Verlauf definitiv später (vor bspw. 1 Minute) noch Werte erfasst/geloggt wurden:

screenshot_1226

Das schaue ich mir später bzw. morgen nochmal an.

Im Home Assistant Core Log gibt es übrigens keine weiteren Meldungen.

Bis hierhin sieht das also erstmal TOP aus. Ich melde mich dann spätestens morgen früh nochmal.

DICKES FETTES DANKESCHÖN!!!

hoppel118 commented 1 year ago

Da scheint etwas zu passieren. Wie gesagt, bin neu bei Home Assistant und habe mich mit den Werten, der Erfassung und der Darstellung eigentlich noch gar nicht auseinandergesetzt. Habe also bitte Nachsicht mit mir, wenn sich diese Frage typischerweise nicht stellen sollte. ;)

Es scheint sich so zu verhalten, als ob hier nur Wertänderungen angezeigt werden. Die Zeitpunkte der Erfassung sind unterschiedlich:

screenshot_1227

screenshot_1228

screenshot_1229

screenshot_1230

Insbesondere "Boiler Temperatur unten" mit letzter Aktualisierung "vor 23 Minuten" macht mich etwas stutzig.

Dem Verlauf nach wurden aber alle Werte erst vor ein paar Sekunden erneuert:

screenshot_1231

Ich würde sagen das passt so. Siehst du das auch so?

Gruß

hoppel118 commented 1 year ago

Sieht so aus, als ob ich mit meiner Vermutung richtig liege. Anscheinend werden nur Wertänderungen geloggt. Wie dem auch sei, es scheint alles zu funktionieren.

screenshot_1232

screenshot_1233

screenshot_1234

screenshot_1235

Ca. 23:30 Uhr wurde wie gesagt auf die V2 API umgestellt.

screenshot_1236

Vielen Dank nochmal

Gruß Hoppel

dm82m commented 1 year ago

Das klingt doch gut, danke für die Rückmeldung.

dm82m commented 1 year ago

version 0.3.0 ist jetzt offiziell released!

hoppel118 commented 1 year ago

OK, so wie ich das sehe, arbeitest du gerade schon an der nächsten Version. Ich werde gleich 0.3.1b1 installieren.

dm82m commented 1 year ago

Neee! Nix damit machen, damit wollte ich was ganz anderes machen, hab’s aber erstmal wieder verworfen. Bleib bei der 0.3.0