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 CHANGED
@@ -23,8 +23,72 @@ Native integration of ESPHome managed device (Including Dashboard) by its native
23
23
 
24
24
  ![Logo](admin/img/dashboard.png)
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
+ ![ESPHome Dashboard IP Configuration](admin/img/ESPhomeDashboardIP.png)
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
- ## Using the built-in ESPHome Dashboard
43
- You can either use an external installation of ESPHome (like docker) or activate the ESPHome Dashboard process included in this adapter.
44
- In any case, it is possible to integrate the dashboard into ioBroker Admin interface, for this purpose you must specify the ip where the Dashboard is running
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
- ![Logo](admin/img/ESPhomeDashboardIP.png)
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
+ ![Dashboard IP Configuration](admin/img/ESPhomeDashboardIP.png)
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": "Maximum connection retry before considering device as offline",
40
40
  "newDevicesHeader": "Newly discovered devices, please provide credentials!",
41
41
  "reConInterval": "Setting between ioBroker try's to reconnect this device"
42
- }
42
+ }
@@ -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
+ }
@@ -39,4 +39,4 @@
39
39
  "maxRetry": "将设备视为离线之前的最大连接重试次数",
40
40
  "newDevicesHeader": "新发现的设备,请提供凭据!",
41
41
  "reConInterval": "ioBroker 尝试重新连接此设备之间的设置"
42
- }
42
+ }
@@ -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
- "sm": 3
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
- "sm": 2
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": 2,
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": 4,
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": 2,
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": {
@@ -0,0 +1,9 @@
1
+ {
2
+ "extends": "../tsconfig.json",
3
+ "include": [
4
+ "./admin.d.ts",
5
+ "./**/*.js",
6
+ // include the adapter-config definition if it exists
7
+ "../src/lib/adapter-config.d.ts",
8
+ ]
9
+ }