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

Don't get any data via Resol Vbus/USB Set-Up?! #40

Closed freddy357 closed 8 months ago

freddy357 commented 8 months ago

Hi, I'm trying to get the Resol Vbus data into Home Assistant via the USB approach. My Resol is connected via an USB connection to my raspberry. I'm using the Json Live Server as a HAOS add-on but can't manage to get the data into Home Assistant. What am I doing wrong??

I modified the config file as described.. . see below:

/! resol-vbus | Copyright (c) 2013-present, Daniel Wippermann | MIT license /

const path = require('path');

const config = {

/**
 * The level of details for log messages.
 * @type {String}
 */
logLevel: 'debug',

/**
 * 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: 60000,

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

/**
 * Text file logging interval in milliseconds. A value of zero disables this functionality.
 */
textLoggingInterval: 0,

/**
 * Text file logging time to live in milliseconds.
 */
textLoggingTimeToLive: 60000,

/**
 * Text file logging directory.
 */
textLoggingPath: path.resolve(__dirname, 'log'),

/**
 * Text file logging options, passed to the `TextConverter` constructor.
 */
textLoggingOptions: {
    columnSeparator: '\t',
    lineSeparator: '\r\n',
    separateDateAndTime: false,
},

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

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

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

    /**
     * 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"
},

/**
 * A list of EM (extension module) sub-addresses to simulate.
 */
emSimulatorSubAdresses: [
    // 1,
    // 2,
    // 3,
    // 4,
    // 5,
],

};

module.exports = config;

I created the following sensor under Sensors.yaml

- platform: deltasol host: 127.0.0.1:3333

And find below the log data Json Live Server:

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 --- add-on version: 0.0.7 nodejs version: v21.7.1 npm version: 10.5.0 --- DEVICES --- /dev/ttyUSB0 /dev/ttyACM0 --- 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.3:3333/api/v1/live-data debug: HeaderSet complete debug: HeaderSet complete debug: HeaderSet complete debug: HeaderSet complete debug: HeaderSet complete debug: HeaderSet complete debug: HeaderSet complete debug: HeaderSet complete debug: HeaderSet complete debug: HeaderSet complete debug: HeaderSet complete debug: HeaderSet complete debug: HeaderSet complete debug: HeaderSet complete debug: HeaderSet complete debug: HeaderSet complete debug: HeaderSet complete debug: HeaderSet complete debug: HeaderSet complete

dm82m commented 8 months ago

First remove host and password from config.js then restart the addon. Then enable debugging for the integration and restart Home Assistant Core. Post all deltasol logs from home Assistant core here.

freddy357 commented 8 months ago

I think this is it.

2024-03-13 09:31:14.825 WARNING (SyncWorker_3) [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

2024-03-13 09:31:26.196 WARNING (MainThread) [homeassistant.helpers.frame] Detected that custom integration 'hacs' accesses hass.components.frontend. This is deprecated and will stop working in Home Assistant 2024.9, it should be updated to import functions used from frontend directly at custom_components/hacs/frontend.py, line 68: hass.components.frontend.async_register_built_in_panel(, please create a bug report at https://github.com/hacs/integration/issues

dm82m commented 8 months ago

There is no debug log, read documentation of integration and enable debug logs and post them here.

freddy357 commented 8 months ago

I'm sorry.

here it is 2024-03-13 10:11:54.092 INFO (SyncWorker_2) [custom_components.deltasol] Auto detecting Resol product from http://127.0.0.1:3333/cgi-bin/get_resol_device_information 2024-03-13 10:11:54.129 DEBUG (SyncWorker_2) [custom_components.deltasol] response: vendor = "RESOL" product = "DL2" serial = "001E66000000" version = "2.1.0" build = "201311280853" name = "DL2-001E66000000" features = "vbus,dl2" 2024-03-13 10:11:54.129 INFO (SyncWorker_2) [custom_components.deltasol] Detected Resol product: dl2 2024-03-13 10:11:54.135 DEBUG (SyncWorker_2) [custom_components.deltasol] Retrieving data from dlx 2024-03-13 10:11:54.135 DEBUG (SyncWorker_2) [custom_components.deltasol] DLX requesting sensor data url http://127.0.0.1:3333/dlx/download/live 2024-03-13 10:11:54.162 DEBUG (SyncWorker_2) [custom_components.deltasol] DLX response: {'headersets': [{'timestamp': 1710320155.952, 'packets': []}], 'headerset_stats': {'headerset_count': 1, 'min_timestamp': 1710320155.952, 'max_timestamp': 1710320155.952}, 'headers': [], 'language': 'en'} 2024-03-13 10:11:54.163 DEBUG (MainThread) [custom_components.deltasol] Finished fetching deltasol_sensor data in 0.071 seconds (success: True) 2024-03-13 10:11:54.163 DEBUG (MainThread) [custom_components.deltasol] Checking for sensors with old ids in registry.

dm82m commented 8 months ago

okay. the connection of the integration to the addon seems to work. but it gets no data content of the addon. can you please

path: '/dev/ttyACM0',

in add-on config.js

and restart the add-on and then restart home assistant core and post both logs. of add-on and home asisstant core debug deltasol.

freddy357 commented 8 months ago

It is difficult for me to understand some things, i have some brain damage so what for some one else is a walk in the park is for me very difficult.

So be patient

freddy357 commented 8 months ago

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 --- add-on version: 0.0.7 nodejs version: v21.7.1 npm version: 10.5.0 --- DEVICES --- /dev/ttyUSB0 /dev/ttyACM0 --- 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.3:3333/api/v1/live-data debug: HeaderSet complete

2024-03-13 10:27:26.327 INFO (SyncWorker_3) [custom_components.deltasol] Auto detecting Resol product from http://127.0.0.1:3333/cgi-bin/get_resol_device_information 2024-03-13 10:27:26.388 DEBUG (SyncWorker_3) [custom_components.deltasol] response: vendor = "RESOL" product = "DL2" serial = "001E66000000" version = "2.1.0" build = "201311280853" name = "DL2-001E66000000" features = "vbus,dl2" 2024-03-13 10:27:26.389 INFO (SyncWorker_3) [custom_components.deltasol] Detected Resol product: dl2 2024-03-13 10:27:26.390 DEBUG (SyncWorker_3) [custom_components.deltasol] Retrieving data from dlx 2024-03-13 10:27:26.391 DEBUG (SyncWorker_3) [custom_components.deltasol] DLX requesting sensor data url http://127.0.0.1:3333/dlx/download/live 2024-03-13 10:27:26.452 DEBUG (SyncWorker_3) [custom_components.deltasol] DLX response: {'headersets': [{'timestamp': 1710322044.857, 'packets': [{'header_index': 0, 'timestamp': 1710322044.459, 'field_values': [{'field_index': 0, 'raw_value': 25.3, 'value': '25.3'}, {'field_index': 1, 'raw_value': 22.9, 'value': '22.9'}, {'field_index': 2, 'raw_value': 23.3, 'value': '23.3'}, {'field_index': 3, 'raw_value': 20.1, 'value': '20.1'}, {'field_index': 4, 'raw_value': 999.9, 'value': '999.9'}, {'field_index': 5, 'raw_value': -999, 'value': '-999'}, {'field_index': 6, 'raw_value': 0, 'value': '0'}, {'field_index': 7, 'raw_value': 0, 'value': '0'}, {'field_index': 8, 'raw_value': 2722, 'value': '2722'}, {'field_index': 9, 'raw_value': 8982, 'value': '8982'}, {'field_index': 10, 'raw_value': 11, 'value': '11'}, {'field_index': 11, 'raw_value': 9, 'value': '9'}, {'field_index': 12, 'raw_value': 0, 'value': '0'}, {'field_index': 13, 'raw_value': 1173, 'value': '19:33'}, {'field_index': 14, 'raw_value': 0, 'value': '0'}, {'field_index': 15, 'raw_value': 0, 'value': '0'}, {'field_index': 16, 'raw_value': 0, 'value': '0'}, {'field_index': 17, 'raw_value': 0, 'value': '0'}, {'field_index': 18, 'raw_value': 0, 'value': '0'}, {'field_index': 19, 'raw_value': 0, 'value': '0'}, {'field_index': 20, 'raw_value': 1.11, 'value': '1.11'}]}, {'header_index': 1, 'timestamp': 1710322044.857, 'field_values': []}]}], 'headerset_stats': {'headerset_count': 1, 'min_timestamp': 1710322044.857, 'max_timestamp': 1710322044.857}, 'headers': [{'id': '00_0010_2211_0100', 'description': 'VBus 0: DeltaSol CS Plus', 'channel': 0, 'destination_address': 16, 'source_address': 8721, 'protocol_version': 16, 'command': 256, 'info': 0, 'destination_name': 'DFA', 'source_name': 'DeltaSol CS Plus', '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': '036_2_0', 'name': 'Temperature sensor 5', 'unit': ' °C', 'unit_code': 'DegreesCelsius'}, {'id': '038_2_0', 'name': 'Flow rate', 'unit': ' l/h', 'unit_code': 'LitersPerHour'}, {'id': '008_1_0', 'name': 'Pump speed relay 1', 'unit': '%', 'unit_code': 'Percent'}, {'id': '012_1_0', 'name': 'Pump speed relay 2', 'unit': '%', 'unit_code': 'Percent'}, {'id': '010_2_0', 'name': 'Operating hours relay 1', 'unit': ' h', 'unit_code': 'Hours'}, {'id': '014_2_0', 'name': 'Operating hours relay 2', 'unit': ' h', 'unit_code': 'Hours'}, {'id': '016_1_0', 'name': 'UnitType', 'unit': '', 'unit_code': 'None'}, {'id': '017_1_0', 'name': 'System', 'unit': '', 'unit_code': 'None'}, {'id': '020_2_0', 'name': 'ErrorMask', 'unit': '', 'unit_code': 'None'}, {'id': '022_2_0', 'name': 'System time', 'unit': '', 'unit_code': 'None'}, {'id': '020_1_1', 'name': 'Sensor 1 defective', 'unit': '', 'unit_code': 'None'}, {'id': '020_1_2', 'name': 'Sensor 2 defective', 'unit': '', 'unit_code': 'None'}, {'id': '020_1_4', 'name': 'Sensor 3 defective', 'unit': '', 'unit_code': 'None'}, {'id': '020_1_8', 'name': 'Sensor 4 defective', 'unit': '', 'unit_code': 'None'}, {'id': '024_4_0', 'name': 'Status mask', 'unit': '', 'unit_code': 'None'}, {'id': '028_4_0', 'name': 'Heat quantity', 'unit': ' Wh', 'unit_code': 'WattHours'}, {'id': '032_2_0', 'name': 'SW Version', 'unit': '', 'unit_code': 'None'}]}, {'id': '00_0015_2211_0100', 'description': 'VBus 0: DeltaSol CS Plus => Standard-Infos', 'channel': 0, 'destination_address': 21, 'source_address': 8721, 'protocol_version': 16, 'command': 256, 'info': 0, 'destination_name': 'Standard-Infos', 'source_name': 'DeltaSol CS Plus', 'fields': []}], 'language': 'en'} 2024-03-13 10:27:26.452 DEBUG (SyncWorker_3) [custom_components.deltasol] Found header[0] now parsing it ... 2024-03-13 10:27:26.452 DEBUG (SyncWorker_3) [custom_components.deltasol] Found header[1] now parsing it ... 2024-03-13 10:27:26.454 DEBUG (MainThread) [custom_components.deltasol] Finished fetching deltasol_sensor data in 0.128 seconds (success: True) 2024-03-13 10:27:26.455 DEBUG (MainThread) [custom_components.deltasol] Checking for sensors with old ids in registry.

dm82m commented 8 months ago

okay, it should work now. you should find the sensors in home assistant now. check for the sensor sensor.temperature_sensor_1 for example.

freddy357 commented 8 months ago

YES.

thank you.

somethimes it so easy.