iobroker.modbus 8.0.5 → 8.1.1

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/README.md CHANGED
@@ -9,7 +9,7 @@
9
9
  [![Translation status](https://weblate.iobroker.net/widgets/adapters/-/modbus/svg-badge.svg)](https://weblate.iobroker.net/engage/adapters/?utm_source=widget)
10
10
  [![Downloads](https://img.shields.io/npm/dm/iobroker.modbus.svg)](https://www.npmjs.com/package/iobroker.modbus)
11
11
 
12
- **This adapter uses Sentry libraries to automatically report exceptions and code errors to the developers.** For more details and for information how to disable the error reporting, see [Sentry-Plugin Documentation](https://github.com/ioBroker/plugin-sentry#plugin-sentry)! Sentry reporting is used starting with js-controller 3.0.
12
+ **This adapter uses Sentry libraries to automatically report exceptions and code errors to the developers.** For more details and for information on how to disable the error reporting, see [Sentry-Plugin Documentation](https://github.com/ioBroker/plugin-sentry#plugin-sentry)! Sentry reporting is used starting with js-controller 3.0.
13
13
 
14
14
  Implementation of ModBus Slave and Master for ioBroker. The following types are supported:
15
15
  - Modbus RTU over serial (master)
@@ -60,10 +60,10 @@ Like addresses from 3 to 20 will be aligned to 0 up 32.
60
60
  If this option is active, the addresses will not be aligned.
61
61
 
62
62
  ### Do not use multiple registers
63
- If slave does not support "write multiple registers" command, you can activate it to get warnings when the multiple registers will be written.
63
+ If a slave does not support the "write multiple registers" command, you can activate it to get warnings when the multiple registers will be written.
64
64
 
65
65
  ### Use only multiple write registers
66
- If slave only supports "write multiple registers" command, you can activate so the registers will be written always with FC15/FC16 command.
66
+ If a slave only supports the "write multiple registers" command, you can activate so the registers will be written always with FC15/FC16 command.
67
67
 
68
68
  ### Round Real to
69
69
  How many digits after comma for float and doubles.
@@ -78,13 +78,13 @@ Reconnection interval (Only relevant for master)
78
78
  Timeout for read requests in milliseconds. If no response is received from a slave at this time, the connection will be terminated.
79
79
 
80
80
  ### Pulse time
81
- If pulse used for coils, this defines the interval in milliseconds how long is the pulse.
81
+ If pulse is used for coils, this defines the interval in milliseconds how long is the pulse.
82
82
 
83
83
  ### Wait time
84
84
  Wait time between polling of two different device IDs in milliseconds.
85
85
 
86
86
  ### Max read request length
87
- Maximal length of command READ_MULTIPLE_REGISTERS as number of registers to read.
87
+ Maximal length of command READ_MULTIPLE_REGISTERS as the number of registers to read.
88
88
 
89
89
  Some systems require first "write request" to deliver the data on "read request".
90
90
  You can force this mode by setting of the "Max read request length" to 1.
@@ -97,22 +97,40 @@ There is a software [**Modbus RTU <-> Modbus RTU over TCP**](http://mbus.sourcef
97
97
  Both solutions **RTU over TCP** and **TCP** work well.
98
98
 
99
99
  ### Read interval
100
- Delay between two read requests in ms. Default 0.
100
+ Delay between two read requests in milliseconds. Default 0.
101
101
 
102
102
  ### Write interval
103
- Delay between two write requests in ms. Default 0.
103
+ Delay between two write requests in milliseconds. Default 0.
104
104
 
105
105
  ### Update unchanged states
106
106
  Normally, if the value has not changed, it will not be written into ioBroker.
107
107
  This flag allows updating the value's timestamp by every cycle.
108
108
 
109
+ ### Value Sanitization
110
+ Enable automatic sanitization of invalid register values (NaN, Infinity, extreme float values like ±3.4e38).
111
+ This feature helps prevent corrupted Modbus float values from propagating into ioBroker states, which is especially useful for devices like SolarEdge inverters that occasionally return invalid values due to timeouts or internal scaling errors.
112
+
113
+ When enabled, you can configure per-register sanitization options:
114
+ - **Sanitize**: Enable sanitization for this specific register
115
+ - **Sanitize Action**: Choose how to handle invalid values
116
+ - *Keep Last Valid*: Keeps the last known valid value when an invalid value is detected
117
+ - *Replace with 0*: Replaces invalid values with 0
118
+ - **Min Valid Value**: Optional minimum valid value threshold
119
+ - **Max Valid Value**: Optional maximum valid value threshold
120
+
121
+ Invalid values detected:
122
+ - `NaN` (Not a Number)
123
+ - `Infinity` or `-Infinity`
124
+ - Extreme float values (≥3.4e38 or ≤-3.4e38) - typical Modbus error values
125
+ - Values outside the configured min/max range
126
+
109
127
  ### Do not include addresses in ID
110
128
  Do not add address in the generated ioBroker iD. `10_Input10` vs `_Input10`.
111
129
 
112
130
  ### Preserve dots in ID
113
131
  With this flag the Name will be `Inputs.Input10`. Without => `Inputs_Input10`.
114
132
 
115
- ## Parameters for single address line in config
133
+ ## Parameters for a single address line in config
116
134
  ### Address
117
135
  Modbus address to read.
118
136
 
@@ -129,16 +147,16 @@ Parameter description.
129
147
  Unit of the Parameter.
130
148
 
131
149
  ### Type
132
- Datatype to read from Bus. For details about the possible data types see section Data types.
150
+ Datatype to read from Bus. For details about the possible data types, see the section Data types.
133
151
 
134
152
  ### Length
135
- Length of parameter. For the most parameters, this is determined based on the data type, but for Strings this defines the length in Bytes / characters.
153
+ Length of parameter. For most parameters, this is determined based on the data type, but for Strings this defines the length in Bytes / characters.
136
154
 
137
155
  ### Factor
138
156
  This factor is used to multiply the read value from Bus for static scaling. So the calculation looks like following `val = x * Factor + Offset`.
139
157
 
140
158
  ### Offset
141
- This offset is added to the read value after above multiplication. So the calculation looks like following `val = x * Factor + Offset`.
159
+ This offset is added to the read value after the above multiplication. So the calculation looks like following `val = x * Factor + Offset`.
142
160
 
143
161
  ### Formula
144
162
  This field can be used for advanced calculations if Factor and Offset are not enough. **If this field is set, then the Factor and Offset fields are ignored.**
@@ -159,7 +177,7 @@ ioBroker role to assign.
159
177
  ioBroker room to assign.
160
178
 
161
179
  ### Poll
162
- If activated, the values are polled in a predefined interval from slave.
180
+ If activated, the values are polled in a predefined interval from a slave.
163
181
 
164
182
  ### WP
165
183
  Write pulse
@@ -173,6 +191,17 @@ This is necessary to be used by dynamic scaling factors which are on some system
173
191
  If a value is marked with this flag, then the value will be stored into a variable with the following naming convention: `sf['Modbus_address']`.
174
192
  This variable can be then later used in any formula for other parameters. E.g., the following formula can set: `(x * sf['40065']) + 50;`
175
193
 
194
+ ### Sanitize (Expert Mode)
195
+ Enable value sanitization for this register. Only available when "Value Sanitization" is enabled globally in the adapter settings.
196
+
197
+ ### Sanitize Action (Expert Mode)
198
+ Choose the action to take when an invalid value is detected:
199
+ - **Keep Last Valid**: Retains the last known valid value
200
+ - **Replace with 0**: Replaces the invalid value with 0
201
+
202
+ ### Min Valid / Max Valid (Expert Mode)
203
+ Optional minimum and maximum value thresholds for range validation. Values outside this range will be treated as invalid and sanitized according to the Sanitize Action.
204
+
176
205
  ## Data types
177
206
  - `uint16be` - `Unsigned 16 bit (Big Endian): AABB => AABB`
178
207
  - `uint16le` - `Unsigned 16 bit (Little Endian): AABB => BBAA`
@@ -206,7 +235,7 @@ This variable can be then later used in any formula for other parameters. E.g.,
206
235
 
207
236
  The following description was copied from [here](http://www.chipkin.com/how-real-floating-point-and-32-bit-data-is-encoded-in-modbus-rtu-messages/)
208
237
 
209
- The point-to-point Modbus protocol is a popular choice for RTU communications if for no other reason that its basic convenience. The protocol itself controls the interactions of each device on a Modbus network, how the device establishes a known address, how each device recognizes its messages and how basic information is extracted from the data. In essence, the protocol is the foundation of the entire Modbus network.
238
+ The point-to-point Modbus protocol is a popular choice for RTU communications if for no other reason than its basic convenience. The protocol itself controls the interactions of each device on a Modbus network, how the device establishes a known address, how each device recognizes its messages and how basic information is extracted from the data. In essence, the protocol is the foundation of the entire Modbus network.
210
239
 
211
240
  Such a convenience does not come without any complications, however, and Modbus RTU Message protocol is no exception.
212
241
  The protocol itself was designed based on devices with a 16-bit register length.
@@ -216,7 +245,7 @@ It is within these four bytes of data that single-precision floating point data
216
245
 
217
246
  ### The Importance of Byte Order
218
247
  Modbus itself does not define a floating point data type, but it is widely accepted that it implements 32-bit floating point data using the IEEE-754 standard.
219
- However, the IEEE standard has no clear definition of byte order of the data payload.
248
+ However, the IEEE standard has no clear definition of the byte order of the data payload.
220
249
  Therefore, the most important consideration when dealing with 32-bit data is that data is addressed in the proper order.
221
250
 
222
251
  For example, the number 123/456.00 as defined in the IEEE 754 standard for single-precision 32-bit floating point numbers appears as follows:
@@ -249,7 +278,7 @@ Given that the Modbus RTU message protocol is big-Endian, in order to successful
249
278
 
250
279
  As a rule of thumb, the family of a device’s microprocessor determines its endianness. Typically, the big-Endian style (the high-order byte is stored first, followed by the low-order byte) is generally found in CPUs designed with a Motorola processor. The little-Endian style (the low-order byte is stored first, followed by the high-order byte) is generally found in CPUs using the Intel architecture. It is a matter of personal perspective as to which style is considered ‘backwards’.
251
280
 
252
- If, however, byte order and endianness are not a configurable option, you will have to determine how to interpret the byte. This can be done requesting a known floating-point value from the slave. If an impossible value is returned, i.e., a number with a double-digit exponent or such, the byte ordering will most likely need modification.
281
+ If, however, byte order and endianness are not a configurable option, you will have to determine how to interpret the byte. This can be done by requesting a known floating-point value from the slave. If an impossible value is returned, i.e., a number with a double-digit exponent or such, the byte ordering will most likely need modification.
253
282
 
254
283
  ### Practical Help
255
284
  The FieldServer Modbus RTU drivers offer several function moves that handle 32-bit integers and 32-bit float values. More importantly, these function moves consider all different forms of byte sequencing. The following table shows the FieldServer function moves that copy two adjacent 16-bit registers to a 32-bit integer value.
@@ -301,25 +330,30 @@ The utility presents the decimal float value of 123456.00 as follows:
301
330
  One can then swap bytes and/or words to analyze what potential endianness issues may exist between Modbus RTU master and slave devices.
302
331
 
303
332
  ## Export / Import of registers
304
- With export / import functionality, you can convert all register data (only of one type) to a TSV (Tab separated values) file and back to easily copy data from one device to another or to edit register in Excel.
333
+ With export / import functionality, you can convert all register data (only of one type) to a TSV (Tab-separated values) file and back to easily copy data from one device to another or to edit register in Excel.
305
334
 
306
335
  You can share your schemas with other users in [modbus-templates,](https://github.com/ioBroker/modbus-templates) or you can find some register schemas there.
307
336
 
308
337
  ## Test
309
338
  There are some programs in folder `test` to test the TCP communication:
310
339
  - Ananas32/64 is a slave simulator (only holding registers and inputs, no coils and digital inputs)
311
- - RMMS is master simulator
312
- - mod_RSsim.exe is a slave simulator. It can be that you need [Microsoft Visual C++ 2008 SP1 Redistributable Package](https://www.microsoft.com/en-us/download/details.aspx?id=5582) to start it (because of Side-By-Side error).
340
+ - RMMS is a master simulator
341
+ - mod_RSsim.exe is a slave simulator. It can be that you need [Microsoft Visual C++ 2008 SP1 Redistributable Package](https://www.microsoft.com/en-us/download/details.aspx?id=5582) to start it (because of a Side-By-Side error).
313
342
 
314
343
  <!--
315
344
  ### **WORK IN PROGRESS**
316
345
  -->
317
346
  ## Changelog
347
+ ### 8.1.1 (2026-04-12)
348
+ * (@GermanBluefox) Added sanitizing of the values
349
+ * (@GermanBluefox) Added "ttyADM***" to the list of possible serial ports
350
+ * (@GermanBluefox) Write cyclic values even if they are not polled
351
+
318
352
  ### 8.0.5 (2026-04-11)
319
353
  * (@GermanBluefox) Fixed possible errors
320
354
 
321
355
  ### 8.0.3 (2026-02-17)
322
- * (@GermanBluefox) Set default value of slave to '0' and not to 0
356
+ * (@GermanBluefox) Set the default value of a slave to '0' and not to 0
323
357
  * (@GermanBluefox) Showed address 0
324
358
 
325
359
  ### 8.0.1 (2026-02-16)
@@ -342,18 +376,18 @@ There are some programs in folder `test` to test the TCP communication:
342
376
 
343
377
  ### 7.0.1 (2025-10-07)
344
378
  * (bluefox) Redesign of the configuration tabs
345
- * (bluefox) Added option to remove leading underscores in the object names
379
+ * (bluefox) Added an option to remove leading underscores in the object names
346
380
 
347
381
  ### 7.0.0 (2025-10-06)
348
382
  * (copilot) Improved Modbus error handling and fault tolerance - continue polling working devices even when others fail
349
383
  * (copilot) Fixes memory leak
350
- * (copilot) Added option to disable connection error logging to avoid log spam when devices are unavailable
351
- * (bluefox) Show values directly in configuration
384
+ * (copilot) Added an option to disable connection error logging to avoid log spam when devices are unavailable
385
+ * (bluefox) Show values directly in the configuration
352
386
  * (bluefox) Implemented TLS connection (master)
353
387
 
354
388
  ### 6.4.0 (2024-11-22)
355
389
  * (bluefox) Moved GUI compilation to vite
356
- * (bluefox) Added error message if the response length is invalid
390
+ * (bluefox) Added an error message if the response length is invalid
357
391
 
358
392
  ### 6.3.2 (2024-08-29)
359
393
  * (bluefox) Corrected the error with alignment of addresses
@@ -361,7 +395,7 @@ There are some programs in folder `test` to test the TCP communication:
361
395
  ### 6.3.0 (2024-08-28)
362
396
  * (Apollon77) Fix Timeout management to prevent leaking memory
363
397
  * (bluefox) Added information about connected clients in the server mode
364
- * (bluefox) Tried to fix error with aligning addresses
398
+ * (bluefox) Tried to fix the error with aligning addresses
365
399
  * (bluefox) GUI was migrated to admin 7
366
400
 
367
401
  ### 6.2.3 (2024-05-25)
@@ -377,7 +411,7 @@ There are some programs in folder `test` to test the TCP communication:
377
411
  ### 6.2.0 (2024-04-12)
378
412
  * (PLCHome) String based on 16-bit values big endian as well as little endian
379
413
  * (PLCHome) Raw data as a hex string
380
- * (PLCHome) Fix issue `stringle` was always converted to number for slave
414
+ * (PLCHome) Fix issue `stringle` was always converted to number for a slave
381
415
  * (PLCHome) Enable formula for strings and hex strings
382
416
 
383
417
  ### 6.1.0 (2023-12-14)
@@ -409,7 +443,7 @@ There are some programs in folder `test` to test the TCP communication:
409
443
 
410
444
  ### 5.0.0 (2022-05-11)
411
445
  * BREAKING: All space characters will be replaced with underscores now in the Objects IDs, not only the first one.
412
- * (Apollon77) Catch error reported by sentry when invalid Master port is entered
446
+ * (Apollon77) Catch error reported by sentry when the invalid Master port is entered
413
447
  * (bluefox) GUI migrated to mui-v5
414
448
 
415
449
  ### 4.0.4 (2022-03-25)
@@ -428,7 +462,7 @@ There are some programs in folder `test` to test the TCP communication:
428
462
 
429
463
  ### 3.4.14 (2021-08-31)
430
464
  * (nkleber78) Fixed issue with sorting
431
- * (bluefox) Corrected the calculations with scaling factor
465
+ * (bluefox) Corrected the calculations with a scaling factor
432
466
  * (bluefox) Read times were optimized
433
467
 
434
468
  ### 3.4.11 (2021-07-31)
@@ -436,13 +470,13 @@ There are some programs in folder `test` to test the TCP communication:
436
470
 
437
471
  ### 3.4.10 (2021-07-30)
438
472
  * (Apollon77) Make sure that slave reconnections at least wait 1000ms to allow old connectio to close properly
439
- * (bluefox) Corrected the error with write single registers
473
+ * (bluefox) Corrected the error with writing single registers
440
474
 
441
475
  ### 3.4.9 (2021-07-06)
442
476
  * (bluefox) Changed edit behaviour
443
477
 
444
478
  ### 3.4.8 (2021-06-24)
445
- * (Apollon77) Fix crash case on writing floats (Sentry IOBROKER-MODBUS-2D)
479
+ * (Apollon77) Fix a crash case on writing floats (Sentry IOBROKER-MODBUS-2D)
446
480
 
447
481
  ### 3.4.7 (2021-06-22)
448
482
  * (bluefox) Corrected addressing with aliases in GUI
@@ -460,7 +494,7 @@ There are some programs in folder `test` to test the TCP communication:
460
494
  ### 3.4.2 (2021-06-15)
461
495
  * (nkleber78) Corrected issue with the scale factors
462
496
  * (bluefox) New react GUI added
463
- * (bluefox) Add new option: Use only Write multiple registers, read interval
497
+ * (bluefox) Add a new option: Use only Write multiple registers, read interval
464
498
 
465
499
  ### 3.3.1 (2021-05-10)
466
500
  * (bluefox) fixed the configuration dialog for "input registers" in slave mode
@@ -468,18 +502,18 @@ There are some programs in folder `test` to test the TCP communication:
468
502
  ### 3.3.0 (2021-04-16)
469
503
  * (Apollon77) Allowed usage of write-only (no poll) states
470
504
  * (Apollon77/TmShaz) F Write multiple registers
471
- * (prog42) create states of type string with default value of type string
505
+ * (prog42) create states of type string with the default value of type string
472
506
 
473
507
  ### 3.2.6 (2021-03-05)
474
508
  * (Apollon77) Prevent a crash case (Sentry IOBROKER-MODBUS-20)
475
509
  * (Apollon77) Better handle invalid responses
476
510
 
477
511
  ### 3.2.4 (2021-01-30)
478
- * (Sierra83) also support ttyXRUSB0 style devices
512
+ * (Sierra83) also supports ttyXRUSB0 style devices
479
513
 
480
514
  ### 3.2.3 (2021-01-21)
481
515
  * (Apollon77) Catch value encoding error and do not crash adapter (Sentry IOBROKER-MODBUS-1W)
482
- * (Apollon77) add a meta object as instance object
516
+ * (Apollon77) add a meta-object as an instance object
483
517
 
484
518
  ### 3.2.2 (2020-12-15)
485
519
  * (Apollon77) prevent a rash case (Sentry IOBROKER-MODBUS-1S)
@@ -488,7 +522,7 @@ There are some programs in folder `test` to test the TCP communication:
488
522
  * (Apollon77) prevent a crash case (Sentry IOBROKER-MODBUS-1R)
489
523
 
490
524
  ### 3.2.0 (2020-12-09)
491
- * (nkleber78) Fixed formula where return keyword was missing
525
+ * (nkleber78) Fixed the formula where the return keyword was missing
492
526
 
493
527
  ### 3.1.13 (2020-12-07)
494
528
  * (nkleber78) Added the possibility to use formulas for values
@@ -500,7 +534,7 @@ There are some programs in folder `test` to test the TCP communication:
500
534
  * (nkleber78) Corrected: the exported data cannot be imported without modification
501
535
 
502
536
  ### 3.1.9 (2020-09-17)
503
- * (Apollon77) Prevent crash case (Sentry IOBROKER-MODBUS-1C)
537
+ * (Apollon77) Prevent a crash case (Sentry IOBROKER-MODBUS-1C)
504
538
 
505
539
  ### 3.1.7 (2020-07-23)
506
540
  * (Apollon77) Fix some Sentry crash reports (IOBROKER-MODBUS-N)
@@ -513,7 +547,7 @@ There are some programs in folder `test` to test the TCP communication:
513
547
 
514
548
  ### 3.1.4 (2020-06-24)
515
549
  * (Apollon77) Fix some Sentry crash reports (IOBROKER-MODBUS-4, IOBROKER-MODBUS-7, IOBROKER-MODBUS-6)
516
- * (Apollon77) Change the way adapter restarts when reconnections do not help
550
+ * (Apollon77) Change the way the adapter restarts when reconnections do not help
517
551
 
518
552
  ### 3.1.3 (2020-06-12)
519
553
  * (Apollon77) fix scheduled restart
@@ -547,7 +581,7 @@ There are some programs in folder `test` to test the TCP communication:
547
581
  * (Apollon77) Support for Node.js 12 added, Node.js 4 is no longer supported!
548
582
 
549
583
  ### 2.0.9 (2018-10-11)
550
- * (Bjoern3003) Write registers was corrected
584
+ * (Bjoern3003) Write registers were corrected
551
585
 
552
586
  ### 2.0.7 (2018-07-02)
553
587
  * (bluefox) The server mode was fixed
@@ -559,7 +593,7 @@ There are some programs in folder `test` to test the TCP communication:
559
593
  * (bluefox) Fixed the rounding of numbers
560
594
 
561
595
  ### 2.0.2 (2018-06-12)
562
- * (bluefox) The error with blocks reading was fixed
596
+ * (bluefox) The error with block reading was fixed
563
597
  * (bluefox) The block reading for discrete values was implemented
564
598
 
565
599
  ### 2.0.1 (2018-05-06)
@@ -582,7 +616,7 @@ There are some programs in folder `test` to test the TCP communication:
582
616
  * (bluefox) Create all states each after other
583
617
 
584
618
  ### 0.4.10 (2017-02-10)
585
- * (Apollon77) Do not recreate all data points on start of adapter
619
+ * (Apollon77) Do not recreate all data points at the start of the adapter
586
620
  * (ykuendig) Multiple optimization and wording fixes
587
621
 
588
622
  ### 0.4.9 (2016-12-20)
@@ -607,34 +641,34 @@ There are some programs in folder `test` to test the TCP communication:
607
641
  * (bluefox) Support of ModBus RTU over serial and over TCP (only slave)
608
642
 
609
643
  ### 0.3.11 (2016-08-18)
610
- * (Apollon77) Fix wrong byte count in loop
644
+ * (Apollon77) Fixed the wrong byte count in loop
611
645
 
612
646
  ### 0.3.10 (2016-02-01)
613
- * (bluefox) fix lost of history settings.
647
+ * (bluefox) fixed lost of history settings.
614
648
 
615
649
  ### 0.3.9 (2015-11-09)
616
- * (bluefox) Use always write_multiple_registers by write of holding registers.
650
+ * (bluefox) Used always write_multiple_registers by writing of holding registers.
617
651
 
618
652
  ### 0.3.7 (2015-11-02)
619
- * (bluefox) add special read/write mode if "Max read request length" is 1.
653
+ * (bluefox) added special read/write mode if "Max read request length" is 1.
620
654
 
621
655
  ### 0.3.6 (2015-11-01)
622
- * (bluefox) add cyclic write for holding registers (fix)
656
+ * (bluefox) added cyclic write for holding registers (fix)
623
657
 
624
658
  ### 0.3.5 (2015-10-31)
625
- * (bluefox) add cyclic write for holding registers
659
+ * (bluefox) added cyclic write for holding registers
626
660
 
627
661
  ### 0.3.4 (2015-10-28)
628
- * (bluefox) add doubles and fix uint64
662
+ * (bluefox) added doubles and fix uint64
629
663
 
630
664
  ### 0.3.3 (2015-10-27)
631
- * (bluefox) fix holding registers
665
+ * (bluefox) fixed holding registers
632
666
 
633
667
  ### 0.3.2 (2015-10-27)
634
- * (bluefox) fix import from text file
668
+ * (bluefox) fixed import from text file
635
669
 
636
670
  ### 0.3.1 (2015-10-26)
637
- * (bluefox) fix error with length of read block (master)
671
+ * (bluefox) fixed the error with the length of read block (master)
638
672
  * (bluefox) support of read blocks and maximal length of read request (master)
639
673
  * (bluefox) can define fields by import
640
674
 
@@ -647,7 +681,7 @@ There are some programs in folder `test` to test the TCP communication:
647
681
  * (bluefox) add different types for inputRegisters and for holding registers ONLY FOR MASTER
648
682
 
649
683
  ### 0.2.5 (2015-10-20)
650
- * (bluefox) fix names of objects if aliases used
684
+ * (bluefox) fix names of objects if aliases are used
651
685
 
652
686
  ### 0.2.4 (2015-10-19)
653
687
  * (bluefox) fix error add new values