iobroker.tint 0.3.0 → 0.3.2
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 +91 -51
- package/io-package.json +27 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -16,8 +16,6 @@ Control **Müller Licht tint** Zigbee smart lights via a **deCONZ / ConBee** gat
|
|
|
16
16
|
This adapter provides full control over individual lights, light groups, and scenes, and
|
|
17
17
|
decodes every button and color-wheel event from the Tint remote control.
|
|
18
18
|
|
|
19
|
-
Other languages: [Deutsch](doc/de/README.md) · [Русский](doc/ru/README.md) · [Português](doc/pt/README.md) · [Nederlands](doc/nl/README.md) · [Français](doc/fr/README.md) · [Italiano](doc/it/README.md) · [Español](doc/es/README.md) · [Polski](doc/pl/README.md) · [Українська](doc/uk/README.md) · [中文](doc/zh-cn/README.md)
|
|
20
|
-
|
|
21
19
|
## DISCLAIMER
|
|
22
20
|
|
|
23
21
|
The name **Müller Licht** and the product name **tint** are trademarks of Müller-Licht International GmbH.
|
|
@@ -54,39 +52,20 @@ iobroker add tint
|
|
|
54
52
|
|
|
55
53
|
## Configuration
|
|
56
54
|
|
|
57
|
-
| Parameter | Default | Description |
|
|
58
|
-
|-----------|---------|-------------|
|
|
59
|
-
| IP address | `192.168.1.100` | IP address of the deCONZ / ConBee gateway |
|
|
60
|
-
| REST port | `80` | HTTP port of the deCONZ REST API |
|
|
61
|
-
| WebSocket port | `443` | WebSocket port used by deCONZ for push events |
|
|
62
|
-
| API key | *(empty)* | deCONZ API key (unlock in Phoscon / deCONZ settings) |
|
|
63
|
-
| Polling interval | `60` | Fallback REST poll interval in seconds |
|
|
64
|
-
| Auto-apply color wheel | `true` | Automatically set the chosen color on the active zone when the remote color wheel is turned |
|
|
65
|
-
| Transition time | `4` | Default light transition time in steps of 100 ms (4 = 400 ms) |
|
|
66
|
-
| Watchdog (minutes) | `120` | Watchdog timeout; adapter reconnects after this many minutes without a WebSocket event |
|
|
67
|
-
|
|
68
|
-
### Obtaining a deCONZ API key
|
|
69
|
-
|
|
70
|
-
1. Open the Phoscon web interface (usually `http://<gateway-ip>/pwa`).
|
|
71
|
-
2. Go to **Settings → Gateway → Advanced**.
|
|
72
|
-
3. Click **Authenticate app** and copy the generated API key.
|
|
73
|
-
|
|
74
|
-
Alternatively unlock via the deCONZ desktop app: **Menu → Settings → Gateway → Allow new connections** then call `/api` POST endpoint.
|
|
75
|
-
|
|
76
55
|
## Object structure
|
|
77
56
|
|
|
78
57
|
### Lights (`lights.<id>.*`)
|
|
79
58
|
|
|
80
59
|
| State | Type | R/W | Description |
|
|
81
|
-
|
|
60
|
+
|---|---|---|---|
|
|
82
61
|
| `info.name` | string | R | Light name from deCONZ |
|
|
83
62
|
| `info.modelid` | string | R | Model identifier |
|
|
84
63
|
| `info.manufacturer` | string | R | Manufacturer name |
|
|
85
64
|
| `info.reachable` | boolean | R | Zigbee reachability |
|
|
86
65
|
| `info.uniqueid` | string | R | Zigbee IEEE address |
|
|
87
66
|
| `state.on` | boolean | R/W | On / off |
|
|
88
|
-
| `state.brightness` | number (%) | R/W | Brightness 0–100
|
|
89
|
-
| `state.colorTemp` | number (K) | R/W | Color temperature 2000–6500
|
|
67
|
+
| `state.brightness` | number (%) | R/W | Brightness 0–100 % |
|
|
68
|
+
| `state.colorTemp` | number (K) | R/W | Color temperature 2000–6500 K |
|
|
90
69
|
| `state.hue` | number | R/W | Hue 0–65535 |
|
|
91
70
|
| `state.saturation` | number | R/W | Saturation 0–254 |
|
|
92
71
|
| `state.hex` | string | R/W | RGB color as `#RRGGBB` hex string |
|
|
@@ -95,29 +74,29 @@ Alternatively unlock via the deCONZ desktop app: **Menu → Settings → Gateway
|
|
|
95
74
|
| `state.colorMode` | string | R | Active color mode (`ct`, `xy`, `hs`) |
|
|
96
75
|
| `state.effect` | string | R/W | Light effect (`none`, `colorloop`, …) |
|
|
97
76
|
| `state.effectSpeed` | number | R/W | Effect speed 0–255 |
|
|
98
|
-
| `state.transitionTime` | number (×100
|
|
77
|
+
| `state.transitionTime` | number (×100 ms) | R/W | Per-light transition time override |
|
|
99
78
|
|
|
100
79
|
### Groups (`groups.<id>.*`)
|
|
101
80
|
|
|
102
81
|
| State | Type | R/W | Description |
|
|
103
|
-
|
|
82
|
+
|---|---|---|---|
|
|
104
83
|
| `info.name` | string | R | Group name |
|
|
105
84
|
| `info.memberCount` | number | R | Number of lights in the group |
|
|
106
85
|
| `info.allOn` | boolean | R | `true` when all lights in the group are on |
|
|
107
86
|
| `info.anyOn` | boolean | R | `true` when at least one light is on |
|
|
108
87
|
| `action.on` | boolean | R/W | Switch all lights in the group |
|
|
109
|
-
| `action.brightness` | number (%) | R/W | Group brightness 0–100
|
|
110
|
-
| `action.colorTemp` | number (K) | R/W | Group color temperature 2000–6500
|
|
88
|
+
| `action.brightness` | number (%) | R/W | Group brightness 0–100 % |
|
|
89
|
+
| `action.colorTemp` | number (K) | R/W | Group color temperature 2000–6500 K |
|
|
111
90
|
| `action.hex` | string | R/W | Group RGB color as `#RRGGBB` |
|
|
112
91
|
| `action.effect` | string | R/W | Group light effect |
|
|
113
|
-
| `action.transitionTime` | number (×100
|
|
92
|
+
| `action.transitionTime` | number (×100 ms) | R/W | Group transition time override |
|
|
114
93
|
| `action.activateScene` | string | R/W | Write a scene name to recall it |
|
|
115
94
|
| `scenes.<name>` | boolean | R/W | Set to `true` to recall this scene |
|
|
116
95
|
|
|
117
96
|
### Remotes (`remotes.<id>.*`)
|
|
118
97
|
|
|
119
98
|
| State | Type | R/W | Description |
|
|
120
|
-
|
|
99
|
+
|---|---|---|---|
|
|
121
100
|
| `info.name` | string | R | Remote name |
|
|
122
101
|
| `info.battery` | number (%) | R | Battery charge level |
|
|
123
102
|
| `info.reachable` | boolean | R | Zigbee reachability |
|
|
@@ -126,7 +105,7 @@ Alternatively unlock via the deCONZ desktop app: **Menu → Settings → Gateway
|
|
|
126
105
|
| `button.lastEventName` | string | R | Human-readable event name |
|
|
127
106
|
| `button.pressType` | string | R | `short`, `hold`, or `release` |
|
|
128
107
|
| `button.activeZone` | number | R | Active zone: 0 = all, 1–3 = zone 1–3 |
|
|
129
|
-
| `colorWheel.angle` | number (°) | R | Color wheel angle 0–359
|
|
108
|
+
| `colorWheel.angle` | number (°) | R | Color wheel angle 0–359 ° |
|
|
130
109
|
| `colorWheel.x` | number | R | CIE x of the selected color |
|
|
131
110
|
| `colorWheel.y` | number | R | CIE y of the selected color |
|
|
132
111
|
| `colorWheel.hex` | string | R | Selected color as `#RRGGBB` |
|
|
@@ -135,6 +114,69 @@ Alternatively unlock via the deCONZ desktop app: **Menu → Settings → Gateway
|
|
|
135
114
|
| `colorTemp.mired` | number | R | Selected color temperature in mired |
|
|
136
115
|
| `colorTemp.pressType` | string | R | `short` or `hold` |
|
|
137
116
|
|
|
117
|
+
### Plugs (`plugs.<id>.*`)
|
|
118
|
+
|
|
119
|
+
| State | Type | R/W | Description |
|
|
120
|
+
|---|---|---|---|
|
|
121
|
+
| `info.name` | string | R | Plug name from deCONZ |
|
|
122
|
+
| `info.modelid` | string | R | Model identifier |
|
|
123
|
+
| `info.manufacturer` | string | R | Manufacturer name |
|
|
124
|
+
| `info.reachable` | boolean | R | Zigbee reachability |
|
|
125
|
+
| `info.uniqueid` | string | R | Zigbee IEEE address |
|
|
126
|
+
| `state.on` | boolean | R/W | On / off |
|
|
127
|
+
|
|
128
|
+
### Covers (`covers.<id>.*`)
|
|
129
|
+
|
|
130
|
+
| State | Type | R/W | Description |
|
|
131
|
+
|---|---|---|---|
|
|
132
|
+
| `info.name` | string | R | Cover name from deCONZ |
|
|
133
|
+
| `info.modelid` | string | R | Model identifier |
|
|
134
|
+
| `info.manufacturer` | string | R | Manufacturer name |
|
|
135
|
+
| `info.reachable` | boolean | R | Zigbee reachability |
|
|
136
|
+
| `info.uniqueid` | string | R | Zigbee IEEE address |
|
|
137
|
+
| `state.position` | number (%) | R/W | Cover position, 0 = closed, 100 = open |
|
|
138
|
+
| `state.stop` | boolean | R/W | Write `true` to stop movement |
|
|
139
|
+
|
|
140
|
+
### Switches (`switches.<id>.*`)
|
|
141
|
+
|
|
142
|
+
| State | Type | R/W | Description |
|
|
143
|
+
|---|---|---|---|
|
|
144
|
+
| `info.name` | string | R | Switch name from deCONZ |
|
|
145
|
+
| `info.battery` | number (%) | R | Battery charge level |
|
|
146
|
+
| `info.reachable` | boolean | R | Zigbee reachability |
|
|
147
|
+
| `info.lastSeen` | string | R | Last seen timestamp |
|
|
148
|
+
| `button.lastEvent` | number | R | Raw deCONZ button event code |
|
|
149
|
+
| `button.lastEventName` | string | R | Human-readable event name |
|
|
150
|
+
|
|
151
|
+
### Sensors (`sensors.<id>.*`)
|
|
152
|
+
|
|
153
|
+
| State | Type | R/W | Description |
|
|
154
|
+
|---|---|---|---|
|
|
155
|
+
| `info.name` | string | R | Sensor name from deCONZ |
|
|
156
|
+
| `info.battery` | number (%) | R | Battery charge level |
|
|
157
|
+
| `info.reachable` | boolean | R | Zigbee reachability |
|
|
158
|
+
| `info.lastSeen` | string | R | Last seen timestamp |
|
|
159
|
+
| `value.temperature` | number (°C) | R | Temperature (ZHATemperature sensors) |
|
|
160
|
+
| `value.humidity` | number (%) | R | Humidity (ZHAHumidity sensors) |
|
|
161
|
+
| `value.pressure` | number (hPa) | R | Air pressure (ZHAPressure sensors) |
|
|
162
|
+
| `value.open` | boolean | R | Open/close state (ZHAOpenClose sensors) |
|
|
163
|
+
| `value.presence` | boolean | R | Motion detected (ZHAPresence sensors) |
|
|
164
|
+
| `value.brightness` | number (lux) | R | Light level (ZHALightLevel sensors) |
|
|
165
|
+
| `value.power` | number (W) | R | Power draw (ZHAPower sensors) |
|
|
166
|
+
| `value.consumption` | number (kWh) | R | Energy consumption (ZHAConsumption sensors) |
|
|
167
|
+
| `value.raw` | mixed | R | Raw value fallback for unrecognized sensor types |
|
|
168
|
+
|
|
169
|
+
### Thermostats (`thermostats.<id>.*`)
|
|
170
|
+
|
|
171
|
+
| State | Type | R/W | Description |
|
|
172
|
+
|---|---|---|---|
|
|
173
|
+
| `info.name` | string | R | Thermostat name from deCONZ |
|
|
174
|
+
| `info.battery` | number (%) | R | Battery charge level |
|
|
175
|
+
| `info.reachable` | boolean | R | Zigbee reachability |
|
|
176
|
+
| `state.temperature` | number (°C) | R | Measured temperature |
|
|
177
|
+
| `state.valve` | number (%) | R | Valve opening percentage |
|
|
178
|
+
| `state.setpoint` | number (°C) | R/W | Target temperature, 5–32 °C |
|
|
179
|
+
|
|
138
180
|
## Changelog
|
|
139
181
|
|
|
140
182
|
<!--
|
|
@@ -142,6 +184,12 @@ Alternatively unlock via the deCONZ desktop app: **Menu → Settings → Gateway
|
|
|
142
184
|
### **WORK IN PROGRESS**
|
|
143
185
|
-->
|
|
144
186
|
|
|
187
|
+
### 0.3.2 (2026-06-23)
|
|
188
|
+
* (ssbingo) Remove redundant "Other languages" line from README.md (already covered by the Documentation section); disable the Sentry release-notification step in CI (was failing with no token configured)
|
|
189
|
+
|
|
190
|
+
### 0.3.1 (2026-06-23)
|
|
191
|
+
* (ssbingo) Complete the Object structure documentation (Plugs, Covers, Switches, Sensors, Thermostats) in all 11 README files; cap the changelog at 5 entries with older history moved to CHANGELOG_OLD.md
|
|
192
|
+
|
|
145
193
|
### 0.3.0 (2026-06-23)
|
|
146
194
|
* (ssbingo) Fix: device tabs in admin no longer trigger a false "switch host" warning — React 18 and @mui/material v6 are now shared with admin's host instead of being bundled separately (panel bundle size drops from ~411 KB to ~66 KB)
|
|
147
195
|
* (ssbingo) Fix: remove leftover legacy "tint" sidebar tab (admin/tab_m.html) — superseded by the jsonConfig device tabs
|
|
@@ -153,28 +201,20 @@ Alternatively unlock via the deCONZ desktop app: **Menu → Settings → Gateway
|
|
|
153
201
|
* (ssbingo) Fix: pairing button now implemented as a custom panel component — always visible regardless of adapter alive state
|
|
154
202
|
* (ssbingo) Fix: commit panel build bundles to git so GitHub installs work without a manual build step (empty Leuchten/Gruppen tabs resolved)
|
|
155
203
|
|
|
156
|
-
|
|
157
|
-
* (ssbingo) Improve pairing UX: click button first, adapter polls deCONZ every 3 s until pairing window opens (up to 60 s) — no more time pressure
|
|
158
|
-
|
|
159
|
-
### 0.2.3 (2026-06-15)
|
|
160
|
-
* (ssbingo) Add automatic API key pairing: new "Request API key from deCONZ" button in the Settings tab
|
|
161
|
-
|
|
162
|
-
### 0.2.2 (2026-06-15)
|
|
163
|
-
* (ssbingo) Fix tab labels: "Leuchten" and "Gruppen" now shown correctly (i18n keys added to `admin/i18n/`)
|
|
164
|
-
* (ssbingo) Add static description text above each panel tab (always visible, even when panel fails to load)
|
|
165
|
-
* (ssbingo) Panel components: add sendTo timeout (10 s), alive-check, deferred mount via setTimeout, error boundary
|
|
166
|
-
* (ssbingo) Improve LightsTab and GroupsTab UX: status bar with dot indicator, count label, alert boxes for error/empty/offline
|
|
167
|
-
|
|
168
|
-
### 0.2.1 (2026-06-15)
|
|
169
|
-
* (ssbingo) Fix: panels were empty because `window.React` is not a global in admin 7
|
|
204
|
+
## Documentation
|
|
170
205
|
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
206
|
+
- 🇩🇪 [Deutsche Dokumentation](doc/de/README.md)
|
|
207
|
+
- 🇷🇺 [Документация на русском](doc/ru/README.md)
|
|
208
|
+
- 🇳🇱 [Nederlandse documentatie](doc/nl/README.md)
|
|
209
|
+
- 🇫🇷 [Documentation française](doc/fr/README.md)
|
|
210
|
+
- 🇮🇹 [Documentazione italiana](doc/it/README.md)
|
|
211
|
+
- 🇪🇸 [Documentación en español](doc/es/README.md)
|
|
212
|
+
- 🇵🇱 [Dokumentacja polska](doc/pl/README.md)
|
|
213
|
+
- 🇵🇹 [Documentação portuguesa](doc/pt/README.md)
|
|
214
|
+
- 🇺🇦 [Документація українською](doc/uk/README.md)
|
|
215
|
+
- 🇨🇳 [简体中文文档](doc/zh-cn/README.md)
|
|
175
216
|
|
|
176
|
-
|
|
177
|
-
* (ssbingo) Initial release: lights, groups, scenes, Tint remote with color wheel
|
|
217
|
+
Older changelogs can be found in [CHANGELOG_OLD.md](CHANGELOG_OLD.md).
|
|
178
218
|
|
|
179
219
|
## License
|
|
180
220
|
|
package/io-package.json
CHANGED
|
@@ -1,8 +1,34 @@
|
|
|
1
1
|
{
|
|
2
2
|
"common": {
|
|
3
3
|
"name": "tint",
|
|
4
|
-
"version": "0.3.
|
|
4
|
+
"version": "0.3.2",
|
|
5
5
|
"news": {
|
|
6
|
+
"0.3.2": {
|
|
7
|
+
"en": "Remove redundant \"Other languages\" line from README.md (already covered by the Documentation section); disable the Sentry release-notification step in CI (was failing with no token configured)",
|
|
8
|
+
"de": "Redundante \"Other languages\"-Zeile aus der README.md entfernt (steht bereits im Documentation-Abschnitt); Sentry-Release-Benachrichtigung in der CI deaktiviert (schlug ohne konfigurierten Token fehl)",
|
|
9
|
+
"ru": "Удалена избыточная строка \"Other languages\" из README.md (уже есть в разделе Documentation); отключено уведомление о релизе Sentry в CI (завершалось ошибкой без настроенного токена)",
|
|
10
|
+
"pt": "Removida a linha redundante \"Other languages\" do README.md (já presente na secção Documentation); desativada a notificação de lançamento do Sentry no CI (falhava sem token configurado)",
|
|
11
|
+
"nl": "Overbodige \"Other languages\"-regel uit README.md verwijderd (staat al in de Documentation-sectie); Sentry-release-melding in CI uitgeschakeld (mislukte zonder geconfigureerde token)",
|
|
12
|
+
"fr": "Suppression de la ligne redondante \"Other languages\" du README.md (déjà présente dans la section Documentation) ; désactivation de la notification de release Sentry dans la CI (échouait sans jeton configuré)",
|
|
13
|
+
"it": "Rimossa la riga ridondante \"Other languages\" dal README.md (già presente nella sezione Documentation); disabilitata la notifica di rilascio Sentry nella CI (falliva senza token configurato)",
|
|
14
|
+
"es": "Eliminada la línea redundante \"Other languages\" del README.md (ya presente en la sección Documentation); deshabilitada la notificación de versión de Sentry en CI (fallaba sin token configurado)",
|
|
15
|
+
"pl": "Usunięto zbędną linię \"Other languages\" z README.md (jest już w sekcji Documentation); wyłączono powiadomienie o wydaniu Sentry w CI (kończyło się błędem bez skonfigurowanego tokenu)",
|
|
16
|
+
"uk": "Видалено зайвий рядок \"Other languages\" з README.md (уже є в розділі Documentation); вимкнено сповіщення про реліз Sentry в CI (завершувалося помилкою без налаштованого токена)",
|
|
17
|
+
"zh-cn": "移除README.md中多余的\"Other languages\"行(文档部分已包含此信息);禁用CI中的Sentry发布通知步骤(因未配置令牌而失败)"
|
|
18
|
+
},
|
|
19
|
+
"0.3.1": {
|
|
20
|
+
"en": "Complete the Object structure documentation (Plugs, Covers, Switches, Sensors, Thermostats) in all 11 README files; cap the changelog at 5 entries with older history moved to CHANGELOG_OLD.md",
|
|
21
|
+
"de": "Objektstruktur-Dokumentation (Steckdosen, Rollos, Schalter, Sensoren, Thermostate) in allen 11 README-Dateien vervollständigt; Changelog auf 5 Einträge begrenzt, ältere Historie nach CHANGELOG_OLD.md verschoben",
|
|
22
|
+
"ru": "Завершена документация структуры объектов (Розетки, Жалюзи, Выключатели, Датчики, Термостаты) во всех 11 файлах README; changelog ограничен 5 записями, более старая история перемещена в CHANGELOG_OLD.md",
|
|
23
|
+
"pt": "Documentação da estrutura de objetos concluída (Tomadas, Estores, Interruptores, Sensores, Termostatos) em todos os 11 ficheiros README; changelog limitado a 5 entradas, histórico mais antigo movido para CHANGELOG_OLD.md",
|
|
24
|
+
"nl": "Objectstructuurdocumentatie (Stekkers, Rolluiken, Schakelaars, Sensoren, Thermostaten) in alle 11 README-bestanden voltooid; changelog beperkt tot 5 items, oudere geschiedenis verplaatst naar CHANGELOG_OLD.md",
|
|
25
|
+
"fr": "Documentation de la structure des objets complétée (Prises, Volets, Interrupteurs, Capteurs, Thermostats) dans les 11 fichiers README ; changelog limité à 5 entrées, historique plus ancien déplacé vers CHANGELOG_OLD.md",
|
|
26
|
+
"it": "Documentazione della struttura degli oggetti completata (Prese, Tapparelle, Interruttori, Sensori, Termostati) in tutti gli 11 file README; changelog limitato a 5 voci, cronologia precedente spostata in CHANGELOG_OLD.md",
|
|
27
|
+
"es": "Documentación de la estructura de objetos completada (Enchufes, Persianas, Interruptores, Sensores, Termostatos) en los 11 archivos README; changelog limitado a 5 entradas, historial anterior movido a CHANGELOG_OLD.md",
|
|
28
|
+
"pl": "Uzupełniono dokumentację struktury obiektów (Gniazdka, Rolety, Przełączniki, Czujniki, Termostaty) we wszystkich 11 plikach README; dziennik zmian ograniczony do 5 wpisów, starsza historia przeniesiona do CHANGELOG_OLD.md",
|
|
29
|
+
"uk": "Завершено документацію структури об'єктів (Розетки, Жалюзі, Вимикачі, Датчики, Термостати) у всіх 11 файлах README; журнал змін обмежено 5 записами, старішу історію перенесено до CHANGELOG_OLD.md",
|
|
30
|
+
"zh-cn": "完成了对象结构文档(插座、窗帘、开关、传感器、温控器)在全部11个README文件中的补充;更新日志限制为5条,较旧的历史记录已移至CHANGELOG_OLD.md"
|
|
31
|
+
},
|
|
6
32
|
"0.3.0": {
|
|
7
33
|
"en": "Fix: device tabs no longer trigger a false \"switch host\" warning in admin (React 18 + MUI v6 now shared with admin instead of bundled separately); remove leftover legacy \"tint\" sidebar tab",
|
|
8
34
|
"de": "Bugfix: Geräte-Tabs lösen keine falsche \"Host wechseln\"-Warnung in Admin mehr aus (React 18 + MUI v6 werden jetzt mit Admin geteilt statt separat gebündelt); veralteten Sidebar-Tab \"tint\" entfernt",
|