iobroker.esphome 0.6.2 → 0.7.0-beta.0
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 +1 -1
- package/README.md +180 -12
- package/admin/admin.d.ts +73 -70
- package/admin/i18n/de/translations.json +28 -8
- package/admin/i18n/en/translations.json +23 -3
- package/admin/i18n/es/translations.json +21 -1
- package/admin/i18n/fr/translations.json +21 -1
- package/admin/i18n/it/translations.json +21 -1
- package/admin/i18n/nl/translations.json +21 -1
- package/admin/i18n/pl/translations.json +21 -1
- package/admin/i18n/pt/translations.json +21 -1
- package/admin/i18n/ru/translations.json +21 -1
- package/admin/i18n/uk/translations.json +62 -0
- package/admin/i18n/zh-cn/translations.json +21 -1
- package/admin/jsonConfig.json5 +411 -35
- package/admin/tsconfig.json +9 -0
- package/admin/words.js +46 -40
- package/io-package.json +41 -38
- package/lib/adapter-config.d.ts +8 -7
- package/lib/helpers.js +96 -84
- package/lib/stateAttr.js +44 -44
- package/lib/tools.js +66 -60
- package/lib/yamlFileManager.js +274 -0
- package/main.js +2438 -1716
- package/package.json +29 -35
- package/CHANGELOG_OLD.md +0 -90
- package/CODE_OF_CONDUCT.md +0 -37
- package/gulpfile.js.map +0 -1
- package/main.js.map +0 -1
- package/main.test.js +0 -31
- package/main.test.js.map +0 -1
package/LICENSE
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
MIT License
|
|
2
2
|
|
|
3
|
-
Copyright (c) 2023-
|
|
3
|
+
Copyright (c) 2023-2026 DutchmanNL <rdrozda86@gmail.com>
|
|
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
|
@@ -23,8 +23,107 @@ Native integration of ESPHome managed device (Including Dashboard) by its native
|
|
|
23
23
|
|
|
24
24
|

|
|
25
25
|
|
|
26
|
-
|
|
26
|
+
**Quick Links:**
|
|
27
|
+
- 📋 [FAQ - Common Questions](#frequently-asked-questions-faq)
|
|
28
|
+
- ⚙️ [Prerequisites & Setup](#prerequisites)
|
|
29
|
+
- 🎛️ [Dashboard Integration](#esphome-dashboard-integration-optional)
|
|
30
|
+
- 📱 [Device Management](#device-management)
|
|
31
|
+
- 🔧 [Configuration Examples](#example-config)
|
|
27
32
|
|
|
33
|
+
This adapter uses the [esphome-native-api](https://github.com/twocolors/esphome-native-api#readme) with all credits to @twocolors to interact with [ESPHome API](https://esphome.io/components/api.html?highlight=api)!
|
|
34
|
+
|
|
35
|
+
## Frequently Asked Questions (FAQ)
|
|
36
|
+
|
|
37
|
+
### What's the difference between the ioBroker ESPHome Adapter and ESPHome Dashboard?
|
|
38
|
+
|
|
39
|
+
**ioBroker ESPHome Adapter:**
|
|
40
|
+
- Integrates your ESPHome devices into ioBroker for home automation control
|
|
41
|
+
- Communicates directly with ESP devices via ESPHome's native API
|
|
42
|
+
- Creates ioBroker states/objects for device control and monitoring
|
|
43
|
+
- Handles real-time device status updates (no polling required)
|
|
44
|
+
- Manages device configuration within ioBroker
|
|
45
|
+
|
|
46
|
+
**ESPHome Dashboard:**
|
|
47
|
+
- A web interface for creating, editing, and managing ESPHome device configurations
|
|
48
|
+
- Used for writing YAML configs, compiling firmware, and flashing devices
|
|
49
|
+
- Can be integrated into ioBroker's admin interface as an optional feature
|
|
50
|
+
- Can be run either integrated with this adapter or as an external installation (Docker, standalone)
|
|
51
|
+
|
|
52
|
+
**In Summary:** The adapter controls your devices within ioBroker, while the dashboard manages device configurations and firmware.
|
|
53
|
+
|
|
54
|
+
### How do I configure the Dashboard IP selector?
|
|
55
|
+
|
|
56
|
+
The Dashboard IP setting in the adapter configuration serves different purposes:
|
|
57
|
+
|
|
58
|
+
**For Integrated Dashboard Tab in ioBroker Admin:**
|
|
59
|
+
1. Enter the IP address and port where your ESPHome Dashboard is running
|
|
60
|
+
2. **Built-in Dashboard:** Use the IP address of your ioBroker host (e.g., `192.168.1.10:6052`)
|
|
61
|
+
- **Important:** Do NOT use `127.0.0.1:6052` if you access ioBroker from other devices - the embedded iframe will try to reach 127.0.0.1 from the client's browser, not the ioBroker server
|
|
62
|
+
- Only use `127.0.0.1:6052` if you ONLY access ioBroker admin from the same machine where ioBroker is running
|
|
63
|
+
3. **External Dashboard:** Use the IP:port of your external ESPHome installation (e.g., `192.168.1.100:6052`)
|
|
64
|
+
4. **HTTPS Setup:** For HTTPS environments, see the detailed HTTPS configuration section below
|
|
65
|
+
|
|
66
|
+
**Dashboard IP Examples:**
|
|
67
|
+
- Built-in (accessed from network): `192.168.1.10:6052` (replace with your ioBroker host IP)
|
|
68
|
+
- Built-in (local only): `127.0.0.1:6052` (only if admin accessed on same machine)
|
|
69
|
+
- External Host: `esphome.local:6052` or `192.168.1.100:6052`
|
|
70
|
+
- HTTPS Proxy: `https://192.168.1.50:8082/proxy.0/esphome/`
|
|
71
|
+
|
|
72
|
+

|
|
73
|
+
|
|
74
|
+
**Note:** You can use this adapter to control ESPHome devices without configuring the Dashboard IP. The Dashboard IP is only needed if you want to integrate the ESPHome Dashboard interface into ioBroker's admin panel.
|
|
75
|
+
|
|
76
|
+
### Do I need the ESPHome Dashboard to use this adapter?
|
|
77
|
+
|
|
78
|
+
**No, the Dashboard is optional.** You can use this adapter in several ways:
|
|
79
|
+
|
|
80
|
+
1. **Adapter Only:** Control pre-configured ESPHome devices without any dashboard integration
|
|
81
|
+
2. **Adapter + External Dashboard:** Use your existing ESPHome installation (Docker, standalone) and optionally integrate it into ioBroker's interface
|
|
82
|
+
3. **Adapter + Built-in Dashboard:** Enable the integrated ESPHome Dashboard feature for a complete solution
|
|
83
|
+
|
|
84
|
+
The adapter works independently and only requires devices with ESPHome API enabled in their configuration.
|
|
85
|
+
|
|
86
|
+
### How do I add devices to the adapter?
|
|
87
|
+
|
|
88
|
+
1. **Ensure ESPHome API is enabled** in your device's YAML configuration (see Prerequisites section)
|
|
89
|
+
2. **Open the adapter's device tab** in ioBroker Admin (adapter must be running)
|
|
90
|
+
3. **Add devices manually:** Enter device IP address and authentication credentials
|
|
91
|
+
4. **Automatic discovery:** Use the autodiscovery feature if enabled in adapter settings
|
|
92
|
+
|
|
93
|
+
The adapter will establish a connection and create all necessary ioBroker objects for device control.
|
|
94
|
+
|
|
95
|
+
### I configured a device in the ESPHome Dashboard, but it doesn't show up in the adapter
|
|
96
|
+
|
|
97
|
+
**Important:** The adapter and dashboard are completely separate components with no automatic integration. The adapter can optionally install (and start) the dashboard for you, just for convenience. Again, this does not mean there is any integration between them.
|
|
98
|
+
|
|
99
|
+
- **Dashboard:** Used for creating/editing YAML configs, compiling firmware, and flashing devices
|
|
100
|
+
- **Adapter:** Used for controlling devices and synchronizing their state with ioBroker
|
|
101
|
+
|
|
102
|
+
**To make a dashboard-configured device work with the adapter:**
|
|
103
|
+
1. Flash the device with the configuration from the dashboard (ensure ESPHome API is enabled in YAML)
|
|
104
|
+
2. Manually add the device in the adapter settings (device tab). Enter IP/hostname and encryption key (recommended) or password (legacy)
|
|
105
|
+
3. The adapter will then connect to the device via ESPHome's native API
|
|
106
|
+
|
|
107
|
+
**Note:** Future tighter integration between dashboard and adapter may be implemented (see issue #228), but currently they operate independently.
|
|
108
|
+
|
|
109
|
+
### I configured a device in the adapter, but it doesn't show up in the dashboard
|
|
110
|
+
|
|
111
|
+
**This is expected behavior** - the adapter and dashboard do not automatically sync device configurations.
|
|
112
|
+
|
|
113
|
+
- The **adapter** connects to devices via ESPHome's native API for control/monitoring
|
|
114
|
+
- The **dashboard** manages YAML configurations and firmware compilation
|
|
115
|
+
|
|
116
|
+
**If you want the device in the dashboard:**
|
|
117
|
+
|
|
118
|
+
**Option 1:**
|
|
119
|
+
1. The ESPHome Dashboard can discover devices in the same network automatically
|
|
120
|
+
2. In the dashboard, discovered devices will show with an "ADOPT" button
|
|
121
|
+
3. Click "ADOPT" to add them to your dashboard for configuration management
|
|
122
|
+
|
|
123
|
+
**Option 2:**
|
|
124
|
+
- Create a new device in the dashboard and copy your existing yaml into there.
|
|
125
|
+
|
|
126
|
+
**Note:** You don't need devices in the dashboard if you only want to control them via ioBroker. The dashboard is only needed for creating/modifying device configurations.
|
|
28
127
|
|
|
29
128
|
<!--
|
|
30
129
|
## [Documentation](https://DrozmotiX.github.io/languages/en/Adapter/ESPHome/)
|
|
@@ -39,11 +138,29 @@ All our adapter documentation can be found at [The DrozmotiX Docu Page](https://
|
|
|
39
138
|
* For admin tabs (optional)
|
|
40
139
|
* ESPHome Dashboard IP is provided in instance settings
|
|
41
140
|
|
|
42
|
-
##
|
|
43
|
-
|
|
44
|
-
|
|
141
|
+
## ESPHome Dashboard Integration (Optional)
|
|
142
|
+
|
|
143
|
+
This adapter can optionally integrate the ESPHome Dashboard into ioBroker's admin interface. You have several options:
|
|
45
144
|
|
|
46
|
-
|
|
145
|
+
**Option 1: Built-in Dashboard (Recommended for beginners)**
|
|
146
|
+
- Enable "Native Integration of ESPHome Dashboard" in adapter settings
|
|
147
|
+
- Uses integrated Python environment (no external setup required)
|
|
148
|
+
- Dashboard runs on port 6052 by default
|
|
149
|
+
- Set Dashboard IP to `127.0.0.1:6052` for admin integration
|
|
150
|
+
|
|
151
|
+
**Option 2: External Dashboard**
|
|
152
|
+
- Use existing ESPHome installation (Docker, standalone, etc.)
|
|
153
|
+
- Enter the external dashboard's IP:port in adapter settings
|
|
154
|
+
- Example: `192.168.1.100:6052` for Docker container
|
|
155
|
+
|
|
156
|
+
**Option 3: No Dashboard Integration**
|
|
157
|
+
- Skip dashboard configuration entirely
|
|
158
|
+
- Use external ESPHome tools for device configuration
|
|
159
|
+
- Adapter still controls devices normally
|
|
160
|
+
|
|
161
|
+

|
|
162
|
+
|
|
163
|
+
> **💡 See FAQ above** for detailed explanations about Dashboard IP configuration and adapter vs. dashboard differences.
|
|
47
164
|
|
|
48
165
|
### Using HTTPS
|
|
49
166
|
|
|
@@ -89,6 +206,8 @@ api:
|
|
|
89
206
|
password: 'MyPassword'
|
|
90
207
|
```
|
|
91
208
|
|
|
209
|
+
## Device Management
|
|
210
|
+
|
|
92
211
|
### Add / Modify / Remove ESPHome devices to ioBroker
|
|
93
212
|
> [!IMPORTANT]
|
|
94
213
|
> This adapter integrates communication with ESPHome capable devices and
|
|
@@ -97,6 +216,8 @@ api:
|
|
|
97
216
|
> either by using the integrated Dashboard or an external alternative
|
|
98
217
|
> (like Docker) before they can be integrated to ioBroker
|
|
99
218
|
|
|
219
|
+
> **💡 See FAQ above** for step-by-step guidance on adding devices to the adapter.
|
|
220
|
+
|
|
100
221
|
The device Tab will show all current known devices; you can either wait for Devices to be autodetect
|
|
101
222
|
(currently disabled, see #175) or add them manually by providing their IP-Address and credentials
|
|
102
223
|
|
|
@@ -130,6 +251,41 @@ During this process, states not part anymore of YAML configuration will be autom
|
|
|
130
251
|
|
|
131
252
|

|
|
132
253
|
|
|
254
|
+
### YAML File Management
|
|
255
|
+
|
|
256
|
+
The adapter provides a convenient interface for managing YAML configuration files directly from the admin UI. This feature allows you to upload, download, and manage YAML files that are stored in the ESPHome directory and can be used by the ESPHome Dashboard.
|
|
257
|
+
|
|
258
|
+
#### Features
|
|
259
|
+
|
|
260
|
+
- **Upload YAML Files**: Paste your YAML configuration content directly into the admin interface and upload it to the ESPHome directory
|
|
261
|
+
- **View File List**: See all YAML files currently stored in the ESPHome directory with file size and modification date
|
|
262
|
+
- **Download Files**: Retrieve the content of any YAML file for editing or backup
|
|
263
|
+
- **Delete Files**: Remove YAML files that are no longer needed
|
|
264
|
+
|
|
265
|
+
#### How to Use
|
|
266
|
+
|
|
267
|
+
1. **Navigate to the "YAML Files" tab** in the adapter configuration
|
|
268
|
+
2. **Upload a new file**:
|
|
269
|
+
- Enter a filename (must end with .yaml or .yml)
|
|
270
|
+
- Paste your YAML configuration content
|
|
271
|
+
- Click "Upload File"
|
|
272
|
+
3. **Refresh the file list** to see all available YAML files
|
|
273
|
+
4. **Download or delete files**:
|
|
274
|
+
- Enter the filename in the "Select file" field
|
|
275
|
+
- Click "Download File" to view the content or "Delete File" to remove it
|
|
276
|
+
|
|
277
|
+
> [!NOTE]
|
|
278
|
+
> Files are stored in the ESPHome directory: `/opt/iobroker/iobroker-data/esphome.<instance>/`
|
|
279
|
+
>
|
|
280
|
+
> This is the same directory used by the ESPHome Dashboard, so files uploaded through the adapter
|
|
281
|
+
> are immediately available in the Dashboard and vice versa.
|
|
282
|
+
|
|
283
|
+
> [!TIP]
|
|
284
|
+
> This feature is particularly useful when:
|
|
285
|
+
> - You want to quickly edit configurations without accessing the server file system
|
|
286
|
+
> - You need to backup or share device configurations
|
|
287
|
+
> - You want to manage YAML files without running the full ESPHome Dashboard
|
|
288
|
+
|
|
133
289
|
### Example config
|
|
134
290
|
Example config, for more examples see [The DrozmotiX Docu Page](https://DrozmotiX.github.io) or [ESPHome Documentation](https://esphome.io/index.html)
|
|
135
291
|
|
|
@@ -198,6 +354,24 @@ If you like my work, please consider a personal donation
|
|
|
198
354
|
### __WORK IN PROGRESS__
|
|
199
355
|
* (DutchmanNL)
|
|
200
356
|
-->
|
|
357
|
+
### 0.7.0-beta.0 (2026-02-15) - Improve Dashboard & allow file upload
|
|
358
|
+
* (@copilot) **FIXED**: Invalid jsonConfig schema - removed unsupported `doNotSave` property from table elements
|
|
359
|
+
* (@copilot) **NEW**: YAML file management interface in admin UI for upload/download/delete operations (#369)
|
|
360
|
+
* (@SimonFischer04) improve logging for #201
|
|
361
|
+
* (@SimonFischer04) automatic migration from versions prior to ESPHomeDashboardUrl introduction (pre v0.6.1)
|
|
362
|
+
* (@SimonFischer04) update pillow
|
|
363
|
+
* (@SimonFischer04) fix readme link to lib
|
|
364
|
+
* (@SimonFischer04) fix connection status #311
|
|
365
|
+
* (@SimonFischer04) remove unneeded node-fetch dependency
|
|
366
|
+
|
|
367
|
+
### 0.6.3 (2025-09-16)
|
|
368
|
+
* (@DutchmanNL) Fixed an admin error related to `jsonConfig` validation. #287
|
|
369
|
+
* (@DutchmanNL) Various general fixes and dependency updates to improve stability.
|
|
370
|
+
* (@DutchmanNL) Improved responsive design for better usability across devices. #284
|
|
371
|
+
* (@DutchmanNL) Introduced GitHub Actions to automatically verify the ESPHome Dashboard. #290
|
|
372
|
+
* (@DutchmanNL) Added a comprehensive FAQ section to the README to help users with common questions. #286
|
|
373
|
+
* (@DutchmanNL) Updated the `esphome-native-api` library to V1.3.3, which may resolve connection issues. #201
|
|
374
|
+
|
|
201
375
|
### 0.6.2 (2025-08-08)
|
|
202
376
|
* (@SimonFischer04) add support for text device type #141, displays #103
|
|
203
377
|
* (@SimonFischer04) fix cover device type #156
|
|
@@ -214,16 +388,10 @@ If you like my work, please consider a personal donation
|
|
|
214
388
|
* (DutchmanNL) Ensures a compatible pillow version is used (10.0.1)
|
|
215
389
|
* (SimonFischer04) Add pillow python package by default, resolves #188
|
|
216
390
|
|
|
217
|
-
### 0.5.0-beta.4 (2023-11-15)
|
|
218
|
-
* (DutchmanNL) Refactor memory caching of device data, resolves #189
|
|
219
|
-
|
|
220
|
-
### 0.5.0-beta.1 (2023-11-12)
|
|
221
|
-
* (DutchmanNL) Only show error messages once for unreachable devices
|
|
222
|
-
|
|
223
391
|
## License
|
|
224
392
|
MIT License
|
|
225
393
|
|
|
226
|
-
Copyright (c) 2023-
|
|
394
|
+
Copyright (c) 2023-2026 DutchmanNL <rdrozda86@gmail.com>
|
|
227
395
|
|
|
228
396
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
229
397
|
of this software and associated documentation files (the "Software"), to deal
|
package/admin/admin.d.ts
CHANGED
|
@@ -1,93 +1,96 @@
|
|
|
1
1
|
declare let systemDictionary: Record<string, Record<string, string>>;
|
|
2
2
|
|
|
3
|
-
declare let load: (
|
|
4
|
-
|
|
3
|
+
declare let load: (
|
|
4
|
+
settings: Record<string, unknown>,
|
|
5
|
+
onChange: (hasChanges: boolean) => void,
|
|
6
|
+
) => void;
|
|
7
|
+
declare let save: (
|
|
8
|
+
callback: (settings: Record<string, unknown>) => void,
|
|
9
|
+
) => void;
|
|
5
10
|
|
|
6
11
|
// make load and save exist on the window object
|
|
7
12
|
interface Window {
|
|
8
|
-
|
|
9
|
-
|
|
13
|
+
load: typeof load;
|
|
14
|
+
save: typeof save;
|
|
10
15
|
}
|
|
11
16
|
|
|
12
17
|
declare const instance: number;
|
|
13
18
|
declare const adapter: string;
|
|
14
|
-
/**
|
|
19
|
+
/**
|
|
20
|
+
* Translates text
|
|
21
|
+
*
|
|
22
|
+
* @param text - The text to translate
|
|
23
|
+
*/
|
|
15
24
|
declare function _(text: string): string;
|
|
16
25
|
declare const socket: ioBrokerSocket;
|
|
17
26
|
declare function sendTo(
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
27
|
+
instance: null,
|
|
28
|
+
command: string,
|
|
29
|
+
message: any,
|
|
30
|
+
callback: (result: SendToResult) => void | Promise<void>,
|
|
22
31
|
): void;
|
|
23
32
|
|
|
24
33
|
interface SendToResult {
|
|
25
|
-
|
|
26
|
-
|
|
34
|
+
error?: string | Error;
|
|
35
|
+
result?: any;
|
|
27
36
|
}
|
|
28
37
|
|
|
29
38
|
// tslint:disable-next-line:class-name
|
|
30
39
|
interface ioBrokerSocket {
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
40
|
+
emit(
|
|
41
|
+
command: "subscribeObjects",
|
|
42
|
+
pattern: string,
|
|
43
|
+
callback?: (err?: string) => void | Promise<void>,
|
|
44
|
+
): void;
|
|
45
|
+
emit(
|
|
46
|
+
command: "subscribeStates",
|
|
47
|
+
pattern: string,
|
|
48
|
+
callback?: (err?: string) => void | Promise<void>,
|
|
49
|
+
): void;
|
|
50
|
+
emit(
|
|
51
|
+
command: "unsubscribeObjects",
|
|
52
|
+
pattern: string,
|
|
53
|
+
callback?: (err?: string) => void | Promise<void>,
|
|
54
|
+
): void;
|
|
55
|
+
emit(
|
|
56
|
+
command: "unsubscribeStates",
|
|
57
|
+
pattern: string,
|
|
58
|
+
callback?: (err?: string) => void | Promise<void>,
|
|
59
|
+
): void;
|
|
51
60
|
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
emit(
|
|
75
|
-
event: 'setState',
|
|
76
|
-
id: string,
|
|
77
|
-
state: unknown,
|
|
78
|
-
callback: (err: string | undefined, result?: any) => void,
|
|
79
|
-
): void;
|
|
61
|
+
emit(
|
|
62
|
+
event: "getObjectView",
|
|
63
|
+
view: "system",
|
|
64
|
+
type: "device",
|
|
65
|
+
options: ioBroker.GetObjectViewParams,
|
|
66
|
+
callback: (err: string | undefined, result?: any) => void | Promise<void>,
|
|
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;
|
|
80
83
|
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
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;
|
|
91
94
|
|
|
92
|
-
|
|
95
|
+
// TODO: other events
|
|
93
96
|
}
|
|
@@ -1,18 +1,23 @@
|
|
|
1
1
|
{
|
|
2
|
-
"ESPHomeCommunityLink": "Weitere Informationen zu ESPHome, Beispielkonfigurationen und Links zu Communities
|
|
3
|
-
"chkEnableESPHome": "
|
|
2
|
+
"ESPHomeCommunityLink": "Weitere Informationen zu ESPHome, Beispielkonfigurationen und Links zu Communities sind hier zu finden:",
|
|
3
|
+
"chkEnableESPHome": "ESPHome-Dashboard aktivieren",
|
|
4
|
+
"cnfDeleteYamlCancel": "Cancel",
|
|
5
|
+
"cnfDeleteYamlOk": "Delete",
|
|
6
|
+
"cnfDeleteYamlText": "Are you sure you want to delete this file?",
|
|
7
|
+
"cnfDeleteYamlTitle": "Confirm file deletion",
|
|
4
8
|
"existDevicesHeader": "Alle von diesem Adapter verwalteten Geräte und deren Verbindungsstatus",
|
|
5
|
-
"hlpDiscoveryListeningAddress": "
|
|
6
|
-
"hlpESPHomeDashboardVersion": "
|
|
9
|
+
"hlpDiscoveryListeningAddress": "Nur Geräte auf dieser Schnittstelle erkennen",
|
|
10
|
+
"hlpESPHomeDashboardVersion": "Auswählen welche Version von ESPHome Dashboard verwendet werden soll",
|
|
7
11
|
"hlpInputApiPassword": "API-Passwort (alt, bitte Verschlüsselungsschlüssel verwenden!)",
|
|
8
|
-
"hlpInputDeviceIP": "
|
|
9
|
-
"hlpInputEncryptionKey": "
|
|
10
|
-
"
|
|
12
|
+
"hlpInputDeviceIP": "Ein vorhandenes Gerät auswählen oder die IP des neuen Geräts eingeben",
|
|
13
|
+
"hlpInputEncryptionKey": "Einen gerätespezifischen Verschlüsselungsschlüssel angeben (bevorzugt)",
|
|
14
|
+
"hlpSelectedFilename": "Enter the filename from the table above to download or delete it",
|
|
15
|
+
"introLine-1": "Mit ioBroker ESPHome kann man ESPHome-fähige Geräte verwalten und steuern. Diese Binärdateien müssen selbst erstellt und hochgeladen werden!",
|
|
11
16
|
"introLine-2": "Zum Erstellen dieser Binärdateien ist ESPHome Dashboard erforderlich.",
|
|
12
17
|
"lblApiPass": "API-Passwort (Legacy)",
|
|
13
18
|
"lblAutoDiscovery": "Geräteerkennung aktiviert",
|
|
14
19
|
"lblConnectDetails-Line-1": "Die native ESPHome-API wird für die direkte Kommunikation mit Clients über ein hochoptimiertes Netzwerkprotokoll verwendet.",
|
|
15
|
-
"lblConnectDetails-Line-2": "Nachdem
|
|
20
|
+
"lblConnectDetails-Line-2": "Nachdem der ESPHome-Konfiguration eine api:-Zeile hinzugefügt wurde, kann man zu dieser Seite gehen und warten, bis das ESPHome-Gerät im Abschnitt „Erkannte Geräte“ angezeigt wird (kann bis zu 5 Minuten dauern) oder das Gerät manuell hinzugefügt werden, indem man „Gerät hinzufügen“ wählt.",
|
|
16
21
|
"lblConnectDetails-Line-3": "Die native API von ESPHome basiert auf einem benutzerdefinierten TCP-Protokoll unter Verwendung von Protokollpuffern.",
|
|
17
22
|
"lblConnectIobroker": "ioBroker kommuniziert direkt über die native API statt über MQTT, um Ihnen das bestmögliche Erlebnis und die Unterstützung von Verschlüsselungsschlüsseln (empfohlen) anstelle von API/MQTT-Passwörtern zu bieten",
|
|
18
23
|
"lblDashboardLink": "Um das ESPHome-Dashboard auf der Admin-Registerkarte von ioBroker anzuzeigen, müssen Sie die IP-Adresse angeben, auf der die Installation ausgeführt wird",
|
|
@@ -20,21 +25,36 @@
|
|
|
20
25
|
"lblDefaultCredentials-Line-1": "Jedes Gerät sollte über einen eigenen eindeutigen Verschlüsselungsschlüssel (empfohlen) oder ein API-Passwort verfügen. Die Geräteerkennung (sofern aktiviert) erkennt alle Geräte und versucht, eine Verbindung mit den unten aufgeführten Anmeldeinformationen herzustellen",
|
|
21
26
|
"lblDefaultCredentials-Line-2": "Wenn Sie einen eindeutigen Verschlüsselungsschlüssel (empfohlen) oder ein API-Passwort zuweisen, werden neue Geräte auf der Registerkarte „Erkannte Geräte“ angezeigt (oder müssen hinzugefügt werden) und Sie müssen die eindeutigen Anmeldeinformationen manuell eingeben",
|
|
22
27
|
"lblDelDevice": "Gerät löschen",
|
|
28
|
+
"lblDeleteYamlButton": "Delete File",
|
|
23
29
|
"lblDevicesTable": "Alle aktuellen (bekannten) Geräte und deren Verbindungsstatus",
|
|
24
30
|
"lblDiscoveryListeningAddress": "Anhörungsadresse",
|
|
31
|
+
"lblDownloadYamlButton": "Download File",
|
|
25
32
|
"lblESPHomeDashboardVersion": "ESPHome Dashboard-Version",
|
|
26
33
|
"lblESPHomeIP": "IP-Adresse, unter der ESPHome Dashboard zur Integration in ioBroker Admin ausgeführt wird",
|
|
27
34
|
"lblESPHomePort": "Port des ESPHome-Dashboards",
|
|
28
35
|
"lblEnableESPHome": "Sie können ESPHome Dashboard entweder separat ausführen oder die Option unten aktivieren, um es nativ in ioBroker auszuführen",
|
|
29
36
|
"lblEncryptionKey": "Standardverschlüsselungsschlüssel",
|
|
37
|
+
"lblFileActionsHeader": "File Actions",
|
|
30
38
|
"lblHeaderConnect": "So verbinden Sie ein ESPHome-fähiges Gerät mit ioBroker",
|
|
31
39
|
"lblHeaderMainPage": "ESPHome Dashboard-Integration",
|
|
40
|
+
"lblHeaderYamlManagement": "YAML File Management",
|
|
32
41
|
"lblIgnoreList": "IP-Adressen, die von der Geräteerkennung ausgeschlossen werden sollen",
|
|
33
42
|
"lblInputApiPassword": "API-Passwort",
|
|
34
43
|
"lblInputDeviceIP-content": "Geräte-IP-Adresse",
|
|
35
44
|
"lblInputEncryptionKey": "Verschlüsselungsschlüssel",
|
|
36
45
|
"lblLoadDevices": "Geräteübersicht aktualisieren",
|
|
46
|
+
"lblRefreshYamlFiles": "Refresh File List",
|
|
47
|
+
"lblSelectedFilename": "Select file for download/delete",
|
|
37
48
|
"lblTxtNoButtonsIfNotActive": "Gerätetabelle und Schaltfläche HINZUFÜGEN/Löschen nur verfügbar, wenn der Adapter ausgeführt wird",
|
|
49
|
+
"lblUploadContent": "YAML Content",
|
|
50
|
+
"lblUploadFilename": "Filename (e.g., my-device.yaml)",
|
|
51
|
+
"lblUploadYamlButton": "Upload File",
|
|
52
|
+
"lblUploadYamlHeader": "Upload YAML File",
|
|
53
|
+
"lblUploadYamlInfo": "Paste the content of your YAML file below and provide a filename to upload it to the ESPHome directory.",
|
|
54
|
+
"lblYamlFileUpload": "Upload YAML File",
|
|
55
|
+
"lblYamlFilesHeader": "Available YAML Files",
|
|
56
|
+
"lblYamlFilesTable": "YAML files in ESPHome directory",
|
|
57
|
+
"lblYamlManagementInfo": "Upload, download, and manage YAML configuration files for your ESPHome devices. Files are stored in the ESPHome directory and can be used by the ESPHome Dashboard.",
|
|
38
58
|
"lbl_addUpdateDevice": "Geräte hinzufügen/ändern",
|
|
39
59
|
"maxRetry": "Maximale Verbindungswiederholung, bevor das Gerät als offline betrachtet wird",
|
|
40
60
|
"newDevicesHeader": "Neu entdeckte Geräte, bitte Anmeldedaten angeben!",
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
"lblConnectDetails-Line-2": "After adding an api: line to your ESPHome configuration you can go to this page and and wait for the ESPHome device to show up under the discovered devices section (can take up to 5 minutes) or add the device manually by choosing “add Device” from the devices overview and entering “<NODE_NAME>.local” or the IP address of the unit in the “Host” field.",
|
|
16
16
|
"lblConnectDetails-Line-3": "The ESPHome native API is based on a custom TCP protocol using protocol buffers. You can find the protocol data structure definitions here:",
|
|
17
17
|
"lblConnectIobroker": "ioBroker communicates directly by Native API instead of MQTT to provide you the best possible experience and support of encryption keys (recommend) instead of API/MQTT passwords",
|
|
18
|
-
"lblDashboardLink": "To show ESPHome dashboard in ioBroker admin tab, its required to provide the IP
|
|
18
|
+
"lblDashboardLink": "To show ESPHome dashboard in ioBroker admin tab, its required to provide the IP address on which installation its running. Https is currently not supported",
|
|
19
19
|
"lblDefaultCredentials": "Default API / Encryption keys settings devices (not recommended)",
|
|
20
20
|
"lblDefaultCredentials-Line-1": "Each devices should have its own unique encryption Key (recommended) or API password, device discovery (when enabled) detects all devices and tries to connect with credentials below",
|
|
21
21
|
"lblDefaultCredentials-Line-2": "If you assign an unique encryption key (recommended) or API password, new devices will show up on Discovered Devices tab (or must be added) and you must provide the unique credentials manually",
|
|
@@ -38,5 +38,25 @@
|
|
|
38
38
|
"lbl_addUpdateDevice": "ADD / Modify devices",
|
|
39
39
|
"maxRetry": "Maximum connection retry before considering device as offline",
|
|
40
40
|
"newDevicesHeader": "Newly discovered devices, please provide credentials!",
|
|
41
|
-
"reConInterval": "Setting between ioBroker
|
|
42
|
-
|
|
41
|
+
"reConInterval": "Setting between ioBroker tries to reconnect this device",
|
|
42
|
+
"lblHeaderYamlManagement": "YAML File Management",
|
|
43
|
+
"lblYamlManagementInfo": "Upload, download, and manage YAML configuration files for your ESPHome devices. Files are stored in the ESPHome directory and can be used by the ESPHome Dashboard.",
|
|
44
|
+
"lblUploadYamlHeader": "Upload YAML File",
|
|
45
|
+
"lblUploadYamlInfo": "Paste the content of your YAML file below and provide a filename to upload it to the ESPHome directory.",
|
|
46
|
+
"lblUploadFilename": "Filename (e.g., my-device.yaml)",
|
|
47
|
+
"lblUploadContent": "YAML Content",
|
|
48
|
+
"lblUploadYamlButton": "Upload File",
|
|
49
|
+
"lblYamlFileUpload": "Upload YAML File",
|
|
50
|
+
"lblRefreshYamlFiles": "Refresh File List",
|
|
51
|
+
"lblYamlFilesHeader": "Available YAML Files",
|
|
52
|
+
"lblYamlFilesTable": "YAML files in ESPHome directory",
|
|
53
|
+
"lblFileActionsHeader": "File Actions",
|
|
54
|
+
"lblSelectedFilename": "Select file for download/delete",
|
|
55
|
+
"hlpSelectedFilename": "Enter the filename from the table above to download or delete it",
|
|
56
|
+
"lblDownloadYamlButton": "Download File",
|
|
57
|
+
"lblDeleteYamlButton": "Delete File",
|
|
58
|
+
"cnfDeleteYamlText": "Are you sure you want to delete this file?",
|
|
59
|
+
"cnfDeleteYamlTitle": "Confirm file deletion",
|
|
60
|
+
"cnfDeleteYamlOk": "Delete",
|
|
61
|
+
"cnfDeleteYamlCancel": "Cancel"
|
|
62
|
+
}
|
|
@@ -1,12 +1,17 @@
|
|
|
1
1
|
{
|
|
2
2
|
"ESPHomeCommunityLink": "Para obtener más información sobre ESPHome, configuración de ejemplo y enlaces a comunidades, visite:",
|
|
3
3
|
"chkEnableESPHome": "Habilitar el panel ESPHome",
|
|
4
|
+
"cnfDeleteYamlCancel": "Cancel",
|
|
5
|
+
"cnfDeleteYamlOk": "Delete",
|
|
6
|
+
"cnfDeleteYamlText": "Are you sure you want to delete this file?",
|
|
7
|
+
"cnfDeleteYamlTitle": "Confirm file deletion",
|
|
4
8
|
"existDevicesHeader": "Todos los dispositivos gestionados por este adaptador y su estado de conexión.",
|
|
5
9
|
"hlpDiscoveryListeningAddress": "Descubrir solo dispositivos en esta interfaz",
|
|
6
10
|
"hlpESPHomeDashboardVersion": "Elija qué versión de ESPHome Dashboard debe usarse",
|
|
7
11
|
"hlpInputApiPassword": "Contraseña de API (heredada, ¡use una clave de cifrado!)",
|
|
8
12
|
"hlpInputDeviceIP": "Seleccione el dispositivo existente o ingrese la IP del nuevo dispositivo",
|
|
9
13
|
"hlpInputEncryptionKey": "Proporcionar clave de cifrado específica del dispositivo (preferido)",
|
|
14
|
+
"hlpSelectedFilename": "Enter the filename from the table above to download or delete it",
|
|
10
15
|
"introLine-1": "ioBroker ESPHome permite administrar y controlar dispositivos compatibles con ESPHome. ¡Debe crear y cargar estos archivos binarios usted mismo!",
|
|
11
16
|
"introLine-2": "Se requiere ESPHome Dashboard para crear estos archivos binarios. ",
|
|
12
17
|
"lblApiPass": "Contraseña API nativa predeterminada (heredada)",
|
|
@@ -20,23 +25,38 @@
|
|
|
20
25
|
"lblDefaultCredentials-Line-1": "Cada dispositivo debe tener su propia clave de cifrado única (recomendada) o contraseña API; la detección de dispositivos (cuando está habilitada) detecta todos los dispositivos e intenta conectarse con las siguientes credenciales",
|
|
21
26
|
"lblDefaultCredentials-Line-2": "Si asigna una clave de cifrado única (recomendada) o una contraseña API, los nuevos dispositivos aparecerán en la pestaña Dispositivos descubiertos (o deberán agregarse) y deberá proporcionar las credenciales únicas manualmente.",
|
|
22
27
|
"lblDelDevice": "Eliminar dispositivo",
|
|
28
|
+
"lblDeleteYamlButton": "Delete File",
|
|
23
29
|
"lblDevicesTable": "Todos los dispositivos actuales (conocidos) y su estado de conexión",
|
|
24
30
|
"lblDiscoveryListeningAddress": "dirección de escucha",
|
|
31
|
+
"lblDownloadYamlButton": "Download File",
|
|
25
32
|
"lblESPHomeDashboardVersion": "Versión del panel ESPHome",
|
|
26
33
|
"lblESPHomeIP": "Dirección IP donde se ejecuta ESPHome Dashboard para integrarse en ioBroker Admin",
|
|
27
34
|
"lblESPHomePort": "Puerto de ESPHome Dashboard",
|
|
28
35
|
"lblEnableESPHome": "Puede ejecutar ESPHome Dashboard por separado o activar la siguiente opción para ejecutarlo de forma nativa en ioBroker.",
|
|
29
36
|
"lblEncryptionKey": "Clave de cifrado predeterminada",
|
|
37
|
+
"lblFileActionsHeader": "File Actions",
|
|
30
38
|
"lblHeaderConnect": "Cómo conectar un dispositivo compatible con ESPHome a ioBroker",
|
|
31
39
|
"lblHeaderMainPage": "Integración del panel ESPHome",
|
|
40
|
+
"lblHeaderYamlManagement": "YAML File Management",
|
|
32
41
|
"lblIgnoreList": "Direcciones IP que se excluirán mediante el descubrimiento de dispositivos",
|
|
33
42
|
"lblInputApiPassword": "Contraseña API",
|
|
34
43
|
"lblInputDeviceIP-content": "Dirección IP del dispositivo",
|
|
35
44
|
"lblInputEncryptionKey": "Clave de encriptación",
|
|
36
45
|
"lblLoadDevices": "Actualizar descripción general del dispositivo",
|
|
46
|
+
"lblRefreshYamlFiles": "Refresh File List",
|
|
47
|
+
"lblSelectedFilename": "Select file for download/delete",
|
|
37
48
|
"lblTxtNoButtonsIfNotActive": "La tabla de dispositivos y el botón AGREGAR/Eliminar solo están disponibles si el adaptador está en ejecución",
|
|
49
|
+
"lblUploadContent": "YAML Content",
|
|
50
|
+
"lblUploadFilename": "Filename (e.g., my-device.yaml)",
|
|
51
|
+
"lblUploadYamlButton": "Upload File",
|
|
52
|
+
"lblUploadYamlHeader": "Upload YAML File",
|
|
53
|
+
"lblUploadYamlInfo": "Paste the content of your YAML file below and provide a filename to upload it to the ESPHome directory.",
|
|
54
|
+
"lblYamlFileUpload": "Upload YAML File",
|
|
55
|
+
"lblYamlFilesHeader": "Available YAML Files",
|
|
56
|
+
"lblYamlFilesTable": "YAML files in ESPHome directory",
|
|
57
|
+
"lblYamlManagementInfo": "Upload, download, and manage YAML configuration files for your ESPHome devices. Files are stored in the ESPHome directory and can be used by the ESPHome Dashboard.",
|
|
38
58
|
"lbl_addUpdateDevice": "AGREGAR / Modificar dispositivos",
|
|
39
59
|
"maxRetry": "Reintento máximo de conexión antes de considerar el dispositivo como fuera de línea",
|
|
40
60
|
"newDevicesHeader": "Dispositivos recién descubiertos, proporcione credenciales.",
|
|
41
61
|
"reConInterval": "Configuración entre intentos de ioBroker para volver a conectar este dispositivo"
|
|
42
|
-
}
|
|
62
|
+
}
|