iobroker.esphome 0.6.2 → 0.6.3
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 +98 -7
- package/admin/i18n/en/translations.json +1 -1
- package/admin/i18n/es/translations.json +1 -1
- package/admin/i18n/fr/translations.json +1 -1
- package/admin/i18n/it/translations.json +1 -1
- package/admin/i18n/nl/translations.json +1 -1
- package/admin/i18n/pl/translations.json +1 -1
- package/admin/i18n/pt/translations.json +1 -1
- package/admin/i18n/ru/translations.json +1 -1
- package/admin/i18n/uk/translations.json +42 -0
- package/admin/i18n/zh-cn/translations.json +1 -1
- package/admin/jsonConfig.json5 +105 -24
- package/admin/tsconfig.json +9 -0
- package/admin/words.js +40 -40
- package/io-package.json +233 -216
- package/package.json +20 -23
- 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/README.md
CHANGED
|
@@ -23,8 +23,72 @@ Native integration of ESPHome managed device (Including Dashboard) by its native
|
|
|
23
23
|
|
|
24
24
|

|
|
25
25
|
|
|
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)
|
|
32
|
+
|
|
26
33
|
This adapter uses the [esphome-native-api](https://github.com/Nafaya/esphome-native-api#readme) with all credits to @Nafaya to interact with [ESPHome API](https://esphome.io/components/api.html?highlight=api)!
|
|
27
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 `127.0.0.1:6052` (default for integrated dashboard)
|
|
61
|
+
3. **External Dashboard:** Use the IP:port of your external ESPHome installation (e.g., Docker container)
|
|
62
|
+
4. **HTTPS Setup:** For HTTPS environments, see the detailed HTTPS configuration section below
|
|
63
|
+
|
|
64
|
+
**Dashboard IP Examples:**
|
|
65
|
+
- Built-in: `127.0.0.1:6052`
|
|
66
|
+
- External Docker: `192.168.1.100:6052`
|
|
67
|
+
- External Host: `esphome.local:6052`
|
|
68
|
+
- HTTPS Proxy: `https://192.168.1.50:8082/proxy.0/esphome/`
|
|
69
|
+
|
|
70
|
+

|
|
71
|
+
|
|
72
|
+
**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.
|
|
73
|
+
|
|
74
|
+
### Do I need the ESPHome Dashboard to use this adapter?
|
|
75
|
+
|
|
76
|
+
**No, the Dashboard is optional.** You can use this adapter in several ways:
|
|
77
|
+
|
|
78
|
+
1. **Adapter Only:** Control pre-configured ESPHome devices without any dashboard integration
|
|
79
|
+
2. **Adapter + External Dashboard:** Use your existing ESPHome installation (Docker, standalone) and optionally integrate it into ioBroker's interface
|
|
80
|
+
3. **Adapter + Built-in Dashboard:** Enable the integrated ESPHome Dashboard feature for a complete solution
|
|
81
|
+
|
|
82
|
+
The adapter works independently and only requires devices with ESPHome API enabled in their configuration.
|
|
83
|
+
|
|
84
|
+
### How do I add devices to the adapter?
|
|
85
|
+
|
|
86
|
+
1. **Ensure ESPHome API is enabled** in your device's YAML configuration (see Prerequisites section)
|
|
87
|
+
2. **Open the adapter's device tab** in ioBroker Admin (adapter must be running)
|
|
88
|
+
3. **Add devices manually:** Enter device IP address and authentication credentials
|
|
89
|
+
4. **Automatic discovery:** Currently disabled (see issue #175)
|
|
90
|
+
|
|
91
|
+
The adapter will establish a connection and create all necessary ioBroker objects for device control.
|
|
28
92
|
|
|
29
93
|
<!--
|
|
30
94
|
## [Documentation](https://DrozmotiX.github.io/languages/en/Adapter/ESPHome/)
|
|
@@ -39,11 +103,29 @@ All our adapter documentation can be found at [The DrozmotiX Docu Page](https://
|
|
|
39
103
|
* For admin tabs (optional)
|
|
40
104
|
* ESPHome Dashboard IP is provided in instance settings
|
|
41
105
|
|
|
42
|
-
##
|
|
43
|
-
|
|
44
|
-
|
|
106
|
+
## ESPHome Dashboard Integration (Optional)
|
|
107
|
+
|
|
108
|
+
This adapter can optionally integrate the ESPHome Dashboard into ioBroker's admin interface. You have several options:
|
|
109
|
+
|
|
110
|
+
**Option 1: Built-in Dashboard (Recommended for beginners)**
|
|
111
|
+
- Enable "Native Integration of ESPHome Dashboard" in adapter settings
|
|
112
|
+
- Uses integrated Python environment (no external setup required)
|
|
113
|
+
- Dashboard runs on port 6052 by default
|
|
114
|
+
- Set Dashboard IP to `127.0.0.1:6052` for admin integration
|
|
115
|
+
|
|
116
|
+
**Option 2: External Dashboard**
|
|
117
|
+
- Use existing ESPHome installation (Docker, standalone, etc.)
|
|
118
|
+
- Enter the external dashboard's IP:port in adapter settings
|
|
119
|
+
- Example: `192.168.1.100:6052` for Docker container
|
|
45
120
|
|
|
46
|
-
|
|
121
|
+
**Option 3: No Dashboard Integration**
|
|
122
|
+
- Skip dashboard configuration entirely
|
|
123
|
+
- Use external ESPHome tools for device configuration
|
|
124
|
+
- Adapter still controls devices normally
|
|
125
|
+
|
|
126
|
+

|
|
127
|
+
|
|
128
|
+
> **💡 See FAQ above** for detailed explanations about Dashboard IP configuration and adapter vs. dashboard differences.
|
|
47
129
|
|
|
48
130
|
### Using HTTPS
|
|
49
131
|
|
|
@@ -89,6 +171,8 @@ api:
|
|
|
89
171
|
password: 'MyPassword'
|
|
90
172
|
```
|
|
91
173
|
|
|
174
|
+
## Device Management
|
|
175
|
+
|
|
92
176
|
### Add / Modify / Remove ESPHome devices to ioBroker
|
|
93
177
|
> [!IMPORTANT]
|
|
94
178
|
> This adapter integrates communication with ESPHome capable devices and
|
|
@@ -97,6 +181,8 @@ api:
|
|
|
97
181
|
> either by using the integrated Dashboard or an external alternative
|
|
98
182
|
> (like Docker) before they can be integrated to ioBroker
|
|
99
183
|
|
|
184
|
+
> **💡 See FAQ above** for step-by-step guidance on adding devices to the adapter.
|
|
185
|
+
|
|
100
186
|
The device Tab will show all current known devices; you can either wait for Devices to be autodetect
|
|
101
187
|
(currently disabled, see #175) or add them manually by providing their IP-Address and credentials
|
|
102
188
|
|
|
@@ -198,6 +284,14 @@ If you like my work, please consider a personal donation
|
|
|
198
284
|
### __WORK IN PROGRESS__
|
|
199
285
|
* (DutchmanNL)
|
|
200
286
|
-->
|
|
287
|
+
### 0.6.3 (2025-09-16)
|
|
288
|
+
* (@DutchmanNL) Fixed an admin error related to `jsonConfig` validation. #287
|
|
289
|
+
* (@DutchmanNL) Various general fixes and dependency updates to improve stability.
|
|
290
|
+
* (@DutchmanNL) Improved responsive design for better usability across devices. #284
|
|
291
|
+
* (@DutchmanNL) Introduced GitHub Actions to automatically verify the ESPHome Dashboard. #290
|
|
292
|
+
* (@DutchmanNL) Added a comprehensive FAQ section to the README to help users with common questions. #286
|
|
293
|
+
* (@DutchmanNL) Updated the `esphome-native-api` library to V1.3.3, which may resolve connection issues. #201
|
|
294
|
+
|
|
201
295
|
### 0.6.2 (2025-08-08)
|
|
202
296
|
* (@SimonFischer04) add support for text device type #141, displays #103
|
|
203
297
|
* (@SimonFischer04) fix cover device type #156
|
|
@@ -217,9 +311,6 @@ If you like my work, please consider a personal donation
|
|
|
217
311
|
### 0.5.0-beta.4 (2023-11-15)
|
|
218
312
|
* (DutchmanNL) Refactor memory caching of device data, resolves #189
|
|
219
313
|
|
|
220
|
-
### 0.5.0-beta.1 (2023-11-12)
|
|
221
|
-
* (DutchmanNL) Only show error messages once for unreachable devices
|
|
222
|
-
|
|
223
314
|
## License
|
|
224
315
|
MIT License
|
|
225
316
|
|
|
@@ -39,4 +39,4 @@
|
|
|
39
39
|
"maxRetry": "Reintento máximo de conexión antes de considerar el dispositivo como fuera de línea",
|
|
40
40
|
"newDevicesHeader": "Dispositivos recién descubiertos, proporcione credenciales.",
|
|
41
41
|
"reConInterval": "Configuración entre intentos de ioBroker para volver a conectar este dispositivo"
|
|
42
|
-
}
|
|
42
|
+
}
|
|
@@ -39,4 +39,4 @@
|
|
|
39
39
|
"maxRetry": "Nombre maximal de tentatives de connexion avant de considérer l'appareil comme hors ligne",
|
|
40
40
|
"newDevicesHeader": "Appareils récemment découverts, veuillez fournir vos informations d'identification !",
|
|
41
41
|
"reConInterval": "Paramètres entre ioBroker essayant de reconnecter cet appareil"
|
|
42
|
-
}
|
|
42
|
+
}
|
|
@@ -39,4 +39,4 @@
|
|
|
39
39
|
"maxRetry": "Numero massimo di tentativi di connessione prima di considerare il dispositivo offline",
|
|
40
40
|
"newDevicesHeader": "Dispositivi appena scoperti, fornisci le credenziali!",
|
|
41
41
|
"reConInterval": "Impostazione tra i tentativi di ioBroker di riconnettere questo dispositivo"
|
|
42
|
-
}
|
|
42
|
+
}
|
|
@@ -39,4 +39,4 @@
|
|
|
39
39
|
"maxRetry": "Maximale verbindingspoging voordat het apparaat als offline wordt beschouwd",
|
|
40
40
|
"newDevicesHeader": "Nieuw ontdekte apparaten, geef uw inloggegevens op!",
|
|
41
41
|
"reConInterval": "Instelling tussen ioBroker-pogingen om dit apparaat opnieuw te verbinden"
|
|
42
|
-
}
|
|
42
|
+
}
|
|
@@ -39,4 +39,4 @@
|
|
|
39
39
|
"maxRetry": "Maksymalna liczba ponownych prób połączenia przed uznaniem urządzenia za offline",
|
|
40
40
|
"newDevicesHeader": "Nowo odkryte urządzenia. Podaj dane uwierzytelniające!",
|
|
41
41
|
"reConInterval": "Ustawienie między próbą ponownego podłączenia tego urządzenia przez ioBroker"
|
|
42
|
-
}
|
|
42
|
+
}
|
|
@@ -39,4 +39,4 @@
|
|
|
39
39
|
"maxRetry": "Tentativa máxima de conexão antes de considerar o dispositivo como off-line",
|
|
40
40
|
"newDevicesHeader": "Dispositivos recém-descobertos, forneça credenciais!",
|
|
41
41
|
"reConInterval": "Configuração entre tentativas do ioBroker para reconectar este dispositivo"
|
|
42
|
-
}
|
|
42
|
+
}
|
|
@@ -39,4 +39,4 @@
|
|
|
39
39
|
"maxRetry": "Максимальное количество повторных попыток подключения, прежде чем устройство будет считаться отключенным",
|
|
40
40
|
"newDevicesHeader": "Недавно обнаруженные устройства, предоставьте учетные данные!",
|
|
41
41
|
"reConInterval": "Настройка между попытками ioBroker повторно подключить это устройство"
|
|
42
|
-
}
|
|
42
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
{
|
|
2
|
+
"ESPHomeCommunityLink": "Для отримання додаткової інформації про ESPHome, приклади конфігурації та посилання на спільноти відвідайте:",
|
|
3
|
+
"chkEnableESPHome": "Увімкнути ESPHome Dashboard",
|
|
4
|
+
"existDevicesHeader": "Усі пристрої, якими керує цей адаптер, та їхній стан підключення",
|
|
5
|
+
"hlpDiscoveryListeningAddress": "Виявляти пристрої тільки на цьому інтерфейсі",
|
|
6
|
+
"hlpESPHomeDashboardVersion": "Виберіть версію ESPHome Dashboard для використання",
|
|
7
|
+
"hlpInputApiPassword": "Пароль API (застарілий, використовуйте ключ шифрування!)",
|
|
8
|
+
"hlpInputDeviceIP": "Виберіть існуючий пристрій або введіть IP нового пристрою",
|
|
9
|
+
"hlpInputEncryptionKey": "Вкажіть ключ шифрування для конкретного пристрою (рекомендується)",
|
|
10
|
+
"introLine-1": "ioBroker ESPHome дозволяє керувати пристроями ESPHome, ви повинні створити та завантажити ці бінарні файли самостійно!",
|
|
11
|
+
"introLine-2": "ESPHome Dashboard потрібен для створення цих бінарних файлів. Як тільки прошивка пристрою завантажена та працює, ESPHome Dashboard більше не потрібен для зв'язку з ioBroker",
|
|
12
|
+
"lblApiPass": "Пароль API (застарілий)",
|
|
13
|
+
"lblAutoDiscovery": "Виявлення пристроїв увімкнено",
|
|
14
|
+
"lblConnectDetails-Line-1": "Нативний API ESPHome використовується для прямого зв'язку з клієнтами за допомогою високо оптимізованого мережевого протоколу. Нативний API має багато переваг над використанням MQTT для зв'язку з програмним забезпеченням домашньої автоматизації.",
|
|
15
|
+
"lblConnectDetails-Line-2": "Після додавання рядка api: до конфігурації ESPHome ви можете перейти на цю сторінку та дочекатися появи пристрою ESPHome в розділі виявлених пристроїв (може зайняти до 5 хвилин) або додати пристрій вручну, вибравши \"додати пристрій\" з огляду пристроїв та ввівши \"<NODE_NAME>.local\" або IP-адресу пристрою в поле \"Хост\".",
|
|
16
|
+
"lblConnectDetails-Line-3": "Нативний API ESPHome базується на спеціальному TCP протоколі, що використовує protocol buffers. Ви можете знайти визначення структури даних протоколу тут:",
|
|
17
|
+
"lblConnectIobroker": "ioBroker взаємодіє безпосередньо через нативний API замість MQTT, щоб забезпечити найкращий досвід та підтримку ключів шифрування (рекомендується) замість паролів API/MQTT",
|
|
18
|
+
"lblDashboardLink": "Щоб показати ESPHome dashboard у вкладці адміністратора ioBroker, потрібно вказати IP-адресу, на якій працює установка. Https наразі не підтримується",
|
|
19
|
+
"lblDefaultCredentials": "Налаштування ключів API / шифрування за замовчуванням для пристроїв (не рекомендується)",
|
|
20
|
+
"lblDefaultCredentials-Line-1": "Кожен пристрій повинен мати свій унікальний ключ шифрування (рекомендується) або пароль API, виявлення пристроїв (коли увімкнено) виявляє всі пристрої та намагається підключитися з обліковими даними нижче",
|
|
21
|
+
"lblDefaultCredentials-Line-2": "Якщо ви призначите унікальний ключ шифрування (рекомендується) або пароль API, нові пристрої з'являться на вкладці виявлених пристроїв (або повинні бути додані) і ви повинні вказати унікальні облікові дані вручну",
|
|
22
|
+
"lblDelDevice": "Видалити пристрій",
|
|
23
|
+
"lblDevicesTable": "Усі поточні (відомі) пристрої та їхній стан підключення",
|
|
24
|
+
"lblDiscoveryListeningAddress": "Адреса прослуховування",
|
|
25
|
+
"lblESPHomeDashboardVersion": "Версія ESPHome Dashboard",
|
|
26
|
+
"lblESPHomeIP": "IP-адреса, де працює ESPHome Dashboard для інтеграції в адміністратор ioBroker",
|
|
27
|
+
"lblESPHomePort": "Порт ESPHome Dashboard",
|
|
28
|
+
"lblEnableESPHome": "Ви можете запустити ESPHome Dashboard окремо або активувати опцію нижче для запуску його нативно в ioBroker",
|
|
29
|
+
"lblEncryptionKey": "Ключ шифрування за замовчуванням",
|
|
30
|
+
"lblHeaderConnect": "Як підключити пристрій ESPHome до ioBroker",
|
|
31
|
+
"lblHeaderMainPage": "Інтеграція ESPHome Dashboard",
|
|
32
|
+
"lblIgnoreList": "IP-адреси, які виключаються з виявлення пристроїв",
|
|
33
|
+
"lblInputApiPassword": "Пароль API",
|
|
34
|
+
"lblInputDeviceIP-content": "IP-адреса пристрою",
|
|
35
|
+
"lblInputEncryptionKey": "Ключ шифрування",
|
|
36
|
+
"lblLoadDevices": "Оновити огляд пристроїв",
|
|
37
|
+
"lblTxtNoButtonsIfNotActive": "Таблиця пристроїв та кнопки ДОДАТИ / Видалити доступні тільки якщо адаптер працює",
|
|
38
|
+
"lbl_addUpdateDevice": "ДОДАТИ / Змінити пристрої",
|
|
39
|
+
"maxRetry": "Максимальна кількість спроб підключення перед тим, як вважати пристрій офлайн",
|
|
40
|
+
"newDevicesHeader": "Нещодавно виявлені пристрої, будь ласка, надайте облікові дані!",
|
|
41
|
+
"reConInterval": "Інтервал між спробами ioBroker повторно підключитися до цього пристрою"
|
|
42
|
+
}
|
package/admin/jsonConfig.json5
CHANGED
|
@@ -19,49 +19,89 @@
|
|
|
19
19
|
"headerHowToConnect-details-1": {
|
|
20
20
|
"newLine": true,
|
|
21
21
|
"type": "staticText",
|
|
22
|
-
"text": "lblConnectDetails-Line-1"
|
|
22
|
+
"text": "lblConnectDetails-Line-1",
|
|
23
|
+
"xs": 12,
|
|
24
|
+
"sm": 12,
|
|
25
|
+
"md": 12,
|
|
26
|
+
"lg": 12,
|
|
27
|
+
"xl": 12
|
|
23
28
|
},
|
|
24
29
|
|
|
25
30
|
"headerHowToConnect-details-2": {
|
|
26
31
|
"newLine": true,
|
|
27
32
|
"type": "staticText",
|
|
28
|
-
"text": "lblConnectDetails-Line-2"
|
|
33
|
+
"text": "lblConnectDetails-Line-2",
|
|
34
|
+
"xs": 12,
|
|
35
|
+
"sm": 12,
|
|
36
|
+
"md": 12,
|
|
37
|
+
"lg": 12,
|
|
38
|
+
"xl": 12
|
|
29
39
|
},
|
|
30
40
|
"headerHowToConnect-details-3": {
|
|
31
41
|
"newLine": true,
|
|
32
42
|
"type": "staticText",
|
|
33
|
-
"text": "lblConnectDetails-Line-3"
|
|
43
|
+
"text": "lblConnectDetails-Line-3",
|
|
44
|
+
"xs": 12,
|
|
45
|
+
"sm": 12,
|
|
46
|
+
"md": 12,
|
|
47
|
+
"lg": 12,
|
|
48
|
+
"xl": 12
|
|
34
49
|
},
|
|
35
50
|
|
|
36
51
|
// Mention & link to api.proto project
|
|
37
52
|
"headerESPHomeDashboard-details-api.proto": {
|
|
38
53
|
"type": "staticLink",
|
|
39
54
|
"label": "api.proto",
|
|
40
|
-
"href" : "https://github.com/esphome/esphome/blob/dev/esphome/components/api/api.proto"
|
|
55
|
+
"href" : "https://github.com/esphome/esphome/blob/dev/esphome/components/api/api.proto",
|
|
56
|
+
"xs": 12,
|
|
57
|
+
"sm": 12,
|
|
58
|
+
"md": 12,
|
|
59
|
+
"lg": 12,
|
|
60
|
+
"xl": 12
|
|
41
61
|
},
|
|
42
62
|
|
|
43
63
|
"emptyLine-6": {
|
|
44
64
|
"newLine": true,
|
|
45
65
|
"type": "staticText",
|
|
46
|
-
"text": ""
|
|
66
|
+
"text": "",
|
|
67
|
+
"xs": 12,
|
|
68
|
+
"sm": 12,
|
|
69
|
+
"md": 12,
|
|
70
|
+
"lg": 12,
|
|
71
|
+
"xl": 12
|
|
47
72
|
},
|
|
48
73
|
|
|
49
74
|
// Text explaining ioBroker integration
|
|
50
75
|
"headerHowToConnect-details-4": {
|
|
51
76
|
"newLine": true,
|
|
52
77
|
"type": "staticText",
|
|
53
|
-
"text": "lblConnectIobroker"
|
|
78
|
+
"text": "lblConnectIobroker",
|
|
79
|
+
"xs": 12,
|
|
80
|
+
"sm": 12,
|
|
81
|
+
"md": 12,
|
|
82
|
+
"lg": 12,
|
|
83
|
+
"xl": 12
|
|
54
84
|
},
|
|
55
85
|
|
|
56
86
|
"emptyLine-7": {
|
|
57
87
|
"newLine": true,
|
|
58
88
|
"type": "staticText",
|
|
59
|
-
"text": ""
|
|
89
|
+
"text": "",
|
|
90
|
+
"xs": 12,
|
|
91
|
+
"sm": 12,
|
|
92
|
+
"md": 12,
|
|
93
|
+
"lg": 12,
|
|
94
|
+
"xl": 12
|
|
60
95
|
},
|
|
61
96
|
"emptyLine-8": {
|
|
62
97
|
"newLine": true,
|
|
63
98
|
"type": "staticText",
|
|
64
|
-
"text": ""
|
|
99
|
+
"text": "",
|
|
100
|
+
"xs": 12,
|
|
101
|
+
"sm": 12,
|
|
102
|
+
"md": 12,
|
|
103
|
+
"lg": 12,
|
|
104
|
+
"xl": 12
|
|
65
105
|
},
|
|
66
106
|
|
|
67
107
|
// Header default credentials
|
|
@@ -75,12 +115,22 @@
|
|
|
75
115
|
"headerDefaultCredentials-details-1": {
|
|
76
116
|
"newLine": true,
|
|
77
117
|
"type": "staticText",
|
|
78
|
-
"text": "lblDefaultCredentials-Line-1"
|
|
118
|
+
"text": "lblDefaultCredentials-Line-1",
|
|
119
|
+
"xs": 12,
|
|
120
|
+
"sm": 12,
|
|
121
|
+
"md": 12,
|
|
122
|
+
"lg": 12,
|
|
123
|
+
"xl": 12
|
|
79
124
|
},
|
|
80
125
|
"headerDefaultCredentials-details-2": {
|
|
81
126
|
"newLine": true,
|
|
82
127
|
"type": "staticText",
|
|
83
|
-
"text": "lblDefaultCredentials-Line-2"
|
|
128
|
+
"text": "lblDefaultCredentials-Line-2",
|
|
129
|
+
"xs": 12,
|
|
130
|
+
"sm": 12,
|
|
131
|
+
"md": 12,
|
|
132
|
+
"lg": 12,
|
|
133
|
+
"xl": 12
|
|
84
134
|
},
|
|
85
135
|
|
|
86
136
|
// Credentials which will be stored (encrypted) in adapter config object
|
|
@@ -88,12 +138,20 @@
|
|
|
88
138
|
"newLine": true,
|
|
89
139
|
"type": "password",
|
|
90
140
|
"label": "lblEncryptionKey",
|
|
91
|
-
"
|
|
141
|
+
"xs": 12,
|
|
142
|
+
"sm": 3,
|
|
143
|
+
"md": 3,
|
|
144
|
+
"lg": 3,
|
|
145
|
+
"xl": 3
|
|
92
146
|
},
|
|
93
147
|
"apiPass": {
|
|
94
148
|
"type": "password",
|
|
95
149
|
"label": "lblApiPass",
|
|
96
|
-
"
|
|
150
|
+
"xs": 12,
|
|
151
|
+
"sm": 2,
|
|
152
|
+
"md": 2,
|
|
153
|
+
"lg": 2,
|
|
154
|
+
"xl": 2
|
|
97
155
|
}
|
|
98
156
|
}
|
|
99
157
|
},
|
|
@@ -108,15 +166,21 @@
|
|
|
108
166
|
"autodiscovery": {
|
|
109
167
|
"newLine": true,
|
|
110
168
|
"type": "checkbox",
|
|
169
|
+
"xs": 12,
|
|
111
170
|
"sm": 3,
|
|
112
171
|
"md": 3,
|
|
172
|
+
"lg": 3,
|
|
173
|
+
"xl": 3,
|
|
113
174
|
"label": "lblAutoDiscovery"
|
|
114
175
|
},
|
|
115
176
|
|
|
116
177
|
"discoveryListeningAddress" : {
|
|
117
178
|
"type": "ip",
|
|
179
|
+
"xs": 12,
|
|
118
180
|
"sm": 3,
|
|
119
181
|
"md": 3,
|
|
182
|
+
"lg": 3,
|
|
183
|
+
"xl": 3,
|
|
120
184
|
"default": "0.0.0.0",
|
|
121
185
|
"label": "lblDiscoveryListeningAddress",
|
|
122
186
|
"help": "hlpDiscoveryListeningAddress",
|
|
@@ -133,7 +197,8 @@
|
|
|
133
197
|
"xs": 12,
|
|
134
198
|
"sm": 12,
|
|
135
199
|
"md": 12,
|
|
136
|
-
"lg": 12
|
|
200
|
+
"lg": 12,
|
|
201
|
+
"xl": 12
|
|
137
202
|
},
|
|
138
203
|
|
|
139
204
|
// Input fields to ADD / Modify devices
|
|
@@ -144,39 +209,40 @@
|
|
|
144
209
|
"type": "autocompleteSendTo",
|
|
145
210
|
"command": "getDeviceIPs",
|
|
146
211
|
"jsonData": "{ \"service\": \"${data.deviceInputIP}\" }",
|
|
147
|
-
"xs":
|
|
212
|
+
"xs": 12,
|
|
148
213
|
"sm": 2,
|
|
149
214
|
"md": 2,
|
|
150
215
|
"lg": 2,
|
|
216
|
+
"xl": 2,
|
|
151
217
|
"label": "lblInputDeviceIP-content",
|
|
152
218
|
"tooltip": "hlpInputDeviceIP",
|
|
153
219
|
"help": "hlpInputDeviceIP"
|
|
154
220
|
},
|
|
155
221
|
"encryptionKey": {
|
|
156
222
|
"type": "password",
|
|
157
|
-
"freeSolo": true,
|
|
158
223
|
"label": "lblInputEncryptionKey",
|
|
159
224
|
"doNotSave": true,
|
|
160
225
|
"default": "",
|
|
161
226
|
"tooltip": "hlpInputEncryptionKey",
|
|
162
227
|
"help": "hlpInputEncryptionKey",
|
|
163
|
-
"xs":
|
|
228
|
+
"xs": 12,
|
|
164
229
|
"sm": 4,
|
|
165
230
|
"md": 4,
|
|
166
|
-
"lg": 4
|
|
231
|
+
"lg": 4,
|
|
232
|
+
"xl": 4
|
|
167
233
|
},
|
|
168
234
|
"apiPassword": {
|
|
169
235
|
"type": "password",
|
|
170
|
-
"freeSolo": true,
|
|
171
236
|
"label": "lblInputApiPassword",
|
|
172
237
|
"doNotSave": true,
|
|
173
238
|
"default": "",
|
|
174
239
|
"tooltip": "hlpInputApiPassword",
|
|
175
240
|
"help": "hlpInputApiPassword",
|
|
176
|
-
"xs":
|
|
241
|
+
"xs": 12,
|
|
177
242
|
"sm": 2,
|
|
178
243
|
"md": 2,
|
|
179
|
-
"lg": 2
|
|
244
|
+
"lg": 2,
|
|
245
|
+
"xl": 2
|
|
180
246
|
},
|
|
181
247
|
|
|
182
248
|
// Button do ADD / Modify devices, sends
|
|
@@ -197,7 +263,8 @@
|
|
|
197
263
|
"xs": 12,
|
|
198
264
|
"sm": 12,
|
|
199
265
|
"md": 12,
|
|
200
|
-
"lg": 12
|
|
266
|
+
"lg": 12,
|
|
267
|
+
"xl": 12
|
|
201
268
|
},
|
|
202
269
|
|
|
203
270
|
"deleteDevice": {
|
|
@@ -217,6 +284,7 @@
|
|
|
217
284
|
"sm": 12,
|
|
218
285
|
"md": 12,
|
|
219
286
|
"lg": 12,
|
|
287
|
+
"xl": 12,
|
|
220
288
|
"confirm" : {
|
|
221
289
|
"text" : "Are you sure to delete this device ? Alle states will be removed",
|
|
222
290
|
"title" : "Confirm device Deletion",
|
|
@@ -247,7 +315,8 @@
|
|
|
247
315
|
"xs": 12,
|
|
248
316
|
"sm": 12,
|
|
249
317
|
"md": 12,
|
|
250
|
-
"lg": 12
|
|
318
|
+
"lg": 12,
|
|
319
|
+
"xl": 12
|
|
251
320
|
},
|
|
252
321
|
"header2": {
|
|
253
322
|
"type": "header",
|
|
@@ -264,6 +333,7 @@
|
|
|
264
333
|
"sm": 12,
|
|
265
334
|
"md": 12,
|
|
266
335
|
"lg": 12,
|
|
336
|
+
"xl": 12,
|
|
267
337
|
"doNotSave": true,
|
|
268
338
|
"hidden": "!data.newDevicesTable || data.newDevicesTable.length == 0",
|
|
269
339
|
"showSecondAddAt": 5,
|
|
@@ -321,6 +391,7 @@
|
|
|
321
391
|
"sm": 12,
|
|
322
392
|
"md": 12,
|
|
323
393
|
"lg": 12,
|
|
394
|
+
"xl": 12,
|
|
324
395
|
"showSecondAddAt": 5,
|
|
325
396
|
"items": [
|
|
326
397
|
{
|
|
@@ -393,12 +464,22 @@
|
|
|
393
464
|
// Introduction text
|
|
394
465
|
"introLine-1": {
|
|
395
466
|
"type": "staticText",
|
|
396
|
-
"text": "introLine-1"
|
|
467
|
+
"text": "introLine-1",
|
|
468
|
+
"xs": 12,
|
|
469
|
+
"sm": 12,
|
|
470
|
+
"md": 12,
|
|
471
|
+
"lg": 12,
|
|
472
|
+
"xl": 12
|
|
397
473
|
},
|
|
398
474
|
"introLine-2": {
|
|
399
475
|
"newLine": true,
|
|
400
476
|
"type": "staticText",
|
|
401
|
-
"text": "introLine-2"
|
|
477
|
+
"text": "introLine-2",
|
|
478
|
+
"xs": 12,
|
|
479
|
+
"sm": 12,
|
|
480
|
+
"md": 12,
|
|
481
|
+
"lg": 12,
|
|
482
|
+
"xl": 12
|
|
402
483
|
},
|
|
403
484
|
|
|
404
485
|
"emptyLine-1": {
|