@iobroker/modbus 7.0.22 → 7.0.23
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 +3 -0
- package/build/convert.js +23 -20
- package/build/convert.js.map +1 -1
- package/encrypt.mjs +0 -2
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -135,6 +135,9 @@ There are some programs in folder `test` to test the TCP communication:
|
|
|
135
135
|
-->
|
|
136
136
|
|
|
137
137
|
## Changelog
|
|
138
|
+
### 7.0.23 (2025-12-02)
|
|
139
|
+
- (@GermanBluefox) Corrected parsing of TSV files
|
|
140
|
+
|
|
138
141
|
### 7.0.22 (2025-11-23)
|
|
139
142
|
|
|
140
143
|
- (@GermanBluefox) Updated packages
|
package/build/convert.js
CHANGED
|
@@ -62,6 +62,12 @@ const inputRegs = [
|
|
|
62
62
|
{ name: 'cw', type: 'checkbox' },
|
|
63
63
|
{ name: 'isScale', type: 'checkbox' },
|
|
64
64
|
];
|
|
65
|
+
const regTypes = {
|
|
66
|
+
coils,
|
|
67
|
+
disInputs,
|
|
68
|
+
holdingRegs,
|
|
69
|
+
inputRegs,
|
|
70
|
+
};
|
|
65
71
|
function decrypt(cipherTextB64, password) {
|
|
66
72
|
const data = Buffer.from(cipherTextB64, 'base64');
|
|
67
73
|
if (typeof password === 'string' && password.length !== 32) {
|
|
@@ -95,38 +101,35 @@ function tsv2registers(type, fileNameOrText, password) {
|
|
|
95
101
|
throw new Error(`File name ${fileNameOrText} not found`);
|
|
96
102
|
}
|
|
97
103
|
}
|
|
98
|
-
|
|
99
|
-
if (type === 'coils') {
|
|
100
|
-
propsFields = coils;
|
|
101
|
-
}
|
|
102
|
-
else if (type === 'inputRegs') {
|
|
103
|
-
propsFields = inputRegs;
|
|
104
|
-
}
|
|
105
|
-
else if (type === 'holdingRegs') {
|
|
106
|
-
propsFields = holdingRegs;
|
|
107
|
-
}
|
|
108
|
-
else if (type === 'disInputs') {
|
|
109
|
-
propsFields = disInputs;
|
|
110
|
-
}
|
|
104
|
+
const propsFields = regTypes[type];
|
|
111
105
|
if (!propsFields) {
|
|
112
106
|
throw new Error('Unknown register type');
|
|
113
107
|
}
|
|
114
108
|
const data = (0, tsv_json_1.tsv2json)(fileNameOrText.endsWith('\n') ? fileNameOrText : `${fileNameOrText}\n`);
|
|
115
109
|
const fields = data.shift();
|
|
116
110
|
if (fields) {
|
|
117
|
-
for (const
|
|
118
|
-
if (propsFields
|
|
119
|
-
throw new Error(`Unexpected field ${
|
|
111
|
+
for (const field of fields) {
|
|
112
|
+
if (!propsFields.find(it => it.name === field)) {
|
|
113
|
+
throw new Error(`Unexpected field ${field}`);
|
|
120
114
|
}
|
|
121
115
|
}
|
|
122
116
|
}
|
|
117
|
+
else {
|
|
118
|
+
throw new Error('No fields found');
|
|
119
|
+
}
|
|
123
120
|
return data.map(itemValues => {
|
|
124
121
|
const item = {};
|
|
125
|
-
for (
|
|
126
|
-
|
|
127
|
-
|
|
122
|
+
for (let f = 0; f < itemValues.length; f++) {
|
|
123
|
+
const field = fields[f];
|
|
124
|
+
const prop = propsFields.find(it => it.name === field);
|
|
125
|
+
if (!prop) {
|
|
126
|
+
// cannot happen due to check before
|
|
127
|
+
continue;
|
|
128
|
+
}
|
|
129
|
+
if (prop.type === 'checkbox') {
|
|
130
|
+
itemValues[f] = itemValues[f] === 'true';
|
|
128
131
|
}
|
|
129
|
-
item[
|
|
132
|
+
item[prop.name] = itemValues[f];
|
|
130
133
|
}
|
|
131
134
|
return item;
|
|
132
135
|
});
|
package/build/convert.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"convert.js","sourceRoot":"","sources":["../src/convert.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"convert.js","sourceRoot":"","sources":["../src/convert.ts"],"names":[],"mappings":"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"}
|
package/encrypt.mjs
CHANGED