iobroker.esphome 0.7.0-beta.2 → 0.7.0-beta.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 +8 -11
- package/admin/admin.d.ts +37 -71
- package/admin/i18n/de/translations.json +3 -1
- package/admin/i18n/en/translations.json +3 -1
- package/admin/i18n/es/translations.json +3 -1
- package/admin/i18n/fr/translations.json +4 -2
- package/admin/i18n/it/translations.json +4 -2
- package/admin/i18n/nl/translations.json +4 -2
- package/admin/i18n/pl/translations.json +4 -2
- package/admin/i18n/pt/translations.json +4 -2
- package/admin/i18n/ru/translations.json +4 -2
- package/admin/i18n/uk/translations.json +4 -2
- package/admin/i18n/zh-cn/translations.json +4 -2
- package/admin/jsonConfig.json5 +12 -0
- package/io-package.json +27 -27
- package/lib/adapter-config.d.ts +6 -6
- package/lib/helpers.js +79 -91
- package/lib/stateAttr.js +90 -90
- package/lib/yamlFileManager.js +228 -237
- package/main.js +2296 -2579
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -360,6 +360,14 @@ If you like my work, please consider a personal donation
|
|
|
360
360
|
### __WORK IN PROGRESS__
|
|
361
361
|
* (DutchmanNL)
|
|
362
362
|
-->
|
|
363
|
+
### 0.7.0-beta.4 (2026-02-21)
|
|
364
|
+
* (DutchmanNL) **FIXED**: ESLint errors by code refactoring
|
|
365
|
+
* (@copilot) **FIXED**: Restore missing `configStates` option in admin UI to allow configuring whether configuration states are shown per entity
|
|
366
|
+
|
|
367
|
+
### 0.7.0-beta.3 (2026-02-20)
|
|
368
|
+
* (@copilot) **NEW**: Added support for `colorBrightness`, `coldWhite`, `warmWhite`, and `colorMode` states for lights using the new ESPHome color mode API
|
|
369
|
+
* (@copilot) **FIXED**: RGB light control (brightness, color, white, colorTemperature) not working with newer ESPHome firmware that uses `supportedColorModesList` instead of deprecated legacy flags (#338)
|
|
370
|
+
|
|
363
371
|
### 0.7.0-beta.2 (2026-02-20) - add capability for fans & Lock entity
|
|
364
372
|
* (@SimonFischer04) improve README
|
|
365
373
|
* (@SimonFischer04) fix #394, actually fix #340, #356
|
|
@@ -387,17 +395,6 @@ If you like my work, please consider a personal donation
|
|
|
387
395
|
* (@DutchmanNL) Added a comprehensive FAQ section to the README to help users with common questions. #286
|
|
388
396
|
* (@DutchmanNL) Updated the `esphome-native-api` library to V1.3.3, which may resolve connection issues. #201
|
|
389
397
|
|
|
390
|
-
### 0.6.2 (2025-08-08)
|
|
391
|
-
* (@SimonFischer04) add support for text device type #141, displays #103
|
|
392
|
-
* (@SimonFischer04) fix cover device type #156
|
|
393
|
-
* (@SimonFischer04) workaround: downgrade python for now. fixes #259
|
|
394
|
-
|
|
395
|
-
### 0.6.1 (2025-05-24)
|
|
396
|
-
* (@SimonFischer04) Update esphome
|
|
397
|
-
* (@ticaki) Optimize admin configuration interface
|
|
398
|
-
* (@DutchmanNL) Optimize backend handling of device discovery
|
|
399
|
-
* (@DutchmanNL) Capability to select ESPHome Dashboard version added, resolves #118
|
|
400
|
-
|
|
401
398
|
## License
|
|
402
399
|
MIT License
|
|
403
400
|
|
package/admin/admin.d.ts
CHANGED
|
@@ -1,17 +1,12 @@
|
|
|
1
1
|
declare let systemDictionary: Record<string, Record<string, string>>;
|
|
2
2
|
|
|
3
|
-
declare let load: (
|
|
4
|
-
|
|
5
|
-
onChange: (hasChanges: boolean) => void,
|
|
6
|
-
) => void;
|
|
7
|
-
declare let save: (
|
|
8
|
-
callback: (settings: Record<string, unknown>) => void,
|
|
9
|
-
) => void;
|
|
3
|
+
declare let load: (settings: Record<string, unknown>, onChange: (hasChanges: boolean) => void) => void;
|
|
4
|
+
declare let save: (callback: (settings: Record<string, unknown>) => void) => void;
|
|
10
5
|
|
|
11
6
|
// make load and save exist on the window object
|
|
12
7
|
interface Window {
|
|
13
|
-
|
|
14
|
-
|
|
8
|
+
load: typeof load;
|
|
9
|
+
save: typeof save;
|
|
15
10
|
}
|
|
16
11
|
|
|
17
12
|
declare const instance: number;
|
|
@@ -24,73 +19,44 @@ declare const adapter: string;
|
|
|
24
19
|
declare function _(text: string): string;
|
|
25
20
|
declare const socket: ioBrokerSocket;
|
|
26
21
|
declare function sendTo(
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
22
|
+
instance: null,
|
|
23
|
+
command: string,
|
|
24
|
+
message: any,
|
|
25
|
+
callback: (result: SendToResult) => void | Promise<void>,
|
|
31
26
|
): void;
|
|
32
27
|
|
|
33
28
|
interface SendToResult {
|
|
34
|
-
|
|
35
|
-
|
|
29
|
+
error?: string | Error;
|
|
30
|
+
result?: any;
|
|
36
31
|
}
|
|
37
32
|
|
|
38
33
|
// tslint:disable-next-line:class-name
|
|
39
34
|
interface ioBrokerSocket {
|
|
40
|
-
|
|
41
|
-
command:
|
|
42
|
-
pattern: string,
|
|
43
|
-
callback?: (err?: string) => void | Promise<void
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
callback
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
event:
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
): void;
|
|
68
|
-
emit(
|
|
69
|
-
event: "getStates",
|
|
70
|
-
callback: (err: string | undefined, result?: Record<string, any>) => void,
|
|
71
|
-
): void;
|
|
72
|
-
emit(
|
|
73
|
-
event: "getState",
|
|
74
|
-
id: string,
|
|
75
|
-
callback: (err: string | undefined, result?: ioBroker.State) => void,
|
|
76
|
-
): void;
|
|
77
|
-
emit(
|
|
78
|
-
event: "setState",
|
|
79
|
-
id: string,
|
|
80
|
-
state: unknown,
|
|
81
|
-
callback: (err: string | undefined, result?: any) => void,
|
|
82
|
-
): void;
|
|
83
|
-
|
|
84
|
-
on(event: "objectChange", handler: ioBroker.ObjectChangeHandler): void;
|
|
85
|
-
on(event: "stateChange", handler: ioBroker.StateChangeHandler): void;
|
|
86
|
-
removeEventHandler(
|
|
87
|
-
event: "objectChange",
|
|
88
|
-
handler: ioBroker.ObjectChangeHandler,
|
|
89
|
-
): void;
|
|
90
|
-
removeEventHandler(
|
|
91
|
-
event: "stateChange",
|
|
92
|
-
handler: ioBroker.StateChangeHandler,
|
|
93
|
-
): void;
|
|
94
|
-
|
|
95
|
-
// TODO: other events
|
|
35
|
+
emit(command: 'subscribeObjects', pattern: string, callback?: (err?: string) => void | Promise<void>): void;
|
|
36
|
+
emit(command: 'subscribeStates', pattern: string, callback?: (err?: string) => void | Promise<void>): void;
|
|
37
|
+
emit(command: 'unsubscribeObjects', pattern: string, callback?: (err?: string) => void | Promise<void>): void;
|
|
38
|
+
emit(command: 'unsubscribeStates', pattern: string, callback?: (err?: string) => void | Promise<void>): void;
|
|
39
|
+
|
|
40
|
+
emit(
|
|
41
|
+
event: 'getObjectView',
|
|
42
|
+
view: 'system',
|
|
43
|
+
type: 'device',
|
|
44
|
+
options: ioBroker.GetObjectViewParams,
|
|
45
|
+
callback: (err: string | undefined, result?: any) => void | Promise<void>,
|
|
46
|
+
): void;
|
|
47
|
+
emit(event: 'getStates', callback: (err: string | undefined, result?: Record<string, any>) => void): void;
|
|
48
|
+
emit(event: 'getState', id: string, callback: (err: string | undefined, result?: ioBroker.State) => void): void;
|
|
49
|
+
emit(
|
|
50
|
+
event: 'setState',
|
|
51
|
+
id: string,
|
|
52
|
+
state: unknown,
|
|
53
|
+
callback: (err: string | undefined, result?: any) => void,
|
|
54
|
+
): void;
|
|
55
|
+
|
|
56
|
+
on(event: 'objectChange', handler: ioBroker.ObjectChangeHandler): void;
|
|
57
|
+
on(event: 'stateChange', handler: ioBroker.StateChangeHandler): void;
|
|
58
|
+
removeEventHandler(event: 'objectChange', handler: ioBroker.ObjectChangeHandler): void;
|
|
59
|
+
removeEventHandler(event: 'stateChange', handler: ioBroker.StateChangeHandler): void;
|
|
60
|
+
|
|
61
|
+
// TODO: other events
|
|
96
62
|
}
|
|
@@ -66,5 +66,7 @@
|
|
|
66
66
|
"cnfClearCacheText": "Sind Sie sicher, dass Sie den autopy-Cache leeren möchten? Dies entfernt alle zwischengespeicherten Python-Umgebungen und ESPHome-Installationen.",
|
|
67
67
|
"cnfClearCacheTitle": "Cache-Leerung bestätigen",
|
|
68
68
|
"cnfClearCacheOk": "Cache leeren",
|
|
69
|
-
"cnfClearCacheCancel": "Abbrechen"
|
|
69
|
+
"cnfClearCacheCancel": "Abbrechen",
|
|
70
|
+
"lblConfigStates": "Konfigurationszustände anzeigen",
|
|
71
|
+
"hlpConfigStates": "Konfigurationszustände für jede Entität erstellen, um Gerätekonfigurationsdetails anzuzeigen"
|
|
70
72
|
}
|
|
@@ -66,5 +66,7 @@
|
|
|
66
66
|
"cnfClearCacheText": "Are you sure you want to clear the autopy cache? This will remove all cached Python environments and ESPHome installations.",
|
|
67
67
|
"cnfClearCacheTitle": "Confirm cache clearing",
|
|
68
68
|
"cnfClearCacheOk": "Clear Cache",
|
|
69
|
-
"cnfClearCacheCancel": "Cancel"
|
|
69
|
+
"cnfClearCacheCancel": "Cancel",
|
|
70
|
+
"lblConfigStates": "Show configuration states",
|
|
71
|
+
"hlpConfigStates": "Create configuration states for each entity to show device configuration details"
|
|
70
72
|
}
|
|
@@ -66,5 +66,7 @@
|
|
|
66
66
|
"cnfClearCacheText": "Are you sure you want to clear the autopy cache? This will remove all cached Python environments and ESPHome installations.",
|
|
67
67
|
"cnfClearCacheTitle": "Confirm cache clearing",
|
|
68
68
|
"cnfClearCacheOk": "Clear Cache",
|
|
69
|
-
"cnfClearCacheCancel": "Cancel"
|
|
69
|
+
"cnfClearCacheCancel": "Cancel",
|
|
70
|
+
"lblConfigStates": "Show configuration states",
|
|
71
|
+
"hlpConfigStates": "Create configuration states for each entity to show device configuration details"
|
|
70
72
|
}
|
|
@@ -66,5 +66,7 @@
|
|
|
66
66
|
"cnfClearCacheText": "Are you sure you want to clear the autopy cache? This will remove all cached Python environments and ESPHome installations.",
|
|
67
67
|
"cnfClearCacheTitle": "Confirm cache clearing",
|
|
68
68
|
"cnfClearCacheOk": "Clear Cache",
|
|
69
|
-
"cnfClearCacheCancel": "Cancel"
|
|
70
|
-
|
|
69
|
+
"cnfClearCacheCancel": "Cancel",
|
|
70
|
+
"lblConfigStates": "Show configuration states",
|
|
71
|
+
"hlpConfigStates": "Create configuration states for each entity to show device configuration details"
|
|
72
|
+
}
|
|
@@ -66,5 +66,7 @@
|
|
|
66
66
|
"cnfClearCacheText": "Are you sure you want to clear the autopy cache? This will remove all cached Python environments and ESPHome installations.",
|
|
67
67
|
"cnfClearCacheTitle": "Confirm cache clearing",
|
|
68
68
|
"cnfClearCacheOk": "Clear Cache",
|
|
69
|
-
"cnfClearCacheCancel": "Cancel"
|
|
70
|
-
|
|
69
|
+
"cnfClearCacheCancel": "Cancel",
|
|
70
|
+
"lblConfigStates": "Show configuration states",
|
|
71
|
+
"hlpConfigStates": "Create configuration states for each entity to show device configuration details"
|
|
72
|
+
}
|
|
@@ -66,5 +66,7 @@
|
|
|
66
66
|
"cnfClearCacheText": "Are you sure you want to clear the autopy cache? This will remove all cached Python environments and ESPHome installations.",
|
|
67
67
|
"cnfClearCacheTitle": "Confirm cache clearing",
|
|
68
68
|
"cnfClearCacheOk": "Clear Cache",
|
|
69
|
-
"cnfClearCacheCancel": "Cancel"
|
|
70
|
-
|
|
69
|
+
"cnfClearCacheCancel": "Cancel",
|
|
70
|
+
"lblConfigStates": "Show configuration states",
|
|
71
|
+
"hlpConfigStates": "Create configuration states for each entity to show device configuration details"
|
|
72
|
+
}
|
|
@@ -66,5 +66,7 @@
|
|
|
66
66
|
"cnfClearCacheText": "Are you sure you want to clear the autopy cache? This will remove all cached Python environments and ESPHome installations.",
|
|
67
67
|
"cnfClearCacheTitle": "Confirm cache clearing",
|
|
68
68
|
"cnfClearCacheOk": "Clear Cache",
|
|
69
|
-
"cnfClearCacheCancel": "Cancel"
|
|
70
|
-
|
|
69
|
+
"cnfClearCacheCancel": "Cancel",
|
|
70
|
+
"lblConfigStates": "Show configuration states",
|
|
71
|
+
"hlpConfigStates": "Create configuration states for each entity to show device configuration details"
|
|
72
|
+
}
|
|
@@ -66,5 +66,7 @@
|
|
|
66
66
|
"cnfClearCacheText": "Are you sure you want to clear the autopy cache? This will remove all cached Python environments and ESPHome installations.",
|
|
67
67
|
"cnfClearCacheTitle": "Confirm cache clearing",
|
|
68
68
|
"cnfClearCacheOk": "Clear Cache",
|
|
69
|
-
"cnfClearCacheCancel": "Cancel"
|
|
70
|
-
|
|
69
|
+
"cnfClearCacheCancel": "Cancel",
|
|
70
|
+
"lblConfigStates": "Show configuration states",
|
|
71
|
+
"hlpConfigStates": "Create configuration states for each entity to show device configuration details"
|
|
72
|
+
}
|
|
@@ -66,5 +66,7 @@
|
|
|
66
66
|
"cnfClearCacheText": "Are you sure you want to clear the autopy cache? This will remove all cached Python environments and ESPHome installations.",
|
|
67
67
|
"cnfClearCacheTitle": "Confirm cache clearing",
|
|
68
68
|
"cnfClearCacheOk": "Clear Cache",
|
|
69
|
-
"cnfClearCacheCancel": "Cancel"
|
|
70
|
-
|
|
69
|
+
"cnfClearCacheCancel": "Cancel",
|
|
70
|
+
"lblConfigStates": "Show configuration states",
|
|
71
|
+
"hlpConfigStates": "Create configuration states for each entity to show device configuration details"
|
|
72
|
+
}
|
|
@@ -66,5 +66,7 @@
|
|
|
66
66
|
"cnfClearCacheText": "Are you sure you want to clear the autopy cache? This will remove all cached Python environments and ESPHome installations.",
|
|
67
67
|
"cnfClearCacheTitle": "Confirm cache clearing",
|
|
68
68
|
"cnfClearCacheOk": "Clear Cache",
|
|
69
|
-
"cnfClearCacheCancel": "Cancel"
|
|
70
|
-
|
|
69
|
+
"cnfClearCacheCancel": "Cancel",
|
|
70
|
+
"lblConfigStates": "Show configuration states",
|
|
71
|
+
"hlpConfigStates": "Create configuration states for each entity to show device configuration details"
|
|
72
|
+
}
|
|
@@ -66,5 +66,7 @@
|
|
|
66
66
|
"cnfClearCacheText": "Are you sure you want to clear the autopy cache? This will remove all cached Python environments and ESPHome installations.",
|
|
67
67
|
"cnfClearCacheTitle": "Confirm cache clearing",
|
|
68
68
|
"cnfClearCacheOk": "Clear Cache",
|
|
69
|
-
"cnfClearCacheCancel": "Cancel"
|
|
70
|
-
|
|
69
|
+
"cnfClearCacheCancel": "Cancel",
|
|
70
|
+
"lblConfigStates": "Show configuration states",
|
|
71
|
+
"hlpConfigStates": "Create configuration states for each entity to show device configuration details"
|
|
72
|
+
}
|
package/admin/jsonConfig.json5
CHANGED
|
@@ -174,6 +174,18 @@
|
|
|
174
174
|
"label": "lblAutoDiscovery"
|
|
175
175
|
},
|
|
176
176
|
|
|
177
|
+
// Enable/disable creation of config states for each entity
|
|
178
|
+
"configStates": {
|
|
179
|
+
"type": "checkbox",
|
|
180
|
+
"xs": 12,
|
|
181
|
+
"sm": 3,
|
|
182
|
+
"md": 3,
|
|
183
|
+
"lg": 3,
|
|
184
|
+
"xl": 3,
|
|
185
|
+
"label": "lblConfigStates",
|
|
186
|
+
"help": "hlpConfigStates"
|
|
187
|
+
},
|
|
188
|
+
|
|
177
189
|
"discoveryListeningAddress" : {
|
|
178
190
|
"type": "ip",
|
|
179
191
|
"xs": 12,
|
package/io-package.json
CHANGED
|
@@ -1,8 +1,34 @@
|
|
|
1
1
|
{
|
|
2
2
|
"common": {
|
|
3
3
|
"name": "esphome",
|
|
4
|
-
"version": "0.7.0-beta.
|
|
4
|
+
"version": "0.7.0-beta.4",
|
|
5
5
|
"news": {
|
|
6
|
+
"0.7.0-beta.4": {
|
|
7
|
+
"en": "**FIXED**: ESLint errors by code refactoring\n**FIXED**: Restore missing `configStates` option in admin UI to allow configuring whether configuration states are shown per entity",
|
|
8
|
+
"de": "**FIXED**: ESLint-Fehler durch Code-Refactoring\n**FIXED**: Wiederherstellen fehlender `configStates` Option im Admin UI, um die Konfiguration zu ermöglichen, ob Konfigurationszustände pro Einheit angezeigt werden",
|
|
9
|
+
"ru": "**FIXED**: ошибки ESLint при рефакторинге кода\n**FIXED**: Восстановление отсутствующей опции «configStates» в пользовательском интерфейсе администратора, чтобы позволить настроить, отображаются ли состояния конфигурации на единицу",
|
|
10
|
+
"pt": "**FIXED**: ESLint errors by code refatoring\n**FIXED**: Restaurar a opção 'configStates' faltando na interface de administração para permitir configurar se os estados de configuração são mostrados por entidade",
|
|
11
|
+
"nl": "** VAST**: ESLint fouten door code refactoring\n**FIXED**: Herstellen van ontbrekende optie \"configStates\" in admin UI om het configureren van configuratietoestanden per entiteit mogelijk te maken",
|
|
12
|
+
"fr": "**FIXED**: erreurs ESLint par refactoring de code\n**FIXED**: Restaurer l'option `configStates` manquante dans l'interface utilisateur admin pour permettre de configurer si les états de configuration sont affichés par entité",
|
|
13
|
+
"it": "**FIXED**: Errori ESLint per refactoring del codice\n**FIXED**: Ripristina l'opzione `configStates` mancante nell'interfaccia utente di amministrazione per consentire la configurazione se gli stati di configurazione vengono visualizzati per entità",
|
|
14
|
+
"es": "**FIXED**: errores ESLint por refactorización de código\n**FIXED**: Restaurar la opción 'configStates' desaparecida en admin UI para permitir configurar si los estados de configuración se muestran por entidad",
|
|
15
|
+
"pl": "* *FIXED* *: Błędy związane z plikiem ESLint przy pomocy refaktoringu kodu \n* *FIXED* *: Przywracanie brakującej opcji 'configStates' w systemie UI administratora, aby umożliwić konfigurację tego, czy stany konfiguracji są wyświetlane na jednostkę ",
|
|
16
|
+
"uk": "**FIXED***: помилки ESLint від рефакторингу коду\n**FIXED***: Відновити варіант `configStates` в admin UI, щоб дозволити налаштування станів конфігурації відображається на суб’єкті",
|
|
17
|
+
"zh-cn": "**FIXED**:通过代码重构的ESLint错误\n** FIXED**:在管理UI中恢复缺失的“配置状态”选项,以便配置是否显示每个实体的配置状态"
|
|
18
|
+
},
|
|
19
|
+
"0.7.0-beta.3": {
|
|
20
|
+
"en": "**NEW**: Added support for `colorBrightness`, `coldWhite`, `warmWhite`, and `colorMode` states for lights using the new ESPHome color mode API\n**FIXED**: RGB light control (brightness, color, white, colorTemperature) not working with newer ESPHome firmware that uses `supportedColorModesList` instead of deprecated legacy flags (#338)",
|
|
21
|
+
"de": "**NEW**: Unterstützung für `colorBrightness`, `coldWhite`, `warmWhite` und `colorMode` Zustände für Lichter mit der neuen ESPHome Farbmodus API\n**FIXED**: RGB Lichtsteuerung (Brightness, Farbe, weiß, FarbeTemperature) nicht mit neuerer ESPHome Firmware, die `supportedColorModesList` anstelle von deprecated Legacy Fahnen verwendet (#338)",
|
|
22
|
+
"ru": "**NEW**: Добавлена поддержка состояний «colorBrightness», «coldWhite», «warmWhite» и «colorMode» для огней с использованием нового API цветового режима ESPHome\n** FIXED**: Управление светом RGB (яркость, цвет, белый, цветовая температура) не работает с новой прошивкой ESPHome, которая использует «поддерживаемый ColorModesList» вместо устаревших флагов (#338)",
|
|
23
|
+
"pt": "**NOVO**: Adicionado suporte para `colorBrightness`, `coldWhite`, `warmWhite`, e `colorMode` estados para luzes usando o novo modo de cores ESPHome API\n**FIXED**: Controle de luz RGB (brilho, cor, branco, corTemperatura) não trabalhando com firmware ESPHome mais recente que usa `supportedColorModesList` em vez de bandeiras legadas deprecadas (#338)",
|
|
24
|
+
"nl": "**NIEUW**: Toegevoegde ondersteuning voor kleurBrightness, \n**FIXED**: RGB lichtcontrole (helderheid, kleur, wit, kleurTemperatuur) werkt niet met nieuwere ESPHome firmware die gebruik maakt van de ondersteundeColorModesListIn plaats van verouderde legacy vlaggen (#338)",
|
|
25
|
+
"fr": "**NOUVEAU**: Ajout du support pour les états `colorBrightness`, `coldWhite`, `warmWhite` et `colorMode` pour les lumières en utilisant la nouvelle API en mode couleur ESPHome\n**FIXED**: RGB contrôle de la lumière (brightness, color, white, colorTemperature) ne fonctionne pas avec le nouveau firmware ESPHome qui utilise `supportedColorModesList` au lieu de drapeaux hérités dépréciés (#338)",
|
|
26
|
+
"it": "**NEW**: Aggiunto il supporto per `colorBrightness`, `coldWhite`, `warmWhite`, e `colorMode` stati per le luci utilizzando il nuovo ESPHome colore modalità API\n**FIXED**: RGB light control (luce, colore, bianco, coloreTemperatura) non funziona con il nuovo firmware ESPHome che utilizza `supportedColorModesList` invece di bandiere legacy deprecate (#338)",
|
|
27
|
+
"es": "**NEW**: Añadido soporte para `colorBrightness`, `coldWhite`, `warmWhite`, and `colorMode` states for lights using the new ESPHome color mode API\n**FIXED**: Control de luz RGB (brightness, color, blanco, colorTemperatura) no trabaja con el firmware ESPHome más nuevo que utiliza 'ColorModesList` compatible en lugar de banderas heredadas deprecatadas (#338)",
|
|
28
|
+
"pl": "* *NOWOŚĆ* *: Dodano wsparcie dla 'colorBrighty', 'coldWhite', 'colorWhite' i 'colorMode' dla świateł przy użyciu nowego trybu kolorów ESPHome API \n* *FIXED* *: Sterowanie światłem RGB (jasność, kolor, biel, barwa) niepracujące z nowszymi firmware ESPHome, które używa 'supportedColorModesList' zamiast zdeprecjonowanych flag (# 338) ",
|
|
29
|
+
"uk": "**NEW**: Додана підтримка `colorBrightness`, `coldWhite`, `warmWhite`, `colorMode` станів для вогнів, використовуючи новий ESPHome колірний режим API\n**FIXED**: RGB легкий контроль (яскравість, колір, білий, колірTemperature) не працює з новою прошивкою ESPHome, яка використовує `supportedColorModesList` замість відхилених прапорів спадщини (#338)",
|
|
30
|
+
"zh-cn": "**NEW**: 添加支持使用新的ESPHome颜色模式API的“彩色亮度”、“冷白”、“暖白”和“彩色模式”照明装置\n** FIXED**:RGB灯光控制(亮度,颜色,白色,色质)不与使用`支持的ColorModesList ' 而不是被磨损的遗留旗帜的更新ESPHome固件合作(# 338)"
|
|
31
|
+
},
|
|
6
32
|
"0.7.0-beta.2": {
|
|
7
33
|
"en": "improve README\nfix #394, actually fix #340, #356\n**FIXED**: Fan component not working #205\n**NEW**: Allow customization of Pillow version used by ESPHome Dashboard, similar to ESPHome version selector\n**NEW**: Add \"Clear Autopy Cache\" button in ESPHome Dashboard configuration tab to resolve dashboard loading issues (#209)",
|
|
8
34
|
"de": "rEADME\nfix #394, eigentlich fix #340, #356\n**FIXED**: Fan-Komponente nicht funktioniert #205\n**NEW**: Erlauben Anpassung der Pillow-Version, die von ESPHome Dashboard verwendet wird, ähnlich wie ESPHome-Versionsauswahl\n**NEW**: Fügen Sie die Schaltfläche \"Klar Autopy Cache\" in ESPHome Dashboard Konfigurationstabelle hinzu, um dashboard Ladeprobleme zu lösen (#209)",
|
|
@@ -67,32 +93,6 @@
|
|
|
67
93
|
"pl": "Dodaj obsługę typu urządzenia tekstowego #141, wyświetla #103\nNaprawić okładkę typu #156\nObejście: Na razie obniż się Pythona. Poprawki #259",
|
|
68
94
|
"uk": "Додайте підтримку типу текстового пристрою № 141, дисплеї № 103\nВиправити тип пристрою покриття № 156\nВирішення: поки що Python знижується. Виправлення №259",
|
|
69
95
|
"zh-cn": "添加对文本设备类型#141的支持,显示#103\n修复封面设备类型#156\n解决方法:暂时降级Python。修复#259"
|
|
70
|
-
},
|
|
71
|
-
"0.6.2": {
|
|
72
|
-
"en": "add support for text device type #141, displays #103\nfix cover device type #156\nworkaround: downgrade python for now. fixes #259",
|
|
73
|
-
"de": "unterstützung für textgerät typ #141, anzeigen #103\nbefestigungsabdeckung typ #156\narbeitsbereich: abbauen python für jetzt. fixes #259",
|
|
74
|
-
"ru": "добавить поддержку текстового устройства типа #141, дисплеев #103\nфиксировать крышку типа #156\nобходной путь: понижай питон пока. обсуждение #259",
|
|
75
|
-
"pt": "adicionar suporte para o tipo de dispositivo de texto #141, exibe #103\ncorrigir tipo de dispositivo de cobertura #156\nsolução alternativa: píton degradante por enquanto. corrige # 259",
|
|
76
|
-
"nl": "ondersteuning toevoegen voor tekst apparaat type #141, displays #103\nfix cover apparaat type #156\nwerkoplossing: downgrade python voor nu. fixes #259",
|
|
77
|
-
"fr": "ajouter le support pour le type de périphérique texte #141, affiche #103\ndispositif de protection de type #156\nla solution de rechange: python de qualité inférieure pour l'instant. correctifs #259",
|
|
78
|
-
"it": "aggiungere il supporto per il tipo di dispositivo di testo #141, visualizza #103\ncorretto tipo di dispositivo di copertura #156\na tutto: pitone per ora. correzioni #259",
|
|
79
|
-
"es": "añadir soporte para el tipo de dispositivo de texto #141, pantallas #103\ntipo de dispositivo de tapa fija #156\ntodo el trabajo: por ahora. fijaciones #259",
|
|
80
|
-
"pl": "dodaj obsługę urządzenia tekstowego typu # 141, wyświetla # 103\nurządzenie mocujące typu # 156\npraca wokół: na razie pyton w dół. poprawki # 259",
|
|
81
|
-
"uk": "додавання підтримки типу текстового пристрою #141, відображення #103\nзафіксувати тип пристрою кришки #156\nробота: python тепер. застібки #259",
|
|
82
|
-
"zh-cn": "添加文本设备类型 # 141, 显示 # 103\n固定封面设备类型 # 156\n工作间距: 现在降级的蟒蛇。 修正 # 259"
|
|
83
|
-
},
|
|
84
|
-
"0.6.1": {
|
|
85
|
-
"en": "Update esphome\nOptimize admin configuration interface\nOptimize backend handling of device discovery\nCapability to select ESPHome Dashboard version added, resolves #118",
|
|
86
|
-
"de": "Update esphome\nOptimieren der Admin-Konfigurationsschnittstelle\nOptimieren Sie das Backend-Handling der Geräteentdeckung\nMöglichkeit, ESPHome Dashboard-Version hinzugefügt zu wählen, löst #118",
|
|
87
|
-
"ru": "Обновление esphome\nОптимизируйте интерфейс конфигурации admin\nОптимизируйте обратную обработку обнаружения устройства\nВозможность выбора добавленной версии ESPHome Dashboard, решает #118",
|
|
88
|
-
"pt": "Atualizar esphome\nOtimizar a interface de configuração de administrador\nOtimizar o manuseio de backend da descoberta do dispositivo\nCapacidade de selecionar ESPHome Dashboard versão adicionada, resolve #118",
|
|
89
|
-
"nl": "Esphome bijwerken\nAdmin configuratie interface optimaliseren\nOptimaliseer backend behandeling van apparaatontdekking\nMogelijkheid om ESPHome Dashboard versie toegevoegd te selecteren, lost #118 op",
|
|
90
|
-
"fr": "Mettre à jour l'esphome\nOptimiser l'interface de configuration de l'administration\nOptimiser la gestion du moteur de la découverte de l'appareil\nCapacité de sélectionner la version ESPHome Dashboard ajoutée, résout #118",
|
|
91
|
-
"it": "Aggiornamento esphome\nOttimizzare l'interfaccia di configurazione di amministratore\nOttimizzare la gestione backend della scoperta del dispositivo\nCapacità di selezionare la versione di ESPHome Dashboard aggiunta, risolve #118",
|
|
92
|
-
"es": "Actualizar esphome\nOptimize admin configuración interface\nOptimize backend handling of device discovery\nCapacidad para seleccionar la versión ESPHome Dashboard añadido, resuelve #118",
|
|
93
|
-
"pl": "Uaktualnij esphome\nOptymalizacja interfejsu konfiguracyjnego administratora\nOptymalizacja obsługi urządzenia\nMożliwość wyboru wersji ESPHome Dashboard dodano, rozwiązuje # 118",
|
|
94
|
-
"uk": "Оновлення esphome\nОптимальний інтерфейс конфігурації адміністратора\nОптимізуйте зворотну обробку пристрою\nМожливість вибору ESPHome Dashboard додано, вирішує #118",
|
|
95
|
-
"zh-cn": "更新 esphome\n优化管理员配置接口\n优化设备发现的后端处理\n选择 ESPHome Dashboard 版本的能力已添加, 解决 # 118"
|
|
96
96
|
}
|
|
97
97
|
},
|
|
98
98
|
"titleLang": {
|
package/lib/adapter-config.d.ts
CHANGED
|
@@ -2,18 +2,18 @@
|
|
|
2
2
|
// using the actual properties present in io-package.json
|
|
3
3
|
// in order to provide typings for adapter.config properties
|
|
4
4
|
|
|
5
|
-
import type { native } from
|
|
5
|
+
import type { native } from '../io-package.json';
|
|
6
6
|
|
|
7
7
|
type _AdapterConfig = typeof native;
|
|
8
8
|
|
|
9
9
|
// Augment the globally declared type ioBroker.AdapterConfig
|
|
10
10
|
declare global {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
11
|
+
namespace ioBroker {
|
|
12
|
+
// eslint-disable-next-line @typescript-eslint/no-empty-object-type
|
|
13
|
+
interface AdapterConfig extends _AdapterConfig {
|
|
14
|
+
// Do not enter anything here!
|
|
15
|
+
}
|
|
15
16
|
}
|
|
16
|
-
}
|
|
17
17
|
}
|
|
18
18
|
|
|
19
19
|
// this is required so the above AdapterConfig is found by TypeScript / type checking
|
package/lib/helpers.js
CHANGED
|
@@ -14,22 +14,22 @@
|
|
|
14
14
|
// * @param {string | undefined} [deviceFriendlyName] Friendly name of a device taken from YAML configuration
|
|
15
15
|
*/
|
|
16
16
|
class DeviceInfo {
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
17
|
+
//ToDO: this object should have deeper typ-definition to ensure code & module events are verified
|
|
18
|
+
adapterObjects = {
|
|
19
|
+
channels: [],
|
|
20
|
+
};
|
|
21
|
+
client = null;
|
|
22
|
+
connected = false;
|
|
23
|
+
connecting = false;
|
|
24
|
+
connectionError = false;
|
|
25
|
+
connectStatus = 'Initialisation needed';
|
|
26
|
+
deletionRequested = false;
|
|
27
|
+
deviceFriendlyName = null;
|
|
28
|
+
deviceInfo = null;
|
|
29
|
+
deviceName = null;
|
|
30
|
+
initialized = false;
|
|
31
|
+
ip = null;
|
|
32
|
+
mac = null;
|
|
33
33
|
}
|
|
34
34
|
|
|
35
35
|
/**
|
|
@@ -44,82 +44,70 @@ class DeviceInfo {
|
|
|
44
44
|
* @param {string | undefined} [deviceFriendlyName] Friendly name of a device taken from YAML configuration
|
|
45
45
|
*/
|
|
46
46
|
class ClientDetails extends DeviceInfo {
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
this.apiPassword = apiPassword;
|
|
68
|
-
this.deviceFriendlyName = deviceFriendlyName
|
|
69
|
-
? deviceFriendlyName
|
|
70
|
-
: "Initialisation needed";
|
|
71
|
-
this.deviceName = deviceName ? deviceName : "Initialisation needed";
|
|
72
|
-
this.ip = ip;
|
|
73
|
-
this.mac = macAddress = macAddress ? macAddress : "Initialisation needed";
|
|
74
|
-
this.encryptionKey = encryptionKey;
|
|
75
|
-
this.encryptionKeyUsed = encryptionKeyUsed ? encryptionKeyUsed : false;
|
|
76
|
-
}
|
|
47
|
+
/**
|
|
48
|
+
* Store mandatory connection details
|
|
49
|
+
*
|
|
50
|
+
* @param {string} ip IP-Address of device
|
|
51
|
+
* @param {boolean} encryptionKeyUsed Indicated if encryption must be used
|
|
52
|
+
* @param {string} [apiPassword] API password of device
|
|
53
|
+
* @param {string} [encryptionKey] Encryption key of device
|
|
54
|
+
* @param {string | undefined} [macAddress] MAC-Address of a device
|
|
55
|
+
* @param {string | undefined} [deviceName] Name of a device (MAC address without ":")
|
|
56
|
+
* @param {string | undefined} [deviceFriendlyName] Friendly name of a device taken from YAML configuration
|
|
57
|
+
*/
|
|
58
|
+
storeConnectDetails(ip, encryptionKeyUsed, apiPassword, encryptionKey, macAddress, deviceName, deviceFriendlyName) {
|
|
59
|
+
this.apiPassword = apiPassword;
|
|
60
|
+
this.deviceFriendlyName = deviceFriendlyName ? deviceFriendlyName : 'Initialisation needed';
|
|
61
|
+
this.deviceName = deviceName ? deviceName : 'Initialisation needed';
|
|
62
|
+
this.ip = ip;
|
|
63
|
+
this.mac = macAddress = macAddress ? macAddress : 'Initialisation needed';
|
|
64
|
+
this.encryptionKey = encryptionKey;
|
|
65
|
+
this.encryptionKeyUsed = encryptionKeyUsed ? encryptionKeyUsed : false;
|
|
66
|
+
}
|
|
77
67
|
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
this.encryptionKeyUsed = encryptionKeyUsed ? encryptionKeyUsed : false;
|
|
122
|
-
}
|
|
68
|
+
/**
|
|
69
|
+
* Store mandatory connection details of already known device
|
|
70
|
+
*
|
|
71
|
+
* @param {string} ip IP-Address of device
|
|
72
|
+
* @param {string} macAddress MAC-Address of a device
|
|
73
|
+
* @param {string} deviceName Name of a device (MAC address without ":")
|
|
74
|
+
* @param {string} deviceFriendlyName Friendly name of a device taken from YAML configuration
|
|
75
|
+
*/
|
|
76
|
+
storeDiscoveredDevice(ip, macAddress, deviceName, deviceFriendlyName) {
|
|
77
|
+
this.connectStatus = 'newly discovered';
|
|
78
|
+
this.deviceFriendlyName = deviceFriendlyName;
|
|
79
|
+
this.deviceName = deviceName;
|
|
80
|
+
this.ip = ip;
|
|
81
|
+
this.mac = macAddress;
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Store mandatory connection details of already known device
|
|
85
|
+
*
|
|
86
|
+
* @param {string} ip IP-Address of device
|
|
87
|
+
* @param {boolean} encryptionKeyUsed Indicated if encryption must be used
|
|
88
|
+
* @param {string | undefined} macAddress MAC-Address of a device
|
|
89
|
+
* @param {string | undefined} deviceName Name of a device (MAC address without ":")
|
|
90
|
+
* @param {string | undefined} deviceFriendlyName Friendly name of a device taken from YAML configuration
|
|
91
|
+
* @param {string} [apiPassword] API password of device
|
|
92
|
+
* @param {string} [encryptionKey] Encryption key of device
|
|
93
|
+
*/
|
|
94
|
+
storeExistingDetails(
|
|
95
|
+
ip,
|
|
96
|
+
encryptionKeyUsed,
|
|
97
|
+
macAddress,
|
|
98
|
+
deviceName,
|
|
99
|
+
deviceFriendlyName,
|
|
100
|
+
apiPassword,
|
|
101
|
+
encryptionKey,
|
|
102
|
+
) {
|
|
103
|
+
this.apiPassword = !encryptionKeyUsed ? apiPassword : null;
|
|
104
|
+
this.deviceFriendlyName = deviceFriendlyName ? deviceFriendlyName : 'Initialisation needed';
|
|
105
|
+
this.deviceName = deviceName ? deviceName : 'Initialisation needed';
|
|
106
|
+
this.ip = ip;
|
|
107
|
+
this.mac = macAddress = macAddress ? macAddress : 'Initialisation needed';
|
|
108
|
+
this.encryptionKey = encryptionKeyUsed ? encryptionKey : null;
|
|
109
|
+
this.encryptionKeyUsed = encryptionKeyUsed ? encryptionKeyUsed : false;
|
|
110
|
+
}
|
|
123
111
|
}
|
|
124
112
|
|
|
125
113
|
module.exports = ClientDetails;
|