iobroker.e3oncan 0.10.14 → 0.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2025 MyHomeMyData <juergen.bonfert@gmail.com>
3
+ Copyright (c) 2024-2026 MyHomeMyData <juergen.bonfert@gmail.com>
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
package/README.md CHANGED
@@ -12,89 +12,201 @@
12
12
 
13
13
  ## e3oncan adapter for ioBroker
14
14
 
15
- # Basic concept
16
- Viessmann E3 series devices (One Base) are doing a lot of data exchange on CAN bus.
15
+ ## Table of contents
17
16
 
18
- This adapter can listen to this communication and extract many useful information. Energy meter E380CA and E3100CB also are supported. This mode of operation is called **Collect**.
17
+ - [Overview](#overview)
18
+ - [Quick start](#quick-start)
19
+ - [Configuration guide](#configuration-guide)
20
+ - [Step 1 – CAN adapter](#step-1--can-adapter)
21
+ - [Step 2 – Device scan](#step-2--device-scan)
22
+ - [Step 3 – Data point scan](#step-3--data-point-scan)
23
+ - [Step 4 – Assignments and schedules](#step-4--assignments-and-schedules)
24
+ - [Reading data points](#reading-data-points)
25
+ - [Writing data points](#writing-data-points)
26
+ - [Data points and metadata](#data-points-and-metadata)
27
+ - [Energy meters](#energy-meters)
28
+ - [E380 data and units](#e380-data-and-units)
29
+ - [E3100CB data and units](#e3100cb-data-and-units)
30
+ - [FAQ and limitations](#faq-and-limitations)
31
+ - [Donate](#donate)
32
+ - [Changelog](#changelog)
19
33
 
20
- In parallel **reading and writing of data points** is supported. Informations not available via listening can be actively requested. By writing to data points it's possible to change setpoints, schedules and so on. It's even possible to add new schedules e.g. for domestic hot water circulation pump. This mode of operation is called **UDSonCAN**. The UDSonCAN protocol (**U**niversal **D**iagnostic **S**ervices based **on CAN** bus) is also used by other equipment, e.g. by well known WAGO gateway.
34
+ ---
21
35
 
22
- Writing of data is triggered by storing the corresponding state with `Acknowledged` not checked (ack=false) - yes, it's that simple! The data point will be read again from device and stored in the state 2.5 seconds after writing. If state not get's acknowledged, please take a look to the logs.
36
+ ## Overview
23
37
 
24
- Writing is restricted to a set of data points using a **white list**. The list is stored in the info section of each device, e.g. at `e3oncan.0.vitocal.info.udsDidsWritable`. You can add more data points by editing this state. Make sure, **not** to check `Acknowledged` when saving the state.
25
- Some data points cannot be changed, even if they are whitelisted. The device then returns a "negative response" code. In such a case, the adapter repeats the write process with another service. This only works on the internal CAN bus. However, this approach can also fail. In general, write processes should always be checked.
38
+ Viessmann E3 series devices (One Base ecosystem) exchange a large amount of data over the CAN bus. This adapter taps into that communication and makes the data available inside ioBroker.
26
39
 
27
- During first start of adapter instance a device scan will be done providing a list of all available E3 devices for configuration dialog (energy meters are not listed).
28
- A scan for data points of each E3 device should be done during first setup, details see below.
40
+ Two modes of operation work independently and can be combined:
29
41
 
30
- Which modes of operation (Collect and/or UDSonCAN) can be used depends on your **device topology**. Additional information is available [here](https://github.com/MyHomeMyData/ioBroker.e3oncan/discussions/34).
42
+ | Mode | Description |
43
+ |---|---|
44
+ | **Collect** | Passively listens on the CAN bus and extracts data in real time as devices exchange it. No requests are sent. Ideal for fast-changing values such as energy flow. |
45
+ | **UDSonCAN** | Actively reads and writes data points using the UDS protocol (Universal Diagnostic Services over CAN). Required for setpoints, schedules, and data not broadcast spontaneously. |
31
46
 
32
- For possible **use cases** please refer to this [discussion](https://github.com/MyHomeMyData/ioBroker.e3oncan/discussions/35) (under construction).
47
+ Which modes are available depends on your device topology. See the [device topology discussion](https://github.com/MyHomeMyData/ioBroker.e3oncan/discussions/34) for details. For inspiration on what you can do with the adapter, see the [use cases discussion](https://github.com/MyHomeMyData/ioBroker.e3oncan/discussions/35).
33
48
 
34
- Important parts of this adpater are based on the project [open3e](https://github.com/open3e).
49
+ > Important parts of this adapter are based on the [open3e](https://github.com/open3e) project.
50
+ > A Python-based collect-only implementation using MQTT is available at [E3onCAN](https://github.com/MyHomeMyData/E3onCAN).
35
51
 
36
- A python based implementation of a pure listening approach (Collect only) using MQTT messaging is also availabe, see [E3onCAN](https://github.com/MyHomeMyData/E3onCAN).
52
+ ---
37
53
 
38
- # Getting started
54
+ ## Quick start
39
55
 
40
- **Preconditions:**
41
- * You have a (USB to) CAN bus adapter connected to external or internal CAN bus of Viessmann E3 device
42
- * Currently only Linux based systems are supported.
43
- * CAN adapter is up and visible in system, e.g. as "can0" (use ifconfig to check).
44
- * Refer to [open3e project](https://github.com/open3e/open3e/wiki/020-Inbetriebnahme-CAN-Adapter-am-Raspberry) for further details
45
- * **Make sure, no other UDSonCAN client (e.g. open3e) is running during initial setup!** This could cause communication errors in both applications.
56
+ **Prerequisites**
46
57
 
47
- All services provided by this adapter are based on device list of your specific Viessmann E3 setup. Therefore you have to follow following steps for first setup:
58
+ - A USB-to-CAN or CAN adapter connected to the external or internal CAN bus of your Viessmann E3 device.
59
+ - A Linux-based host system (only Linux is supported).
60
+ - The CAN adapter is up and visible in the system, e.g. as `can0` (verify with `ifconfig`).
61
+ - Refer to the [open3e project wiki](https://github.com/open3e/open3e/wiki/020-Inbetriebnahme-CAN-Adapter-am-Raspberry) for CAN adapter setup details.
48
62
 
49
- **Configuration**
50
- * When installation of adapter has finished a configuration dialog will show up to configure up to two CAN bus adapters (tab "CAN ADAPTER")
51
- * Edit name of CAN adapter and check the "Connect to adapter" checkbox at least for one CAN adapter
52
- * When you're done, press "SAVE" button to apply the changes. This step is **mandatory**. The instance will restart and connect to the CAN adapter.
53
- * Go to tab "LIST OF UDS DEVICES" and do a scan for devices available on bus by pressing the scan button. **This will take a few seconds.** You may watch the activities in a 2nd browser tab by looking on the logging info of the adapter.
54
- * You may change the naming of the devices at 2nd column. Those names will be used to store all collected data in ioBoker's object tree. Again press "SAVE" button when you did your changes.
55
- * Instance will restart again and after a few seconds you are ready to do a scan for available data points. Go to tab "LIST OF DATA POINTS", press button "Start scan ..." and confirm with "OK". **Please be patient** - this may take **up to 5 minutes**. You may watch the progress in a 2nd browser tab by looking on the logging info of the adapter.
56
- This step is not mandatory but strongly recommended. If you would like to write to data points you need to do a data point scan first.
57
- * When data point scan was completed successfully, the data points are available in the object tree for each device. You may view the data points in configuration by selecting a device and pressing button "Update list of data points". Press filter symbol and type search pattern to filter for name and/or codec. This is for your information only. Please deactivate filtering before selecting another device to avoid error messages.
58
- * Last step is to configure schedules for requesting data on tab "ASSIGNMENTS TO UDS CAN ADAPTER".
59
- * For **energy meters** (if available in your setup) you just can activate or not. Please notice the value "Min. update time (s)". Updates to single data points are done no faster than the given value (default is 5 seconds). By choosing zero every received data will be stored. Since energy meters are sending data very fast (more than 20 values per second), it's recommended not to use zero here. This would put a high load on the ioBroker system.
60
- * If you have connected E3 devices via CAN bus, e.g. Vitocal and VX3, you can collect data exchanged between those devices in realtime by listening. Press "+" to add a line, check "active" chackbox, select a device and edit "Min. update time (s)". It's feasable to use 0s here, however, I recommend to keep to the 5s.
61
- * Finally, you may add schedules for requesting data via UDSonCAN protocol. Again press "+" button and edit the settings. You may have several schedules on each device. By this you can request some data points more often than others. Default value of 0 for "Schedule (s)" means, those data points will be requested just once during startup of the instance.
62
- You may use data points informations on tab "LIST OF DATA POINTS" for reference (opening on 2nd tab could help).
63
- * If you have configured a CAN adapter connected to the **second CAN bus**, a tab "ASSIGNMENTS TO SECOND CAN ADAPTER" is visible. Please configure the devices for colletion there.
64
- * That's it. Press "SAVE & CLOSE" button and check the data collected in object tree.
63
+ > **Important:** Make sure no other UDSonCAN client (e.g. open3e) is running while setting up this adapter for the first time. Parallel UDS communication will cause errors in both applications.
65
64
 
66
- # Warning: After upgrading node.js, the adapter will probably no longer work
67
- **The adapter uses so called native modules which need a rebuild when version of node.js has changed.** Therefore, after you did an upgrade of node.js, most likely the adapter will fail during next start up. In this case please stop the adapter, do an `iob rebuild` on the command line, then start the adapter. This should fix the problem. If the problem persists, pls. raise an issue.
65
+ **First-time setup – at a glance**
68
66
 
69
- # E380 data and units
67
+ 1. Install the adapter and open its configuration dialog.
68
+ 2. Configure your CAN adapter(s) on the **CAN Adapter** tab and save.
69
+ 3. Scan for E3 devices on the **List of UDS Devices** tab.
70
+ 4. Scan for data points on the **List of Data Points** tab (takes up to 5 minutes).
71
+ 5. Set up read schedules on the **Assignments** tab and save.
70
72
 
71
- Up to two E380 energy meters are supported. IDs of data points depends on devices CAN address:
73
+ The detailed steps are described in the [Configuration guide](#configuration-guide) below.
72
74
 
73
- CAN-address=97: data points with even IDs
75
+ > **After upgrading Node.js:** Native modules used by this adapter must be rebuilt when the Node.js version changes. If the adapter fails to start after a Node.js upgrade, stop it, run `iob rebuild` on the command line, then start it again.
74
76
 
75
- CAN-address=98: data points with odd IDs
77
+ ---
76
78
 
77
- | ID | Data| Unit |
78
- | ------|:--- |------|
79
- | 592,593 | Active Power L1, L2, L3, Total | W |
80
- | 594,595 | Reactive Power L1, L2, L3, Total | var |
81
- | 596,597 | Absolute Current, L1, L2, L3, cosPhi | A, - |
82
- | 598,599 | Voltage, L1, L2, L3, Frequency | V, Hz |
83
- | 600,601 | Cumulated Import, Export | kWh |
84
- | 602,603 | Total Active Power, Total Reactive Power | W, var |
85
- | 604,605 | Cumulated Import | kWh |
79
+ ## Configuration guide
86
80
 
87
- # E3100CB data and units
81
+ ### Step 1 – CAN adapter
88
82
 
89
- | ID | Data| Unit |
90
- | ------|:--- |------|
83
+ Open the adapter configuration dialog and go to the **CAN Adapter** tab.
84
+
85
+ - Enter the name of your CAN interface (default: `can0`).
86
+ - Check **Connect to adapter** for each interface you want to use.
87
+ - Press **SAVE**. The adapter instance will restart and connect to the CAN bus.
88
+
89
+ If you have a second CAN bus (e.g. internal bus), configure it as the second adapter here. A second **Assignments** tab will appear once the second adapter is configured.
90
+
91
+ ### Step 2 – Device scan
92
+
93
+ Go to the **List of UDS Devices** tab and press the **Scan** button.
94
+
95
+ - The scan takes a few seconds. You can watch progress in the adapter log (open a second browser tab).
96
+ - All E3 devices found on the bus will be listed. Energy meters (E380, E3100CB) are not listed here – they are configured separately.
97
+ - You can rename devices in the second column. These names are used as identifiers in ioBroker's object tree.
98
+ - Press **SAVE** when done. The instance will restart.
99
+
100
+ > During the device scan, the adapter also reads the device's data format configuration (data point 382), including temperature units (°C or °F) and date/time formats. This is stored and used during subsequent data point scans.
101
+
102
+ ### Step 3 – Data point scan
103
+
104
+ Go to the **List of Data Points** tab, press **Start scan …** and confirm with **OK**.
105
+
106
+ > **Be patient** – the scan may take up to 5 minutes. Progress is visible in the adapter log.
107
+
108
+ What the scan does:
109
+ - Discovers all available data points for each device.
110
+ - Adds metadata (description, unit, read/write access) to each data point object.
111
+ - Sets physical units based on the device format configuration found in step 2.
112
+ - Creates the full object tree for each device in ioBroker.
113
+
114
+ This step is not strictly mandatory for read-only use, but it is **strongly recommended** – and **required** if you want to write to any data point.
115
+
116
+ After the scan, you can browse the discovered data points in the configuration dialog by selecting a device and pressing **Update list of data points**. Use the filter symbol to search by name or codec. Deactivate the filter before switching to another device.
117
+
118
+ ### Step 4 – Assignments and schedules
119
+
120
+ Go to the **Assignments to UDS CAN Adapter** tab (and the second adapter tab if applicable).
121
+
122
+ **Energy meters (Collect mode)**
123
+
124
+ If you have E380 or E3100CB energy meters, you can activate listening for them here. Set **Min. update time (s)** to control how often values are stored. The default of 5 seconds is recommended – energy meters transmit more than 20 values per second, and setting this to 0 will put a high load on ioBroker.
125
+
126
+ **E3 device collection (Collect mode)**
127
+
128
+ Press **+** to add a device. Check **Active**, select the device, and set **Min. update time (s)**. A value of 5s is recommended; 0s (store every received value) is possible but generates more load.
129
+
130
+ This mode captures data exchanged between your E3 devices in real time, without sending any requests. See the [FAQ](#faq-and-limitations) for details on which devices support this.
131
+
132
+ **UDSonCAN read schedules**
133
+
134
+ Press **+** to add a schedule. Select a device and a list of data points to read, then set an interval in seconds. A value of 0 means the data points are read once at adapter startup.
135
+
136
+ You can add multiple schedules per device to request some data points more frequently than others. Use the **List of Data Points** tab (open in a second browser tab) as a reference.
137
+
138
+ Press **SAVE & CLOSE** when done. Check the object tree to verify that data is being collected.
139
+
140
+ ---
141
+
142
+ ## Reading data points
143
+
144
+ Data points are read automatically according to the schedules you configured. Values appear in ioBroker's object tree under the device name, organised into `json`, `raw` and `tree` sub-objects with human-readable names and metadata.
145
+
146
+ **Reading a specific data point on demand**
147
+
148
+ You can request any data point at any time by editing the state `e3oncan.0.<DEVICE>.cmnd.udsReadByDid` and entering a list of data point IDs, for example `[3350, 3351, 3352]`. If the data point is available on the device, the value will appear in the object tree and can be used in read schedules.
149
+
150
+ The numerical scan range is currently limited (e.g. 256–3338 in version 0.11.0). Use `udsReadByDid` to probe data points outside this range.
151
+
152
+ ---
153
+
154
+ ## Writing data points
155
+
156
+ Writing is intentionally simple: change the value of the corresponding state in ioBroker and save it **without** checking the `Acknowledged` (ack) checkbox. The adapter detects the unacknowledged write and sends it to the device.
157
+
158
+ About 2.5 seconds after writing, the adapter reads the data point back from the device and stores the confirmed value. If the state is not acknowledged after this, check the adapter log for error details.
159
+
160
+ **Whitelist of writable data points**
161
+
162
+ Writing is restricted to data points on a whitelist, stored at:
163
+
164
+ ```
165
+ e3oncan.0.<DEVICE>.info.udsDidsWritable
166
+ ```
167
+
168
+ You can extend the list by editing this state. Save it **without** checking `Acknowledged`.
169
+
170
+ Some data points cannot be changed even if whitelisted – the device will return a negative response. The adapter then retries with an alternative service (internal CAN bus only). Always verify write operations by checking whether the value was acknowledged.
171
+
172
+ ---
173
+
174
+ ## Data points and metadata
175
+
176
+ For detailed information about how data points are structured, how variant data points and metadata work, and how temperature/date/time formats are handled, please refer to [data-points.md](lib/data-points.md).
177
+
178
+ ---
179
+
180
+ ## Energy meters
181
+
182
+ ### E380 data and units
183
+
184
+ Up to two E380 energy meters are supported. Data point IDs depend on the device's CAN address:
185
+
186
+ - **CAN address 97:** data points with even IDs
187
+ - **CAN address 98:** data points with odd IDs
188
+
189
+ | ID | Data | Unit |
190
+ |---|---|---|
191
+ | 592, 593 | Active Power L1, L2, L3, Total | W |
192
+ | 594, 595 | Reactive Power L1, L2, L3, Total | var |
193
+ | 596, 597 | Absolute Current L1, L2, L3; cosPhi | A, — |
194
+ | 598, 599 | Voltage L1, L2, L3; Frequency | V, Hz |
195
+ | 600, 601 | Cumulated Import, Export | kWh |
196
+ | 602, 603 | Total Active Power, Total Reactive Power | W, var |
197
+ | 604, 605 | Cumulated Import | kWh |
198
+
199
+ ### E3100CB data and units
200
+
201
+ | ID | Data | Unit |
202
+ |---|---|---|
91
203
  | 1385_01 | Cumulated Import | kWh |
92
204
  | 1385_02 | Cumulated Export | kWh |
93
- | 1385_03 | State: -1 => feedin \| +1 => supply | |
94
- | 1385_04 | Active Power Total | W |
95
- | 1385_08 | Active Power L1 | W |
96
- | 1385_12 | Active Power L2 | W |
97
- | 1385_16 | Active Power L3 | W |
205
+ | 1385_03 | State: −1 = feed-in / +1 = supply | — |
206
+ | 1385_04 | Active Power Total | W |
207
+ | 1385_08 | Active Power L1 | W |
208
+ | 1385_12 | Active Power L2 | W |
209
+ | 1385_16 | Active Power L3 | W |
98
210
  | 1385_05 | Reactive Power Total | var |
99
211
  | 1385_09 | Reactive Power L1 | var |
100
212
  | 1385_13 | Reactive Power L2 | var |
@@ -102,35 +214,45 @@ CAN-address=98: data points with odd IDs
102
214
  | 1385_06 | Current, Absolute L1 | A |
103
215
  | 1385_10 | Current, Absolute L2 | A |
104
216
  | 1385_14 | Current, Absolute L3 | A |
105
- | 1385_07 | Voltage, L1 | V |
106
- | 1385_11 | Voltage, L2 | V |
107
- | 1385_15 | Voltage, L3 | V |
217
+ | 1385_07 | Voltage L1 | V |
218
+ | 1385_11 | Voltage L2 | V |
219
+ | 1385_15 | Voltage L3 | V |
220
+
221
+ ---
222
+
223
+ ## FAQ and limitations
224
+
225
+ **Why use Collect and UDSonCAN together?**
108
226
 
109
- # Hints and limitations
227
+ Collect gives you real-time data for everything the devices exchange among themselves – fast-changing values like energy flow, and slowly changing values like temperatures, all updated the moment they change. UDSonCAN lets you access data that is not broadcast spontaneously, typically setpoints and configuration values. Combining both gives you the most complete and up-to-date picture of your system.
110
228
 
111
- ## Why using data collection (mode Collect) and UDSonCAN in parallel?
112
- * When you have connected E3 devices you can benefit of the exchanged data ([more details](https://github.com/MyHomeMyData/ioBroker.e3oncan/discussions/34)). By just listening you will receive available data in realtime right on changing. So you can get fast changing data (e.g. energy flow values) and slowly changing data (e.g. temperatures) directly on each change. You're up do date all time for those values.
113
- * Other data, not or rarely available via collection, you can add via UDSonCAN ReadByDid. Typically for setpoint data this is best approach.
114
- * Therfore from my point of view, combination of both methods is best approach.
229
+ **Which devices support Collect mode?**
115
230
 
116
- ## Limitation of collecting data
117
- * At present, the communication protocol is known only for Vitocal (listener on CAN id 0x693 on internal CAN), Vitocharge VX3 and Vitoair (both listener on CAN id 0x451 on external and internal CAN).
231
+ At present, the collect protocol is known for:
232
+ - Vitocal (listens on CAN ID `0x693`, internal CAN bus)
233
+ - Vitocharge VX3 and Vitoair (listen on CAN ID `0x451`, external and internal CAN bus)
118
234
 
119
- ## Limitation of scan range for data points
120
- * Numerical range for scan of data points is limited to min. and max. value of common data point list, e.g. 256 to 3338 @ version 0.10.14
121
- * You may scan for data points beyond this scope for a specific device by using "ReadByDid" command: Edit `e3oncan.0.<DEVICE>.cmnd.udsReadByDid` and add your list of desired data points, e.g. `[3350,3351,3352,3353]`. If a requested data point is available the value will show up in the object tree. It's also possible to use such data points within read schedules of device configuration. If a requested data point is **not** available an error message ("Negative response") will appear in iobroker's log.
235
+ **Can I use open3e at the same time?**
122
236
 
123
- ## What is different to open3e project?
124
- * Obviously, the main differece is the direct integration to ioBroker. Configuration can be done via dialogs, data get's directly listed in object trees.
125
- * In addition to open3e real time collecting of data via listening is supported.
126
- * Writing of data is much simpler. Just change the data in corresponding state and press Save button.
127
- * Exchanging data via MQTT is not neccessary. However it's of course available via configuration of data states.
128
- * Encoding of 64 bit integers (for writing of data) is limited to values < 2^52 (4.503.599.627.370.496). Decoding (for reading of data) is working correctly in full 64 bit range.
237
+ Yes, with conditions. If you only use Collect mode in this adapter, open3e can run alongside it without any restrictions. If you use UDSonCAN here, do not run open3e for the same devices simultaneously – this causes sporadic communication errors in both applications.
129
238
 
130
- ## May open3e be used in parallel?
131
- Yes, that is possible under certain conditions:
132
- * If you only use data collecting here, you can use open3e with no limitiations.
133
- * If you use UDSonCAN here, it's important not to do this for the same devices as open3e does. If you would do so, you will have sporadic communications errors.
239
+ **The adapter stopped working after a Node.js upgrade. What do I do?**
240
+
241
+ This adapter uses native modules that must be rebuilt when the Node.js version changes. Stop the adapter, run `iob rebuild` on the command line, then start the adapter again. If the problem persists, please open an issue.
242
+
243
+ **What is different from the open3e project?**
244
+
245
+ - Direct integration into ioBroker: configuration via dialogs, data visible directly in the object tree.
246
+ - Real-time Collect mode in addition to UDSonCAN.
247
+ - Writing data is simpler: just change a state value and save without acknowledging.
248
+ - No MQTT required (though MQTT is of course available via normal ioBroker configuration).
249
+ - 64-bit integer encoding for writes is limited to values below 2^52 (4,503,599,627,370,496). Decoding works correctly over the full 64-bit range.
250
+
251
+ **Can I request data points outside the scan range?**
252
+
253
+ Yes. Edit the state `e3oncan.0.<DEVICE>.cmnd.udsReadByDid` and enter a list of data point IDs, e.g. `[3350, 3351, 3352, 3353]`. Available data points will appear in the object tree and can be used in read schedules. Unavailable data points produce a "Negative response" message in the log.
254
+
255
+ ---
134
256
 
135
257
  ## Donate
136
258
 
@@ -142,6 +264,15 @@ If you enjoyed this project — or just feeling generous, consider buying me a b
142
264
  Placeholder for the next version (at the beginning of the line):
143
265
  ### **WORK IN PROGRESS**
144
266
  -->
267
+ ### 0.11.0 (2026-04-14)
268
+ * (MyHomeMyData) To take full advantage of the variant data points and metadata, please perform a device scan followed by a data point scan
269
+ * (MyHomeMyData) Added handling for variant data points and for device's data format configuration, refer to https://github.com/MyHomeMyData/ioBroker.e3oncan/lib/data-points.md for details
270
+ * (MyHomeMyData) Added metadata to several data points, e.g. description, unit, link to further info
271
+ * (MyHomeMyData) During scan of data points now metadata are added to data point objects
272
+ * (MyHomeMyData) Changed handling of writable data points; this info now also is available within definition of data point; however, there is no change to handling of the whitelist of writables
273
+ * (MyHomeMyData) During device scan the information about used data formats (data point 382) is evaluated
274
+ * (MyHomeMyData) Updated structure of many data points; for details see this [changelog](lib/data-points.md#changelog-of-data-point-definitions)
275
+
145
276
  ### 0.10.14 (2025-11-03)
146
277
  * (MyHomeMyData) Added elements to enums.js based of PR no. 182 of open3e
147
278
  * (MyHomeMyData) Simplified configuration of dids scan limits in source code
@@ -162,152 +293,12 @@ If you enjoyed this project — or just feeling generous, consider buying me a b
162
293
  * (MyHomeMyData) Added hint to readme regarding user action after upgrading version of node.js
163
294
  * (MyHomeMyData) Update of list of data points for E3 devices to version 20250903
164
295
 
165
- ### 0.10.10 (2025-08-07)
166
- * (MyHomeMyData) Fix for issue #142 (WriteByDid not working in case of specific UDS control frame)
167
- * (MyHomeMyData) Update of list of data points for E3 devices to version 20250729
168
- * (MyHomeMyData) Added codec for 64-bit integers. Remark: Encoding (for writing of data) is limited to values < 2^52 (4.503.599.627.370.496).
169
-
170
- ### 0.10.9 (2025-05-22)
171
- * (MyHomeMyData) Update of list of data points for E3 devices to version 20250422
172
- * (MyHomeMyData) Fixed version number of enum info
173
- * (MyHomeMyData) Fix for issue #125 (findings of repository checker)
174
-
175
- ### 0.10.8 (2025-03-07)
176
- * (MyHomeMyData) Bugfix for issue #117
177
- * (MyHomeMyData) Updated data point 381, refer to discussion https://github.com/open3e/open3e/discussions/212
178
- * (MyHomeMyData) Update of list of data points for E3 devices to version 20250307
179
-
180
- ### 0.10.7 (2025-02-26)
181
- * (MyHomeMyData) Updated dependencies according to issue #111
182
-
183
- ### 0.10.6 (2025-02-19)
184
- * (MyHomeMyData) Added missing enum info for data point 2850
185
-
186
- ### 0.10.5 (2025-02-18)
187
- * (MyHomeMyData) Update of list of data points for E3 devices to version 20250217
188
- * (MyHomeMyData) Updated dependencies according to issues #101 and #108
189
-
190
- ### 0.10.4 (2025-01-15)
191
- * (MyHomeMyData) Update of list of data points for E3 devices to version 20250114
192
-
193
- ### 0.10.3 (2024-11-26)
194
- * (MyHomeMyData) Update of list of data points for E3 devices to version 20241125
195
-
196
- ### 0.10.2 (2024-11-16)
197
- * (MyHomeMyData) Update of list of data points for E3 devices to version 20241115
198
- * (MyHomeMyData) Fixes for issue #81 (added missing size attributes)
199
-
200
- ### 0.10.1 (2024-10-20)
201
- * (MyHomeMyData) Fixes for issue #79 (improvements for usability on mobile devices)
202
-
203
- ### 0.10.0 (2024-10-14)
204
- * (MyHomeMyData) Added extended support for writing of data points.
205
- * (MyHomeMyData) Changed naming for CAN adapter.
206
-
207
- ### 0.9.5 (2024-09-19)
208
- * (MyHomeMyData) Update of list of data points for E3 devices to version 20240916
209
-
210
- ### 0.9.4 (2024-08-26)
211
- * (MyHomeMyData) Start up an UDS worker for each device to allow writing of data points even when no schedule for reading is defined on this device
212
- * (MyHomeMyData) Update of npm dependencies
213
-
214
- ### 0.9.3 (2024-08-20)
215
- * (MyHomeMyData) Bugfix: Updating UDS communication statistics, even in case of persistent timeout events
216
- * (MyHomeMyData) Disabled sinon should interface
217
- * (MyHomeMyData) Fixes based on issues #55,#56
218
- * (MyHomeMyData) Bugfix: Time delta between schedules of UDS workes was not working properly
219
-
220
- ### 0.9.2 (2024-08-09)
221
- * (MyHomeMyData) Update of dependencies, fixes based on issue #53
222
- * (MyHomeMyData) Update of list of data points for E3 devices to version 20240808
223
-
224
- ### 0.9.1 (2024-05-26)
225
- * (MyHomeMyData) Updated README, added links for description of device topology and to uses cases
226
- * (MyHomeMyData) Added info for data points 2404_BivalenceControlMode and 2831_BivalenceControlAlternativeTemperature
227
- * (MyHomeMyData) Update of list of data points for E3 devices to version 20240505
228
-
229
- ### 0.9.0 (2024-04-21)
230
- * (MyHomeMyData) Structure of data point 1690 (ElectricalEnergySystemPhotovoltaicStatus) changed based on issue https://github.com/MyHomeMyData/E3onCAN/issues/6. Manual adaptations may be needed, please check!
231
- * (MyHomeMyData) Update of list of data points for E3 devices to version 20240420
232
- * (MyHomeMyData) Added support for energy meter E3100CB
233
- * (MyHomeMyData) Update of list of data points for E380 to version 20240418
234
- * (MyHomeMyData) Main change for E380 id 600/601 (GridEnergy): Now using correct data format. Many thanks to @M4n197 for unveiling the right data format. Manual adaptations may be needed, please check!
235
-
236
- ### 0.8.0 (2024-03-22)
237
- * (MyHomeMyData) Added support for energy meter E380 with CAN-address=98
238
- * (MyHomeMyData) Update of list of data points for E380 to version 20240320
239
-
240
- ### 0.7.2 (2024-03-20)
241
- * (MyHomeMyData) Update of data type and role added for device specific data points
242
- * (MyHomeMyData) Update list of writable data points when updating data points to newer version
243
- * (MyHomeMyData) Improved handling of failed CAN communication during scan for data points
244
- * (MyHomeMyData) Update of list of data points to version 20240319
245
-
246
- ### 0.7.1 (2024-03-15)
247
- * (MyHomeMyData) Bugfix for data point 1190: Scaling changed back to 10.0
248
- * (MyHomeMyData) Update of list of data points to version 20240314
249
-
250
- ### 0.7.0 (2024-03-13)
251
- * (MyHomeMyData) Store numbers in states of channel "tree" with type "Number" instead of "String"
252
- * (MyHomeMyData) IMPORTANT: This may affect handling of tree states, e.g. in scripts, vis and history
253
- * (MyHomeMyData) Bugfix for Energy Meter E380 data point id 0x25C
254
- * (MyHomeMyData) Update of list of data points to version 20240309
255
- * (MyHomeMyData) Bugfix for update of changed data point structure during start of adapter
256
- * (MyHomeMyData) Changed default values for CAN adapters to can0 and can1
257
- * (MyHomeMyData) Increased value for collect timeout to 2000 ms
258
-
259
- ### 0.6.19 (2024-02-19)
260
- * (MyHomeMyData) Check for changed structure of data points during startup
261
- * (MyHomeMyData) Update of list of data points to version 20240218
262
- * (MyHomeMyData) Bugfix to avoid warnings on very first start of adapter
263
-
264
- ### 0.6.18 (2024-02-08)
265
- * (MyHomeMyData) Added versioning to list of data points and check for updates on start of adapter
266
- * (MyHomeMyData) Added optional description in configuration of UDS schedules
267
-
268
- ### 0.6.17 (2024-01-29)
269
- * (MyHomeMyData) Added/removed data points to/from list of writable dids
270
- * (MyHomeMyData) Preparations for device specific list of writable dids
271
-
272
- ### 0.6.16 (2024-01-27)
273
- * (MyHomeMyData) Improvements based on findings in review as of 2024-01-25
274
- * (MyHomeMyData) Checkbox for data collectiton on internal bus is now checked per default
275
-
276
- ### 0.6.15 (2024-01-23)
277
- * (MyHomeMyData) Fix for Utf8 codec for handling of special characters, e.g. umlauts
278
-
279
- ### 0.6.14 (2024-01-22)
280
- * (MyHomeMyData) Replace '.' by '_' in data point ids to avoid unwanted sub structure in data states
281
- * (MyHomeMyData) Added more informations about white list for writables in Readme.
282
- * (MyHomeMyData) Recognize loss of CAN connection.
283
- * (MyHomeMyData) Improved handling of info.connection.
284
-
285
- ### 0.6.13 (2024-01-20)
286
- * (MyHomeMyData) Now supports multiple definitions of same schedule on a device
287
- * (MyHomeMyData) Added unit test cases for codecs
288
-
289
- ### 0.6.12 (2024-01-19)
290
- * (MyHomeMyData) Added data points to list writable dids
291
- * (MyHomeMyData) Added unit test cases for codecs
292
- * (MyHomeMyData) Improved speed of codes for numerical values
293
- * (MyHomeMyData) Improved error messages on UDS negative response
294
-
295
- ### 0.6.11 (2024-01-17)
296
- * (MyHomeMyData) Improved layout of configuration dialog for device scan
297
-
298
- ### 0.6.10 (2024-01-15)
299
- * (MyHomeMyData) Removed code for Rawmode because it's never activated
300
-
301
- ### 0.6.9 (2024-01-13)
302
- * (MyHomeMyData) Bugfix: Only Linux is supported
303
-
304
- ### 0.6.8 (2024-01-13)
305
- * (MyHomeMyData) Initial npm version
296
+ Older changelog entries are available in [CHANGELOG_OLD.md](CHANGELOG_OLD.md).
306
297
 
307
298
  ## License
308
299
  MIT License
309
300
 
310
- Copyright (c) 2025 MyHomeMyData <juergen.bonfert@gmail.com>
301
+ Copyright (c) 2024-2026 MyHomeMyData <juergen.bonfert@gmail.com>
311
302
 
312
303
  Permission is hereby granted, free of charge, to any person obtaining a copy
313
304
  of this software and associated documentation files (the "Software"), to deal