iobroker.clage-dsx 0.0.1 → 0.0.6

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,21 +1,21 @@
1
- MIT License
2
-
3
- Copyright (c) 2021 TheBam <elektrobam@gmx.de>
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
1
+ MIT License
2
+
3
+ Copyright (c) 2026 TheBam <elektrobam@gmx.de>
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md CHANGED
@@ -1,65 +1,104 @@
1
- ![Logo](admin/clage-dsx.png)
2
- # ioBroker.clage-dsx
3
-
4
- [![NPM version](https://img.shields.io/npm/v/iobroker.clage-dsx.svg)](https://www.npmjs.com/package/iobroker.clage-dsx)
5
- [![Downloads](https://img.shields.io/npm/dm/iobroker.clage-dsx.svg)](https://www.npmjs.com/package/iobroker.clage-dsx)
6
- ![Number of Installations (latest)](https://iobroker.live/badges/clage-dsx-installed.svg)
7
- ![Number of Installations (stable)](https://iobroker.live/badges/clage-dsx-stable.svg)
8
- [![Dependency Status](https://img.shields.io/david/TheBam1990/iobroker.clage-dsx.svg)](https://david-dm.org/TheBam1990/iobroker.clage-dsx)
9
-
10
- [![NPM](https://nodei.co/npm/iobroker.clage-dsx.png?downloads=true)](https://nodei.co/npm/iobroker.clage-dsx/)
11
-
12
- **Tests:** ![Test and Release](https://github.com/TheBam1990/ioBroker.clage-dsx/workflows/Test%20and%20Release/badge.svg)
13
-
14
- ## clage-dsx adapter for ioBroker
15
-
16
- connection to clage dsx wather Heater
17
-
18
- ## Developer manual
19
- This section is intended for the developer. It can be deleted later
20
-
21
- ### Getting started
22
-
23
- For German https://github.com/TheBam1990/ioBroker.clage-dsx/blob/master/README_DE.md
24
-
25
- API Doku: https://github.com/TheBam1990/ioBroker.clage-dsx/blob/master/CLAGE%20HomeServer%20API%20v1.3.4.pdf
26
-
27
- Connekting infos JS: https://github.com/TheBam1990/ioBroker.clage-dsx/blob/master/connektion.md
28
-
29
- Simply enter the IP address of your DSX server and enter your username and password.
30
- Attention, all fields must be filled in otherwise it won't work.
31
-
32
- The Setpoint value is the temperature with a value without commer (Temp / 10)
33
-
34
- The FlowMax value, which ensures the flow in the device, can also be changed.
35
- As well as a name can also be entered
36
-
37
-
38
-
39
- ## Changelog
40
-
41
- ### 0.0.1
42
- * (TheBam) initial release
43
-
44
- ## License
45
- MIT License
46
-
47
- Copyright (c) 2021 TheBam <elektrobam@gmx.de>
48
-
49
- Permission is hereby granted, free of charge, to any person obtaining a copy
50
- of this software and associated documentation files (the "Software"), to deal
51
- in the Software without restriction, including without limitation the rights
52
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
53
- copies of the Software, and to permit persons to whom the Software is
54
- furnished to do so, subject to the following conditions:
55
-
56
- The above copyright notice and this permission notice shall be included in all
57
- copies or substantial portions of the Software.
58
-
59
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
60
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
61
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
62
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
63
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
64
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
65
- SOFTWARE.
1
+ # ioBroker.clage-dsx
2
+
3
+ ![CLAGE DSX logo](admin/clage-dsx.png)
4
+
5
+ [![NPM version](https://img.shields.io/npm/v/iobroker.clage-dsx.svg)](https://www.npmjs.com/package/iobroker.clage-dsx)
6
+ [![Downloads](https://img.shields.io/npm/dm/iobroker.clage-dsx.svg)](https://www.npmjs.com/package/iobroker.clage-dsx)
7
+ [![Test and Release](https://github.com/TheBam1990/ioBroker.clage-dsx/actions/workflows/test-and-release.yml/badge.svg)](https://github.com/TheBam1990/ioBroker.clage-dsx/actions/workflows/test-and-release.yml)
8
+
9
+ [Deutsche Dokumentation](README_DE.md)
10
+
11
+ ## Description
12
+
13
+ This adapter connects ioBroker to a local [CLAGE](https://www.clage.com/) Home Server and its registered instantaneous water heaters. Communication uses the HTTPS API in the local network; no cloud service is required.
14
+
15
+ The implementation is based on the included [CLAGE Home Server API specification v1.3.4](CLAGE%20HomeServer%20API%20v1.3.4.pdf).
16
+
17
+ ## Requirements
18
+
19
+ - ioBroker with Node.js 22 or newer
20
+ - CLAGE Home Server reachable from the ioBroker host
21
+ - Home Server API user name and password
22
+ - HTTPS access to the Home Server
23
+
24
+ ## Configuration
25
+
26
+ Open the instance settings and enter:
27
+
28
+ 1. **CLAGE Home Server IP address**, for example `192.168.2.35` (without `https://`)
29
+ 2. **API user name**
30
+ 3. **API password**
31
+
32
+ All three fields are required. The historical native configuration key for the user name is called `port`; this is retained for compatibility with existing installations.
33
+
34
+ The Home Server normally uses a self-signed TLS certificate. The adapter therefore accepts the local certificate when connecting directly to the configured device.
35
+
36
+ ## Current functionality
37
+
38
+ For every registered CLAGE device, the adapter creates states for:
39
+
40
+ - identity, connection state, RSSI, LQI, API access mask and last radio activity
41
+ - setpoint, temperature limit, inlet/outlet temperatures and all four temperature presets
42
+ - flow, flow limit, valve position, raw and calculated power, heating state and errors
43
+ - firmware and serial numbers, power-unit information and operating-time counters
44
+ - total consumption plus the last draw-off cycle and consumption history as JSON
45
+ - current error plus error history as JSON
46
+ - Home Server version, identity, radio channel, address and advertised services
47
+ - all timers, both globally and filtered per device
48
+
49
+ Writable states:
50
+
51
+ - `Setpoint`: API value in tenths of a degree Celsius, e.g. `450` = 45.0 °C
52
+ - `Themperatur`: temperature in °C; retained with its historical spelling for compatibility
53
+ - `flowMax`: flow limit in tenths of a litre per minute; special API values include `253` (ECO) and `254` (AUTO)
54
+ - `Name`: device name
55
+ - `setup.flowMax`, `setup.loadShedding`, `setup.scaldProtection` and `setup.sound`
56
+ - `timers.createJson`, `timers.updateJson` and `timers.deleteId` for controlled timer management
57
+
58
+ `info.connection` indicates whether the Home Server is reachable and accepts the configured credentials.
59
+
60
+ The adapter checks the API access mask before writes. Setpoint changes are debounced by two seconds, active devices are refreshed more frequently, and the device list uses sequential HTTP long polling by default. Intervals, long polling and the consumption-history period (30 days by default) can be adjusted in the adapter configuration.
61
+
62
+ ## Timer JSON
63
+
64
+ Create a timer by writing JSON such as the following to `timers.createJson`:
65
+
66
+ ```json
67
+ {"type":0,"weekdays":127,"start":"06:00","stop":"07:00","deviceId":"A001FF0034","setpoint":450}
68
+ ```
69
+
70
+ For updates, write the same structure including a numeric `id` to `timers.updateJson`. To delete one timer, write its numeric ID to `timers.deleteId`. Destructive bulk operations, device unregistering and radio-address changes are intentionally not exposed.
71
+
72
+ ## Troubleshooting
73
+
74
+ - Verify that the IP address contains no protocol prefix or path.
75
+ - Verify the API credentials in the CLAGE Home Server configuration.
76
+ - Ensure that TCP port 443 is reachable from the ioBroker host.
77
+ - HTTP status `401` means invalid credentials; `403` means insufficient API permissions.
78
+ - A device can be registered but temporarily unavailable. The API reports this as `404`, `410` or a negative device error code.
79
+
80
+ ## Changelog
81
+
82
+ ### 0.0.6
83
+
84
+ - Added live temperatures, presets, valve position, calculated power and radio diagnostics
85
+ - Added setup, consumption and error history data
86
+ - Added permission-checked setup writes and timer management
87
+ - Added Home Server information, adaptive polling and sequential HTTP long polling
88
+ - Added configurable polling intervals
89
+
90
+ ### 0.0.2
91
+
92
+ - Updated runtime dependencies for current ioBroker and Node.js versions
93
+ - Migrated the administration page to responsive JSON Config
94
+ - Added current ioBroker package metadata and CI tests for Node.js 22 and 24
95
+
96
+ ### 0.0.1
97
+
98
+ - Initial release
99
+
100
+ ## License
101
+
102
+ Copyright (c) 2026 TheBam <elektrobam@gmx.de>
103
+
104
+ MIT License. See [LICENSE](LICENSE).
package/README_DE.md CHANGED
@@ -1,57 +1,102 @@
1
- ![Logo](admin/clage-dsx.png)
2
- # ioBroker.clage-dsx
3
-
4
- [![NPM version](https://img.shields.io/npm/v/iobroker.clage-dsx.svg)](https://www.npmjs.com/package/iobroker.clage-dsx)
5
- [![Downloads](https://img.shields.io/npm/dm/iobroker.clage-dsx.svg)](https://www.npmjs.com/package/iobroker.clage-dsx)
6
- ![Number of Installations (latest)](https://iobroker.live/badges/clage-dsx-installed.svg)
7
- ![Number of Installations (stable)](https://iobroker.live/badges/clage-dsx-stable.svg)
8
- [![Dependency Status](https://img.shields.io/david/TheBam1990/iobroker.clage-dsx.svg)](https://david-dm.org/TheBam1990/iobroker.clage-dsx)
9
-
10
- [![NPM](https://nodei.co/npm/iobroker.clage-dsx.png?downloads=true)](https://nodei.co/npm/iobroker.clage-dsx/)
11
-
12
- **Tests:** ![Test and Release](https://github.com/TheBam1990/ioBroker.clage-dsx/workflows/Test%20and%20Release/badge.svg)
13
-
14
- ## clage-dsx adapter for ioBroker
15
-
16
- Anbindung für Clage Durchlauferhitzer DSX Server
17
-
18
-
19
- ### Getting started
20
-
21
- Einfach die IP adresse ihres DSX Server eintragen sowie Benutzername und Passwort eingeben.
22
- Achtung es müssen alle felder ausgefüllt sein sonst geht es nicht.
23
-
24
- Der Wert Setpoint ist die Temperatur mit einem Wert ohne kommer (Temp /10)
25
-
26
- Ebenso kann der Wert FlowMax verändert werden welcher für den Durchfluss im Gerät sorgt.
27
- Sowie ein Name kann auch eingegeben werden
28
-
29
-
30
-
31
- ## Changelog
32
-
33
- ### 0.0.1
34
- * (TheBam) initial release
35
-
36
- ## License
37
- MIT License
38
-
39
- Copyright (c) 2021 TheBam <elektrobam@gmx.de>
40
-
41
- Permission is hereby granted, free of charge, to any person obtaining a copy
42
- of this software and associated documentation files (the "Software"), to deal
43
- in the Software without restriction, including without limitation the rights
44
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
45
- copies of the Software, and to permit persons to whom the Software is
46
- furnished to do so, subject to the following conditions:
47
-
48
- The above copyright notice and this permission notice shall be included in all
49
- copies or substantial portions of the Software.
50
-
51
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
52
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
53
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
54
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
55
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
56
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
57
- SOFTWARE.
1
+ # ioBroker.clage-dsx
2
+
3
+ ![CLAGE-DSX-Logo](admin/clage-dsx.png)
4
+
5
+ [![NPM-Version](https://img.shields.io/npm/v/iobroker.clage-dsx.svg)](https://www.npmjs.com/package/iobroker.clage-dsx)
6
+ [![Downloads](https://img.shields.io/npm/dm/iobroker.clage-dsx.svg)](https://www.npmjs.com/package/iobroker.clage-dsx)
7
+ [![Test and Release](https://github.com/TheBam1990/ioBroker.clage-dsx/actions/workflows/test-and-release.yml/badge.svg)](https://github.com/TheBam1990/ioBroker.clage-dsx/actions/workflows/test-and-release.yml)
8
+
9
+ ## Beschreibung
10
+
11
+ Der Adapter verbindet ioBroker mit einem lokalen [CLAGE](https://www.clage.de/) Home Server und den dort angemeldeten Durchlauferhitzern. Die Kommunikation erfolgt über die HTTPS-API im lokalen Netzwerk; ein Cloud-Dienst wird nicht benötigt.
12
+
13
+ Grundlage ist die mitgelieferte [CLAGE Home Server API-Spezifikation v1.3.4](CLAGE%20HomeServer%20API%20v1.3.4.pdf).
14
+
15
+ ## Voraussetzungen
16
+
17
+ - ioBroker mit Node.js 22 oder neuer
18
+ - Der CLAGE Home Server muss vom ioBroker-Host erreichbar sein
19
+ - Benutzername und Passwort eines Home-Server-API-Kontos
20
+ - HTTPS-Zugriff auf den Home Server
21
+
22
+ ## Konfiguration
23
+
24
+ In den Einstellungen der Instanz werden drei Werte eingetragen:
25
+
26
+ 1. **IP-Adresse des CLAGE Home Servers**, zum Beispiel `192.168.2.35` (ohne `https://`)
27
+ 2. **API-Benutzername**
28
+ 3. **API-Passwort**
29
+
30
+ Alle drei Felder sind erforderlich. Der historische native Konfigurationsschlüssel für den Benutzernamen heißt `port`; er bleibt zur Kompatibilität mit bestehenden Installationen erhalten.
31
+
32
+ Der Home Server verwendet normalerweise ein selbstsigniertes TLS-Zertifikat. Der Adapter akzeptiert dieses lokale Zertifikat bei der direkten Verbindung mit dem konfigurierten Gerät.
33
+
34
+ ## Aktueller Funktionsumfang
35
+
36
+ Für jedes angemeldete CLAGE-Gerät legt der Adapter Datenpunkte an für:
37
+
38
+ - Identität, Verbindungsstatus, RSSI, LQI, API-Rechtemaske und letzte Funkaktivität
39
+ - Sollwert, Temperaturgrenze, Ein-/Auslauftemperatur und alle vier Temperaturspeicher
40
+ - Durchfluss, Durchflussgrenze, Ventilstellung, Rohwert und berechnete Leistung, Heizstatus und Fehler
41
+ - Firmware- und Seriennummern, Leistungsteilinformationen und Betriebszeitzähler
42
+ - Gesamtverbrauch sowie letzten Zapfvorgang und Verbrauchshistorie als JSON
43
+ - aktuellen Fehler und Fehlerhistorie als JSON
44
+ - Version, Identität, Funkkanal, Adresse und angebotene Dienste des Home Servers
45
+ - alle Timer, sowohl global als auch je Gerät gefiltert
46
+
47
+ Schreibbare Datenpunkte:
48
+
49
+ - `Setpoint`: API-Wert in Zehntelgrad, zum Beispiel `450` = 45,0 °C
50
+ - `Themperatur`: Temperatur in °C; die historische Schreibweise bleibt aus Kompatibilitätsgründen erhalten
51
+ - `flowMax`: Durchflussgrenze in 0,1 l/min; besondere API-Werte sind `253` (ECO) und `254` (AUTO)
52
+ - `Name`: Gerätename
53
+ - `setup.flowMax`, `setup.loadShedding`, `setup.scaldProtection` und `setup.sound`
54
+ - `timers.createJson`, `timers.updateJson` und `timers.deleteId` zur kontrollierten Timerverwaltung
55
+
56
+ `info.connection` zeigt an, ob der Home Server erreichbar ist und die eingetragenen Zugangsdaten akzeptiert.
57
+
58
+ Der Adapter prüft vor Schreibzugriffen die API-Rechtemaske. Sollwertänderungen werden zwei Sekunden gebündelt, aktive Geräte häufiger aktualisiert und die Geräteliste standardmäßig mit sequenziellem HTTP Long Polling abgefragt. Intervalle, Long Polling und der Zeitraum der Verbrauchshistorie (standardmäßig 30 Tage) sind in der Adapterkonfiguration einstellbar.
59
+
60
+ ## Timer-JSON
61
+
62
+ Ein Timer kann durch Schreiben eines JSON wie diesem auf `timers.createJson` angelegt werden:
63
+
64
+ ```json
65
+ {"type":0,"weekdays":127,"start":"06:00","stop":"07:00","deviceId":"A001FF0034","setpoint":450}
66
+ ```
67
+
68
+ Für Änderungen wird derselbe Aufbau mit numerischer `id` auf `timers.updateJson` geschrieben. Zum Löschen eines einzelnen Timers wird dessen numerische ID auf `timers.deleteId` geschrieben. Gefährliche Sammeloperationen, das Abmelden von Geräten und Änderungen der Funkadresse werden bewusst nicht angeboten.
69
+
70
+ ## Fehlerbehebung
71
+
72
+ - Die IP-Adresse darf kein Protokoll und keinen Pfad enthalten.
73
+ - API-Zugangsdaten in der Konfiguration des CLAGE Home Servers prüfen.
74
+ - TCP-Port 443 muss vom ioBroker-Host erreichbar sein.
75
+ - HTTP-Status `401` bedeutet ungültige Zugangsdaten; `403` bedeutet unzureichende API-Rechte.
76
+ - Ein Gerät kann angemeldet, aber vorübergehend nicht erreichbar sein. Die API meldet dies mit `404`, `410` oder einem negativen Gerätefehlercode.
77
+
78
+ ## Changelog
79
+
80
+ ### 0.0.6
81
+
82
+ - Live-Temperaturen, Temperaturspeicher, Ventilstellung, berechnete Leistung und Funkdiagnose ergänzt
83
+ - Geräteeinstellungen, Verbrauchs- und Fehlerhistorie ergänzt
84
+ - Rechtegeprüfte Schreibzugriffe auf Einstellungen und Timerverwaltung ergänzt
85
+ - Home-Server-Informationen, adaptive Abfrage und sequenzielles HTTP Long Polling ergänzt
86
+ - Abfrageintervalle konfigurierbar gemacht
87
+
88
+ ### 0.0.2
89
+
90
+ - Laufzeitabhängigkeiten für aktuelle ioBroker- und Node.js-Versionen aktualisiert
91
+ - Administrationsoberfläche auf responsive JSON Config umgestellt
92
+ - Aktuelle ioBroker-Paketmetadaten und CI-Tests für Node.js 22 und 24 ergänzt
93
+
94
+ ### 0.0.1
95
+
96
+ - Erstveröffentlichung
97
+
98
+ ## Lizenz
99
+
100
+ Copyright (c) 2026 TheBam <elektrobam@gmx.de>
101
+
102
+ MIT-Lizenz. Siehe [LICENSE](LICENSE).
@@ -0,0 +1,223 @@
1
+ {
2
+ "type": "panel",
3
+ "i18n": false,
4
+ "items": {
5
+ "intro": {
6
+ "type": "infoBox",
7
+ "text": {
8
+ "en": "Enter the CLAGE Home Server address and its API credentials. All three fields are required.",
9
+ "de": "Adresse des CLAGE Home Servers und dessen API-Zugangsdaten eingeben. Alle drei Felder werden benoetigt."
10
+ },
11
+ "newLine": true,
12
+ "xs": 12
13
+ },
14
+ "adresse": {
15
+ "type": "ip",
16
+ "label": {
17
+ "en": "CLAGE Home Server IP address",
18
+ "de": "IP-Adresse des CLAGE Home Servers",
19
+ "ru": "IP-адрес CLAGE Home Server",
20
+ "pt": "Endereço IP do CLAGE Home Server",
21
+ "nl": "IP-adres van de CLAGE Home Server",
22
+ "fr": "Adresse IP du CLAGE Home Server",
23
+ "it": "Indirizzo IP del CLAGE Home Server",
24
+ "es": "Dirección IP del CLAGE Home Server",
25
+ "pl": "Adres IP serwera CLAGE Home Server",
26
+ "uk": "IP-адреса CLAGE Home Server",
27
+ "zh-cn": "CLAGE Home Server IP 地址"
28
+ },
29
+ "listenOnAllPorts": false,
30
+ "onlyIp4": true,
31
+ "noInternal": false,
32
+ "xs": 12,
33
+ "sm": 6,
34
+ "md": 6,
35
+ "lg": 6,
36
+ "xl": 6
37
+ },
38
+ "port": {
39
+ "type": "text",
40
+ "label": {
41
+ "en": "API user name",
42
+ "de": "API-Benutzername",
43
+ "ru": "Имя пользователя API",
44
+ "pt": "Nome de utilizador da API",
45
+ "nl": "API-gebruikersnaam",
46
+ "fr": "Nom d'utilisateur API",
47
+ "it": "Nome utente API",
48
+ "es": "Nombre de usuario de la API",
49
+ "pl": "Nazwa użytkownika API",
50
+ "uk": "Ім'я користувача API",
51
+ "zh-cn": "API 用户名"
52
+ },
53
+ "help": {
54
+ "en": "The historical configuration key is named port, but this value is the user name.",
55
+ "de": "Der historische Konfigurationsschluessel heisst port, der Wert ist jedoch der Benutzername.",
56
+ "ru": "Исторический ключ называется port, но это имя пользователя.",
57
+ "pt": "A chave histórica chama-se port, mas este valor é o nome de utilizador.",
58
+ "nl": "De historische sleutel heet port, maar deze waarde is de gebruikersnaam.",
59
+ "fr": "La clé historique s'appelle port, mais cette valeur est le nom d'utilisateur.",
60
+ "it": "La chiave storica si chiama port, ma questo valore è il nome utente.",
61
+ "es": "La clave histórica se llama port, pero este valor es el nombre de usuario.",
62
+ "pl": "Historyczny klucz nazywa się port, ale ta wartość jest nazwą użytkownika.",
63
+ "uk": "Історичний ключ називається port, але це ім'я користувача.",
64
+ "zh-cn": "历史配置键名为 port,但该值实际是用户名。"
65
+ },
66
+ "xs": 12,
67
+ "sm": 6,
68
+ "md": 6,
69
+ "lg": 6,
70
+ "xl": 6
71
+ },
72
+ "apiKey": {
73
+ "type": "password",
74
+ "label": {
75
+ "en": "API password",
76
+ "de": "API-Passwort",
77
+ "ru": "Пароль API",
78
+ "pt": "Palavra-passe da API",
79
+ "nl": "API-wachtwoord",
80
+ "fr": "Mot de passe API",
81
+ "it": "Password API",
82
+ "es": "Contraseña de la API",
83
+ "pl": "Hasło API",
84
+ "uk": "Пароль API",
85
+ "zh-cn": "API 密码"
86
+ },
87
+ "visible": true,
88
+ "xs": 12,
89
+ "sm": 6,
90
+ "md": 6,
91
+ "lg": 6,
92
+ "xl": 6
93
+ },
94
+ "advancedInfo": {
95
+ "type": "header",
96
+ "text": {
97
+ "en": "Polling",
98
+ "de": "Abfrageintervalle",
99
+ "ru": "Интервалы опроса",
100
+ "pt": "Intervalos de consulta",
101
+ "nl": "Polling-intervallen",
102
+ "fr": "Intervalles d'interrogation",
103
+ "it": "Intervalli di polling",
104
+ "es": "Intervalos de consulta",
105
+ "pl": "Interwały odpytywania",
106
+ "uk": "Інтервали опитування",
107
+ "zh-cn": "轮询间隔"
108
+ },
109
+ "size": 2,
110
+ "newLine": true,
111
+ "xs": 12
112
+ },
113
+ "activePollMs": {
114
+ "type": "number",
115
+ "label": {
116
+ "en": "Active-device interval (ms)",
117
+ "de": "Intervall bei Wasserfluss (ms)",
118
+ "ru": "Интервал активного устройства (мс)",
119
+ "pt": "Intervalo do dispositivo ativo (ms)",
120
+ "nl": "Interval actief apparaat (ms)",
121
+ "fr": "Intervalle appareil actif (ms)",
122
+ "it": "Intervallo dispositivo attivo (ms)",
123
+ "es": "Intervalo del dispositivo activo (ms)",
124
+ "pl": "Interwał aktywnego urządzenia (ms)",
125
+ "uk": "Інтервал активного пристрою (мс)",
126
+ "zh-cn": "活动设备间隔(毫秒)"
127
+ },
128
+ "min": 1000,
129
+ "xs": 12,
130
+ "sm": 6,
131
+ "md": 3,
132
+ "lg": 3,
133
+ "xl": 3
134
+ },
135
+ "idlePollMs": {
136
+ "type": "number",
137
+ "label": {
138
+ "en": "Idle-device interval (ms)",
139
+ "de": "Intervall im Ruhezustand (ms)",
140
+ "ru": "Интервал ожидания (мс)",
141
+ "pt": "Intervalo em repouso (ms)",
142
+ "nl": "Interval in rust (ms)",
143
+ "fr": "Intervalle au repos (ms)",
144
+ "it": "Intervallo inattivo (ms)",
145
+ "es": "Intervalo en reposo (ms)",
146
+ "pl": "Interwał bezczynności (ms)",
147
+ "uk": "Інтервал очікування (мс)",
148
+ "zh-cn": "空闲设备间隔(毫秒)"
149
+ },
150
+ "min": 5000,
151
+ "xs": 12,
152
+ "sm": 6,
153
+ "md": 3,
154
+ "lg": 3,
155
+ "xl": 3
156
+ },
157
+ "detailsPollMs": {
158
+ "type": "number",
159
+ "label": {
160
+ "en": "History/setup interval (ms)",
161
+ "de": "Intervall für Historie/Einstellungen (ms)",
162
+ "ru": "Интервал истории/настроек (мс)",
163
+ "pt": "Intervalo de histórico/configuração (ms)",
164
+ "nl": "Interval historie/instellingen (ms)",
165
+ "fr": "Intervalle historique/réglages (ms)",
166
+ "it": "Intervallo cronologia/impostazioni (ms)",
167
+ "es": "Intervalo de historial/ajustes (ms)",
168
+ "pl": "Interwał historii/ustawień (ms)",
169
+ "uk": "Інтервал історії/налаштувань (мс)",
170
+ "zh-cn": "历史/设置间隔(毫秒)"
171
+ },
172
+ "min": 60000,
173
+ "xs": 12,
174
+ "sm": 6,
175
+ "md": 3,
176
+ "lg": 3,
177
+ "xl": 3
178
+ },
179
+ "historyDays": {
180
+ "type": "number",
181
+ "label": {
182
+ "en": "Consumption history (days)",
183
+ "de": "Verbrauchshistorie (Tage)",
184
+ "ru": "История потребления (дни)",
185
+ "pt": "Histórico de consumo (dias)",
186
+ "nl": "Verbruiksgeschiedenis (dagen)",
187
+ "fr": "Historique de consommation (jours)",
188
+ "it": "Cronologia dei consumi (giorni)",
189
+ "es": "Historial de consumo (días)",
190
+ "pl": "Historia zużycia (dni)",
191
+ "uk": "Історія споживання (дні)",
192
+ "zh-cn": "用量历史(天)"
193
+ },
194
+ "min": 1,
195
+ "xs": 12,
196
+ "sm": 6,
197
+ "md": 3,
198
+ "lg": 3,
199
+ "xl": 3
200
+ },
201
+ "longPolling": {
202
+ "type": "checkbox",
203
+ "label": {
204
+ "en": "Use device-list long polling",
205
+ "de": "Long Polling für die Geräteliste verwenden",
206
+ "ru": "Использовать long polling списка устройств",
207
+ "pt": "Usar long polling da lista de dispositivos",
208
+ "nl": "Long polling voor apparatenlijst gebruiken",
209
+ "fr": "Utiliser le long polling de la liste des appareils",
210
+ "it": "Usa long polling per l'elenco dispositivi",
211
+ "es": "Usar long polling para la lista de dispositivos",
212
+ "pl": "Użyj long pollingu listy urządzeń",
213
+ "uk": "Використовувати long polling списку пристроїв",
214
+ "zh-cn": "使用设备列表长轮询"
215
+ },
216
+ "xs": 12,
217
+ "sm": 6,
218
+ "md": 3,
219
+ "lg": 3,
220
+ "xl": 3
221
+ }
222
+ }
223
+ }