iobroker.al-ko 0.2.15 → 0.3.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/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2025 Hubert <hubert.zechner@posteo.at>
3
+ Copyright (c) 2026 Hubert Zechner <hubertiob@posteo.at>
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
@@ -1,4 +1,5 @@
1
1
  ![Logo](admin/al-ko.png)
2
+
2
3
  # ioBroker.al-ko
3
4
 
4
5
  [![NPM version](https://img.shields.io/npm/v/iobroker.al-ko.svg)](https://www.npmjs.com/package/iobroker.al-ko)
@@ -6,171 +7,85 @@
6
7
  ![Number of Installations](https://iobroker.live/badges/al-ko-installed.svg)
7
8
  ![Current version in stable repository](https://iobroker.live/badges/al-ko-stable.svg)
8
9
 
9
- [![NPM](https://nodei.co/npm/iobroker.al-ko.png?downloads=true)](https://nodei.co/npm/iobroker.al-ko/)
10
-
11
- **Tests:** ![Test and Release](https://github.com/zechnerhubert/ioBroker.al-ko/workflows/Test%20and%20Release/badge.svg)
10
+ ![NPM](https://nodei.co/npm/iobroker.al-ko.png?downloads=true)
12
11
 
13
- ---
12
+ ## Overview
14
13
 
15
- ## ioBroker.al-ko
14
+ The ioBroker.al-ko adapter integrates **AL-KO Robolinho robotic lawnmowers** and other AL-KO smart garden devices into ioBroker using the official **AL-KO Cloud API**, including real-time updates via WebSocket.
16
15
 
17
- Adapter zur Kommunikation mit **AL-KO Robolinho** und weiteren AL-KO Gartengeräten.
18
-
19
- Adapter for communication with **AL-KO Robolinho** and other AL-KO garden tools.
16
+ This adapter is a **community project** and is **not affiliated with or supported by AL-KO**.
20
17
 
21
18
  ---
22
19
 
23
- ## Funktionsumfang / Features
20
+ ## Features
24
21
 
25
- - Verbindung mit der offiziellen **AL-KO Cloud API**
26
- - Automatisches Anlegen aller relevanten States
27
- - Alle schreibbaren States werden berücksichtigt (Whitelist)
28
- - Änderungen an States werden per API zurück in die Cloud gepusht
29
- - Gerätestatus wird automatisch und in Echtzeit über **WebSocket** aktualisiert
30
- - Authentifizierung via Benutzername / Passwort und API-Client-Daten
22
+ - Connects to the official AL-KO Cloud API
23
+ - Automatically creates all readable states
24
+ - Writable states controlled through a whitelist
25
+ - Sends state changes back to AL-KO (`desired` state API)
26
+ - Real-time updates via WebSocket
27
+ - Supports multiple devices
28
+ - Works with the newest ioBroker admin/jsonConfig format
31
29
 
32
30
  ---
33
31
 
34
- ## Konfiguration
32
+ ## Requirements
33
+
34
+ You need AL-KO API credentials, which can be requested here:
35
35
 
36
- Um den Adapter zu nutzen, benötigen Sie API-Zugangsdaten von AL-KO.
37
- Diese können Sie hier beantragen:
38
- 👉 [AL-KO IoT API Zugang](https://alko-garden.at/iot-api-zugang-anfordern/)
36
+ https://alko-garden.at/iot-api-zugang-anfordern/
39
37
 
40
- Im Admin müssen folgende Daten hinterlegt werden:
41
- - **Username** (AL-KO Konto)
42
- - **Password**
43
- - **Client ID**
44
- - **Client Secret**
38
+ Adapter settings in Admin:
39
+
40
+ - Username (AL-KO account)
41
+ - Password
42
+ - Client ID
43
+ - Client Secret
45
44
 
46
45
  ---
47
46
 
48
- ## DISCLAIMER
47
+ ## Disclaimer
49
48
 
50
- Dieser Adapter steht **in keinem Zusammenhang mit der Firma AL-KO**.
51
- Es handelt sich um ein Community-Projekt, und AL-KO bietet **keinen Support** dafür an.
49
+ This adapter is **not** affiliated with or supported by AL-KO.
50
+ Do **not** contact AL-KO customer service regarding this project.
52
51
 
53
52
  ---
54
53
 
55
54
  ## Changelog
56
55
 
57
- ### 0.2.15 (2025-11-02)
58
-
59
- **Deutsch:**
60
- - Admin-Konfiguration für den Adapter-Check bereinigt:
61
- - `$schema` aus `admin/jsonConfig.json` entfernt
62
- - Tabs/Panel-Struktur korrigiert
63
- - Fehlende `size`-Attribute ergänzt
64
- - `.commitinfo` zu `.gitignore` hinzugefügt
65
- - Keine funktionalen Änderungen
66
-
67
- **English:**
68
- - Admin config cleanup for adapter-check:
69
- - Removed `$schema` from `admin/jsonConfig.json`
70
- - Corrected tabs/panel structure
71
- - Added missing `size` attributes
72
- - Added `.commitinfo` to `.gitignore`
73
- - No functional changes
56
+ ### 0.3.1 (2026-03-09)
74
57
 
75
- ### 0.2.14 (2025-11-01)
76
-
77
- **Deutsch:**
78
- - Entwicklungs-Tooling aktualisiert:
79
- - `@alcalzone/release-script` auf ^5.0.0 (Releases nur vom Default-Branch; Node.js ≥ 18 erforderlich)
80
- - `@alcalzone/release-script-plugin-iobroker` auf ^4.0.0 (ESM, Node.js ≥ 18)
81
- - `@alcalzone/release-script-plugin-license` auf ^4.0.0 (ESM, Node.js ≥ 18)
82
- - ESLint 9, TypeScript auf ^5.9.3, Prettier 3
83
- - Keine funktionalen Änderungen am Adaptercode
84
-
85
- **English:**
86
- - Development tooling updated:
87
- - `@alcalzone/release-script` to ^5.0.0 (releases only from default branch; requires Node.js ≥ 18)
88
- - `@alcalzone/release-script-plugin-iobroker` to ^4.0.0 (ESM, Node.js ≥ 18)
89
- - `@alcalzone/release-script-plugin-license` to ^4.0.0 (ESM, Node.js ≥ 18)
90
- - ESLint 9, TypeScript bumped to ^5.9.3, Prettier 3
91
- - No functional changes to adapter code
92
-
93
- ### 0.2.13 (2025-10-29)
94
-
95
- **Deutsch:**
96
- - JSON-Syntaxfehler in `io-package.json` behoben, der den Adapter-Check blockiert hat (Folgefehler „adminUI“).
97
- - VS-Code-Schemahinweis für `admin/jsonConfig.json` aktualisiert.
98
- - `size`-Attribute in `jsonConfig` erneut geprüft/validiert.
99
- - Keine funktionalen Änderungen.
100
-
101
- **English:**
102
- - Fixed a JSON syntax error in `io-package.json` that blocked adapter-check (follow-up “adminUI” errors).
103
- - Updated VS Code JSON schema hint for `admin/jsonConfig.json`.
104
- - Re-validated `size` attributes in `jsonConfig`.
105
- - No functional changes.
106
-
107
- ### 0.2.12 (2025-10-29)
108
-
109
- **Deutsch:**
110
- - Admin-UI: Offizielle jsonConfig-Schema-URL korrigiert (`.vscode/settings.json`)
111
- - Fehlende responsive `size`-Attribute in `admin/jsonConfig.json` ergänzt
112
- - Mindestanforderungen angehoben: `js-controller >= 6.0.11`, `admin >= 7.6.17`
113
- - Keine funktionalen Änderungen
114
-
115
- **English:**
116
- - Admin UI: Fixed official jsonConfig schema URL (`.vscode/settings.json`)
117
- - Added missing responsive `size` attributes in `admin/jsonConfig.json`
118
- - Raised minimum requirements: `js-controller >= 6.0.11`, `admin >= 7.6.17`
58
+ - Documentation improvements
59
+ - Corrected LICENSE information
60
+ - Updated development dependencies
61
+ - Minor CI / workflow cleanup
119
62
  - No functional changes
120
63
 
121
- ### 0.2.11 (2025-10-28)
64
+ ### 0.3.0 (2026-03-09)
122
65
 
123
- **Deutsch:**
124
- * Kleinere Code-Korrekturen und Optimierungen vorgenommen
125
- * Keine funktionalen Änderungen – Stabilität und Wartbarkeit verbessert
126
-
127
- **English:**
128
- * Minor code corrections and optimizations
129
- * No functional changes – improved stability and maintainability
130
-
131
- ### 0.2.10 (2025-10-28)
132
-
133
- **Deutsch:**
134
- - Adapter-Kategorie angepasst: Typ von 'hardware' auf 'garden' geändert.
135
- - Keine funktionalen Änderungen für Anwender
66
+ - Major maintenance release
67
+ - Updated ESLint 9, Prettier 3 and TypeScript tooling
68
+ - Updated development dependencies
69
+ - Improved CI pipeline and adapter structure
70
+ - No functional changes
136
71
 
137
- **English:**
138
- - Changed adapter type from 'hardware' to 'garden' for proper categorization in ioBroker Admin and repositories.
139
- - No functional changes for end users
72
+ ### 0.2.15 (2025-11-02)
140
73
 
141
- ### 0.2.9 (2025-10-28)
74
+ - Cleaned up admin/jsonConfig structure for adapter-check
75
+ - Added missing `size` attributes
76
+ - Added `.commitinfo` to `.gitignore`
77
+ - No functional changes
142
78
 
143
- **Deutsch:**
144
- - Wartungsupdate: npm-Abhängigkeitskonflikte (`sinon-chai` vs. `chai`) behoben
145
- - ESLint-Konfiguration auf Version 9 mit `@iobroker/eslint-config` v2.2.0 aktualisiert
146
- - CI-Stabilität auf GitHub Actions verbessert
147
- - Keine funktionalen Änderungen für Anwender
79
+ ➡ Full changelog here:
80
+ [CHANGELOG.md](./CHANGELOG.md)
148
81
 
149
- **English:**
150
- - Maintenance update: resolved npm dependency conflicts (`sinon-chai` vs `chai`)
151
- - Updated ESLint setup to v9 + `@iobroker/eslint-config` v2.2.0
152
- - Improved GitHub Actions CI stability
153
- - No functional changes for end users
82
+ ---
154
83
 
155
84
  ## License
85
+
156
86
  MIT License
157
87
 
158
- Copyright (c) 2025 Hubert <hubertiob@posteo.at>
159
-
160
- Permission is hereby granted, free of charge, to any person obtaining a copy
161
- of this software and associated documentation files (the "Software"), to deal
162
- in the Software without restriction, including without limitation the rights
163
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
164
- copies of the Software, and to permit persons to whom the Software is
165
- furnished to do so, subject to the following conditions:
166
-
167
- The above copyright notice and this permission notice shall be included in all
168
- copies or substantial portions of the Software.
169
-
170
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
171
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
172
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
173
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
174
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
175
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
176
- SOFTWARE.
88
+ Copyright (c) 2026 Hubert Zechner <hubertiob@posteo.at>
89
+
90
+ This project is released under the **MIT License**.
91
+ See the included **LICENSE** file for full details.
@@ -1,5 +1,5 @@
1
1
  {
2
- "al-ko adapter settings": "Adaptereinstellungen für al-ko",
3
- "option1": "Option1",
4
- "option2": "Option2"
5
- }
2
+ "al-ko adapter settings": "Adaptereinstellungen für al-ko",
3
+ "option1": "Option1",
4
+ "option2": "Option2"
5
+ }
@@ -1,5 +1,5 @@
1
1
  {
2
- "al-ko adapter settings": "Adapter settings for al-ko",
3
- "option1": "option1",
4
- "option2": "option2"
5
- }
2
+ "al-ko adapter settings": "Adapter settings for al-ko",
3
+ "option1": "option1",
4
+ "option2": "option2"
5
+ }
@@ -1,5 +1,5 @@
1
1
  {
2
- "al-ko adapter settings": "Ajustes del adaptador para al-ko",
3
- "option1": "Opción1",
4
- "option2": "opción 2"
5
- }
2
+ "al-ko adapter settings": "Ajustes del adaptador para al-ko",
3
+ "option1": "Opción1",
4
+ "option2": "opción 2"
5
+ }
@@ -1,5 +1,5 @@
1
1
  {
2
- "al-ko adapter settings": "Paramètres d'adaptateur pour al-ko",
3
- "option1": "option1",
4
- "option2": "Option2"
5
- }
2
+ "al-ko adapter settings": "Paramètres d'adaptateur pour al-ko",
3
+ "option1": "option1",
4
+ "option2": "Option2"
5
+ }
@@ -1,5 +1,5 @@
1
1
  {
2
- "al-ko adapter settings": "Impostazioni dell'adattatore per al-ko",
3
- "option1": "opzione1",
4
- "option2": "opzione2"
5
- }
2
+ "al-ko adapter settings": "Impostazioni dell'adattatore per al-ko",
3
+ "option1": "opzione1",
4
+ "option2": "opzione2"
5
+ }
@@ -1,5 +1,5 @@
1
1
  {
2
- "al-ko adapter settings": "Adapterinstellingen voor al-ko",
3
- "option1": "Option1",
4
- "option2": "Optie2"
5
- }
2
+ "al-ko adapter settings": "Adapterinstellingen voor al-ko",
3
+ "option1": "Option1",
4
+ "option2": "Optie2"
5
+ }
@@ -1,5 +1,5 @@
1
1
  {
2
- "al-ko adapter settings": "Ustawienia adaptera dla al-ko",
3
- "option1": "opcja 1",
4
- "option2": "opcja2"
5
- }
2
+ "al-ko adapter settings": "Ustawienia adaptera dla al-ko",
3
+ "option1": "opcja 1",
4
+ "option2": "opcja2"
5
+ }
@@ -1,5 +1,5 @@
1
1
  {
2
- "al-ko adapter settings": "Configurações do adaptador para al-ko",
3
- "option1": "opção1",
4
- "option2": "opção2"
5
- }
2
+ "al-ko adapter settings": "Configurações do adaptador para al-ko",
3
+ "option1": "opção1",
4
+ "option2": "opção2"
5
+ }
@@ -1,5 +1,5 @@
1
1
  {
2
- "al-ko adapter settings": "Настройки адаптера для al-ko",
3
- "option1": "вариант1",
4
- "option2": "вариант2"
5
- }
2
+ "al-ko adapter settings": "Настройки адаптера для al-ko",
3
+ "option1": "вариант1",
4
+ "option2": "вариант2"
5
+ }
@@ -1,5 +1,5 @@
1
1
  {
2
- "al-ko adapter settings": "Налаштування адаптера для al-ko",
3
- "option1": "Варіант1",
4
- "option2": "Варіант2"
5
- }
2
+ "al-ko adapter settings": "Налаштування адаптера для al-ko",
3
+ "option1": "Варіант1",
4
+ "option2": "Варіант2"
5
+ }
@@ -1,5 +1,5 @@
1
1
  {
2
- "al-ko adapter settings": "al-ko的适配器设置",
3
- "option1": "选项1",
4
- "option2": "选项2"
5
- }
2
+ "al-ko adapter settings": "al-ko的适配器设置",
3
+ "option1": "选项1",
4
+ "option2": "选项2"
5
+ }
@@ -0,0 +1,73 @@
1
+ # ioBroker.al-ko – Deutsche Dokumentation
2
+
3
+ ![Logo](../../admin/al-ko-128.png)
4
+
5
+ ## Überblick
6
+
7
+ Der ioBroker.al-ko Adapter integriert **AL-KO Robolinho Rasenroboter** und weitere AL-KO Smart-Garden-Geräte in ioBroker.
8
+ Die Kommunikation erfolgt über die **offizielle AL-KO Cloud API**, inklusive Echtzeit-Updates per WebSocket.
9
+
10
+ ---
11
+
12
+ ## Funktionen
13
+
14
+ - Verbindung zur offiziellen AL-KO Cloud API
15
+ - Automatische Erstellung aller lesbaren Zustände
16
+ - Schreibbare Zustände über Whitelist steuerbar
17
+ - Änderungen werden per PATCH an AL-KO (`desired` State) übermittelt
18
+ - Echtzeitupdates per WebSocket
19
+ - Unterstützung mehrerer Geräte
20
+ - Kompatibel mit modernem ioBroker Admin / jsonConfig
21
+
22
+ ---
23
+
24
+ ## Voraussetzungen
25
+
26
+ Für die Nutzung werden AL-KO API-Zugangsdaten benötigt:
27
+
28
+ Anfordern unter:
29
+ ➡ https://alko-garden.at/iot-api-zugang-anfordern/
30
+
31
+ Erforderlich:
32
+
33
+ - Benutzername
34
+ - Passwort
35
+ - Client ID
36
+ - Client Secret
37
+
38
+ Eintragen unter: **Instanzen → al-ko → Konfiguration**
39
+
40
+ ---
41
+
42
+ ## Haftungsausschluss
43
+
44
+ Dieser Adapter ist ein **Community-Projekt**.
45
+ AL-KO bietet **keinen offiziellen Support** hierfür.
46
+
47
+ ---
48
+
49
+ ## Änderungen (Auszug)
50
+
51
+ ### 0.3.1 (2026-03-09)
52
+
53
+ - Verbesserte Dokumentation
54
+ - Lizenzangaben korrigiert
55
+ - Entwicklungsabhängigkeiten aktualisiert
56
+ - Keine funktionalen Änderungen
57
+
58
+ Alle Änderungen siehe vollständigen Changelog:
59
+ ➡ [CHANGELOG.md](../../CHANGELOG.md)
60
+
61
+ Wesentliche Neuerungen:
62
+
63
+ - Verbesserte Objektstruktur
64
+ - Überarbeitetes Logging
65
+ - Verbesserte ID-Sanitärisierung
66
+ - Globale Timeouts und adapter-sichere Timer
67
+ - Dokumentation überarbeitet
68
+
69
+ ---
70
+
71
+ ## Lizenz
72
+
73
+ Veröffentlicht unter der **MIT-Lizenz**.
@@ -0,0 +1,71 @@
1
+ # ioBroker.al-ko – English Documentation
2
+
3
+ ![Logo](../../admin/al-ko-128.png)
4
+
5
+ ## Overview
6
+
7
+ The ioBroker.al-ko adapter integrates **AL-KO Robolinho robotic mowers** and other AL-KO smart garden devices into ioBroker.
8
+ It communicates with the official **AL-KO Cloud API**, including real-time updates via WebSockets.
9
+
10
+ ---
11
+
12
+ ## Features
13
+
14
+ - Connection to the official AL-KO Cloud API
15
+ - Automatic creation of all readable states
16
+ - Writable states controlled through a whitelist
17
+ - Changes to writable states are propagated back to AL-KO via the `desired` API
18
+ - Real-time updates through WebSocket
19
+ - Supports multiple devices
20
+ - Fully compatible with modern ioBroker admin/jsonConfig
21
+
22
+ ---
23
+
24
+ ## Requirements
25
+
26
+ To use this adapter, AL-KO API credentials are required.
27
+
28
+ Request access at:
29
+ ➡ https://alko-garden.at/iot-api-zugang-anfordern/
30
+
31
+ Required fields:
32
+
33
+ - Username
34
+ - Password
35
+ - Client ID
36
+ - Client Secret
37
+
38
+ Enter these values in Admin → Instance Settings.
39
+
40
+ ---
41
+
42
+ ## Disclaimer
43
+
44
+ This adapter is **not** affiliated with or supported by AL-KO.
45
+ It is a **community-developed project**.
46
+
47
+ ---
48
+
49
+ ## Changes (Summary)
50
+
51
+ ### 0.3.1 (2026-03-09)
52
+
53
+ - Documentation improvements
54
+ - Corrected LICENSE information
55
+ - Updated development dependencies
56
+ - No functional changes
57
+
58
+ See full changelog here:
59
+ ➡ [CHANGELOG.md](../../CHANGELOG.md)
60
+
61
+ Key updates:
62
+
63
+ - Internal cleanup and consistency improvements
64
+ - Improved logging, ID sanitizing and timers
65
+ - Documentation restructured
66
+
67
+ ---
68
+
69
+ ## License
70
+
71
+ Released under the **MIT License**.