iobroker.al-ko 0.3.2 → 0.3.4
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 -21
- package/admin/i18n/de/translations.json +1 -3
- package/admin/i18n/en/translations.json +1 -3
- package/admin/i18n/es/translations.json +1 -3
- package/admin/i18n/fr/translations.json +1 -3
- package/admin/i18n/it/translations.json +1 -3
- package/admin/i18n/nl/translations.json +1 -3
- package/admin/i18n/pl/translations.json +1 -3
- package/admin/i18n/pt/translations.json +1 -3
- package/admin/i18n/ru/translations.json +1 -3
- package/admin/i18n/uk/translations.json +1 -3
- package/admin/i18n/zh-cn/translations.json +1 -3
- package/admin/jsonConfig.json +26 -6
- package/docs/de/README.md +13 -7
- package/docs/en/README.md +3 -12
- package/io-package.json +9 -13
- package/main.js +30 -11
- package/package.json +4 -4
package/README.md
CHANGED
|
@@ -53,28 +53,10 @@ Do **not** contact AL-KO customer service regarding this project.
|
|
|
53
53
|
|
|
54
54
|
## Changelog
|
|
55
55
|
|
|
56
|
-
### 0.3.
|
|
56
|
+
### 0.3.4 (2026-03-20)
|
|
57
57
|
|
|
58
|
-
-
|
|
59
|
-
-
|
|
60
|
-
- Improved API error logging for push requests
|
|
61
|
-
- Added WebSocket close code and reason logging
|
|
62
|
-
|
|
63
|
-
### 0.3.1 (2026-03-09)
|
|
64
|
-
|
|
65
|
-
- Documentation improvements
|
|
66
|
-
- Corrected LICENSE information
|
|
67
|
-
- Updated development dependencies
|
|
68
|
-
- Minor CI / workflow cleanup
|
|
69
|
-
- No functional changes
|
|
70
|
-
|
|
71
|
-
### 0.3.0 (2026-03-09)
|
|
72
|
-
|
|
73
|
-
- Major maintenance release
|
|
74
|
-
- Updated ESLint 9, Prettier 3 and TypeScript tooling
|
|
75
|
-
- Updated development dependencies
|
|
76
|
-
- Improved CI pipeline and adapter structure
|
|
77
|
-
- No functional changes
|
|
58
|
+
- Fix responsive layout in jsonConfig (xs/sm/md/lg/xl)
|
|
59
|
+
- Remove example i18n entries (option1/option2)
|
|
78
60
|
|
|
79
61
|
➡ Full changelog here:
|
|
80
62
|
[CHANGELOG.md](./CHANGELOG.md)
|
package/admin/jsonConfig.json
CHANGED
|
@@ -18,22 +18,38 @@
|
|
|
18
18
|
"type": "text",
|
|
19
19
|
"label": { "en": "Username", "de": "Benutzername" },
|
|
20
20
|
"placeholder": "Enter your AL-KO account username",
|
|
21
|
-
"
|
|
21
|
+
"xs": 12,
|
|
22
|
+
"sm": 6,
|
|
23
|
+
"md": 6,
|
|
24
|
+
"lg": 4,
|
|
25
|
+
"xl": 4
|
|
22
26
|
},
|
|
23
27
|
"password": {
|
|
24
28
|
"type": "password",
|
|
25
29
|
"label": { "en": "Password", "de": "Passwort" },
|
|
26
|
-
"
|
|
30
|
+
"xs": 12,
|
|
31
|
+
"sm": 6,
|
|
32
|
+
"md": 6,
|
|
33
|
+
"lg": 4,
|
|
34
|
+
"xl": 4
|
|
27
35
|
},
|
|
28
36
|
"clientId": {
|
|
29
37
|
"type": "text",
|
|
30
38
|
"label": { "en": "Client ID", "de": "Client-ID" },
|
|
31
|
-
"
|
|
39
|
+
"xs": 12,
|
|
40
|
+
"sm": 6,
|
|
41
|
+
"md": 6,
|
|
42
|
+
"lg": 4,
|
|
43
|
+
"xl": 4
|
|
32
44
|
},
|
|
33
45
|
"clientSecret": {
|
|
34
46
|
"type": "password",
|
|
35
47
|
"label": { "en": "Client Secret", "de": "Client-Secret" },
|
|
36
|
-
"
|
|
48
|
+
"xs": 12,
|
|
49
|
+
"sm": 6,
|
|
50
|
+
"md": 6,
|
|
51
|
+
"lg": 4,
|
|
52
|
+
"xl": 4
|
|
37
53
|
},
|
|
38
54
|
"wsDebug": {
|
|
39
55
|
"type": "checkbox",
|
|
@@ -42,7 +58,11 @@
|
|
|
42
58
|
"de": "WebSocket-Nachrichten protokollieren"
|
|
43
59
|
},
|
|
44
60
|
"default": false,
|
|
45
|
-
"
|
|
61
|
+
"xs": 12,
|
|
62
|
+
"sm": 6,
|
|
63
|
+
"md": 6,
|
|
64
|
+
"lg": 4,
|
|
65
|
+
"xl": 4
|
|
46
66
|
}
|
|
47
67
|
}
|
|
48
|
-
}
|
|
68
|
+
}
|
package/docs/de/README.md
CHANGED
|
@@ -48,6 +48,19 @@ AL-KO bietet **keinen offiziellen Support** hierfür.
|
|
|
48
48
|
|
|
49
49
|
## Änderungen (Auszug)
|
|
50
50
|
|
|
51
|
+
### 0.3.4 (2026-03-20)
|
|
52
|
+
|
|
53
|
+
- Responsives Layout in der jsonConfig korrigiert (xs/sm/md/lg/xl)
|
|
54
|
+
- Beispielhafte i18n-Einträge (option1/option2) entfernt
|
|
55
|
+
|
|
56
|
+
### 0.3.3 (2026-03-13)
|
|
57
|
+
|
|
58
|
+
- WebSocket-Verarbeitung verbessert
|
|
59
|
+
- Verarbeitung der AL-KO `reportedState` WebSocket-Nachrichten korrigiert
|
|
60
|
+
- Stabileres Wiederverbinden der WebSocket-Verbindung
|
|
61
|
+
- GitHub-Workflows aktualisiert (Dependabot / Automerge)
|
|
62
|
+
- Entwicklungsabhängigkeiten aktualisiert
|
|
63
|
+
|
|
51
64
|
### 0.3.2 (2026-03-12)
|
|
52
65
|
|
|
53
66
|
- WebSocket-Reconnect nach Token-Aktualisierung verbessert
|
|
@@ -55,13 +68,6 @@ AL-KO bietet **keinen offiziellen Support** hierfür.
|
|
|
55
68
|
- API-Fehlerlogging für Push-Requests verbessert
|
|
56
69
|
- Logging für WebSocket-Close-Code und Reason ergänzt
|
|
57
70
|
|
|
58
|
-
### 0.3.1 (2026-03-09)
|
|
59
|
-
|
|
60
|
-
- Verbesserte Dokumentation
|
|
61
|
-
- Lizenzangaben korrigiert
|
|
62
|
-
- Entwicklungsabhängigkeiten aktualisiert
|
|
63
|
-
- Keine funktionalen Änderungen
|
|
64
|
-
|
|
65
71
|
Alle Änderungen siehe vollständigen Changelog:
|
|
66
72
|
➡ [CHANGELOG.md](../../CHANGELOG.md)
|
|
67
73
|
|
package/docs/en/README.md
CHANGED
|
@@ -48,19 +48,10 @@ It is a **community-developed project**.
|
|
|
48
48
|
|
|
49
49
|
## Changes (Summary)
|
|
50
50
|
|
|
51
|
-
### 0.3.
|
|
51
|
+
### 0.3.4 (2026-03-20)
|
|
52
52
|
|
|
53
|
-
-
|
|
54
|
-
-
|
|
55
|
-
- Improved API error logging for push requests
|
|
56
|
-
- Added WebSocket close code and reason logging
|
|
57
|
-
|
|
58
|
-
### 0.3.1 (2026-03-09)
|
|
59
|
-
|
|
60
|
-
- Documentation improvements
|
|
61
|
-
- Corrected LICENSE information
|
|
62
|
-
- Updated development dependencies
|
|
63
|
-
- No functional changes
|
|
53
|
+
- Fix responsive layout in jsonConfig (xs/sm/md/lg/xl)
|
|
54
|
+
- Remove example i18n entries (option1/option2)
|
|
64
55
|
|
|
65
56
|
See full changelog here:
|
|
66
57
|
➡ [CHANGELOG.md](../../CHANGELOG.md)
|
package/io-package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"common": {
|
|
3
3
|
"name": "al-ko",
|
|
4
|
-
"version": "0.3.
|
|
4
|
+
"version": "0.3.4",
|
|
5
5
|
"tier": 3,
|
|
6
6
|
"titleLang": {
|
|
7
7
|
"en": "AL-KO",
|
|
@@ -40,6 +40,14 @@
|
|
|
40
40
|
"de": "docs/de/README.md"
|
|
41
41
|
},
|
|
42
42
|
"news": {
|
|
43
|
+
"0.3.4": {
|
|
44
|
+
"en": "Fix jsonConfig responsive layout and remove example i18n entries",
|
|
45
|
+
"de": "jsonConfig responsive Layout korrigiert und Beispiel-i18n-Einträge entfernt"
|
|
46
|
+
},
|
|
47
|
+
"0.3.3": {
|
|
48
|
+
"en": "Improved WebSocket handling and message processing, updated repository workflows, and updated development dependencies.",
|
|
49
|
+
"de": "WebSocket-Handling und Nachrichtenverarbeitung verbessert, Repository-Workflows aktualisiert und Entwicklungsabhängigkeiten aktualisiert."
|
|
50
|
+
},
|
|
43
51
|
"0.3.2": {
|
|
44
52
|
"en": "Improved WebSocket reconnect handling, prevented reconnect loops on intentional closes, and improved API error logging for push requests.",
|
|
45
53
|
"de": "WebSocket-Reconnect-Verhalten verbessert, Reconnect-Schleifen bei absichtlich geschlossenen Verbindungen verhindert und API-Fehlerlogging für Push-Requests verbessert."
|
|
@@ -51,18 +59,6 @@
|
|
|
51
59
|
"0.3.0": {
|
|
52
60
|
"en": "Major maintenance release. Updated ESLint 9, Prettier 3, TypeScript tooling and development dependencies. Improved adapter structure and CI pipeline. No functional changes.",
|
|
53
61
|
"de": "Größeres Wartungsrelease. Aktualisierung von ESLint 9, Prettier 3, TypeScript-Tooling und Entwicklungsabhängigkeiten. Verbesserte Adapterstruktur und CI-Pipeline. Keine funktionalen Änderungen."
|
|
54
|
-
},
|
|
55
|
-
"0.2.15": {
|
|
56
|
-
"en": "Admin config cleanup for adapter-check: removed $schema, corrected structure, added missing size attributes.",
|
|
57
|
-
"de": "Admin-Konfiguration für adapter-check bereinigt: $schema entfernt, Struktur korrigiert, fehlende size-Attribute ergänzt."
|
|
58
|
-
},
|
|
59
|
-
"0.2.14": {
|
|
60
|
-
"en": "Updated development tooling: release-script v5, plugins v4, ESLint 9, TypeScript 5.9, Prettier 3.",
|
|
61
|
-
"de": "Entwicklungswerkzeuge aktualisiert: release-script v5, Plugins v4, ESLint 9, TypeScript 5.9, Prettier 3."
|
|
62
|
-
},
|
|
63
|
-
"0.2.13": {
|
|
64
|
-
"en": "Fixed JSON syntax error in io-package.json. No functional changes.",
|
|
65
|
-
"de": "JSON-Syntaxfehler in io-package.json behoben. Keine funktionalen Änderungen."
|
|
66
62
|
}
|
|
67
63
|
},
|
|
68
64
|
"keywords": ["al-ko", "Robolinho", "mower", "garden", "smart-garden"],
|
package/main.js
CHANGED
|
@@ -413,22 +413,41 @@ class AlKoAdapter extends utils.Adapter {
|
|
|
413
413
|
if (this.config.wsDebug) {
|
|
414
414
|
this.log.debug(`WebSocket message (${deviceId}): ${msg}`);
|
|
415
415
|
}
|
|
416
|
+
|
|
416
417
|
try {
|
|
417
418
|
const data = JSON.parse(msg.toString());
|
|
418
|
-
if (data && data.state) {
|
|
419
|
-
const newState = data.state.reported || data.state;
|
|
420
419
|
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
420
|
+
let newState = null;
|
|
421
|
+
|
|
422
|
+
if (data?.reportedState?.state?.reported) {
|
|
423
|
+
newState = data.reportedState.state.reported;
|
|
424
|
+
} else if (
|
|
425
|
+
data?.reportedState &&
|
|
426
|
+
typeof data.reportedState === "object" &&
|
|
427
|
+
!data.reportedState.state &&
|
|
428
|
+
!data.reportedState.previous &&
|
|
429
|
+
!data.reportedState.current &&
|
|
430
|
+
!data.reportedState.metadata
|
|
431
|
+
) {
|
|
432
|
+
newState = data.reportedState;
|
|
433
|
+
} else if (data?.state?.reported) {
|
|
434
|
+
newState = data.state.reported;
|
|
435
|
+
}
|
|
425
436
|
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
this.deviceStates[deviceId],
|
|
429
|
-
"",
|
|
430
|
-
);
|
|
437
|
+
if (!newState || typeof newState !== "object") {
|
|
438
|
+
return;
|
|
431
439
|
}
|
|
440
|
+
|
|
441
|
+
this.deviceStates[deviceId] = this.deepMerge(
|
|
442
|
+
this.deviceStates[deviceId] || {},
|
|
443
|
+
newState,
|
|
444
|
+
);
|
|
445
|
+
|
|
446
|
+
await this.createStatesRecursive(
|
|
447
|
+
`${this.namespace}.${deviceId}.state`,
|
|
448
|
+
this.deviceStates[deviceId],
|
|
449
|
+
"",
|
|
450
|
+
);
|
|
432
451
|
} catch (e) {
|
|
433
452
|
this.log.error(
|
|
434
453
|
`Error processing WebSocket message for device ${deviceId}: ${e.message}`,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "iobroker.al-ko",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.4",
|
|
4
4
|
"description": "Adapter for communication with AL-KO smart garden devices (Robolinho, mowing windows, operationState, etc.)",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Hubert Zechner",
|
|
@@ -64,9 +64,9 @@
|
|
|
64
64
|
"@iobroker/eslint-config": "^2.2.0",
|
|
65
65
|
"@iobroker/testing": "^5.2.2",
|
|
66
66
|
"@tsconfig/node20": "^20.1.8",
|
|
67
|
-
"@types/node": "^25.
|
|
68
|
-
"@typescript-eslint/eslint-plugin": "^8.
|
|
69
|
-
"@typescript-eslint/parser": "^8.
|
|
67
|
+
"@types/node": "^25.5.0",
|
|
68
|
+
"@typescript-eslint/eslint-plugin": "^8.57.1",
|
|
69
|
+
"@typescript-eslint/parser": "^8.57.0",
|
|
70
70
|
"prettier": "^3.8.1",
|
|
71
71
|
"proxyquire": "^2.1.3"
|
|
72
72
|
},
|