iobroker.eos-admin 7.9.29 → 7.9.30

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.
@@ -1,8 +1,13 @@
1
1
  {
2
2
  "1 minute": "1 хвилина",
3
3
  "Access to instances": "Доступ до екземплярів (Спрощений режим)",
4
+ "Adapter": "Adapter",
4
5
  "Admin adapter settings": "Налаштування екземпляра адміністратора",
6
+ "Administratorgruppen für EOS Sicherheit": "Administratorgruppen für EOS Sicherheit",
7
+ "Aktiv": "Aktiv",
5
8
  "Allow access only to specific instances": "Дозволити доступ лише до певних екземплярів",
9
+ "Alten Admin für Installateur und Endkunde ausblenden": "Alten Admin für Installateur und Endkunde ausblenden",
10
+ "Alten Admin sperren": "Alten Admin sperren",
6
11
  "Apply access rights for selected instances": "Застосувати права доступу для вибраних екземплярів до вибраного користувача",
7
12
  "Authentication": "Аутентифікація",
8
13
  "Authentication was deactivated": "Автентифікацію було вимкнено",
@@ -14,6 +19,7 @@
14
19
  "Cache": "Файли кешу",
15
20
  "Chained certificate": "Прикутий сертифікат",
16
21
  "Config": "Сторінка конфігурації",
22
+ "Dieser Bereich ist nur für Administratoren. Hier legst du fest, ob der alte Admin gesperrt wird und welche Systemadapter vor Änderungen durch Installateur- oder Endkundenbenutzer geschützt sind. Updates bleiben möglich.": "Dieser Bereich ist nur für Administratoren. Hier legst du fest, ob der alte Admin gesperrt wird und welche Systemadapter vor Änderungen durch Installateur- oder Endkundenbenutzer geschützt sind. Updates bleiben möglich.",
17
23
  "Disable Assistent": "Вимкнути помічника в графічному інтерфейсі",
18
24
  "Disable authentication": "Вимкнути автентифікацію",
19
25
  "Disable basic authentication": "Вимкнути базову автентифікацію",
@@ -23,8 +29,14 @@
23
29
  "End date": "Дата закінчення",
24
30
  "End time": "Час закінчення",
25
31
  "Events threshold value": "Порогове значення подій",
32
+ "Geschützte Adapter nur durch Administratoren ändern lassen": "Geschützte Adapter nur durch Administratoren ändern lassen",
33
+ "Geschützte Systemadapter": "Geschützte Systemadapter",
34
+ "Geschützte Systemadapter aktivieren": "Geschützte Systemadapter aktivieren",
26
35
  "Global path": "Глобальний шлях",
36
+ "Gruppe": "Gruppe",
27
37
  "Hide logo": "Приховати логотип",
38
+ "Hinweis": "Hinweis",
39
+ "Hält den alten admin.0 deaktiviert und verschiebt ihn auf den lokalen Fallback-Bind/Port. Nur Administratoren sollten diese Sperre für Wartung deaktivieren.": "Hält den alten admin.0 deaktiviert und verschiebt ihn auf die lokale Sperr-Adresse und den Sperr-Port. Nur Administratoren sollten diese Sperre für Wartung deaktivieren.",
28
40
  "IP": "IP",
29
41
  "Ignore warning": "Ігнорувати попередження",
30
42
  "Insert entry": "Вставте запис",
@@ -39,7 +51,10 @@
39
51
  "Login timeout": "Тривалість сеансу входу",
40
52
  "Login timeout(sec)": "Тривалість сеансу входу (с)",
41
53
  "Main settings": "Основні налаштування",
54
+ "NexoWatt Sicherheit": "NexoWatt Sicherheit",
42
55
  "No data in history for selected period": "Немає даних в історії за вибраний період",
56
+ "Nur Benutzer der EOS-Administratorgruppen können den alten admin-Adapter und die Instanz admin.0 sehen oder bewusst entsperren.": "Nur Benutzer der EOS-Administratorgruppen können den alten Admin-Adapter und die Instanz admin.0 sehen oder bewusst entsperren.",
57
+ "Nur Mitglieder dieser Gruppen dürfen gesperrte EOS-Systembereiche sehen und warten. Die Gruppe administrator ist immer enthalten.": "Nur Mitglieder dieser Gruppen dürfen gesperrte EOS-Systembereiche sehen und warten. Die Gruppe administrator ist immer enthalten.",
43
58
  "Own motto": "Власний девіз",
44
59
  "Port": "Порт",
45
60
  "Port to check the domain": "Порт для перевірки домену",
@@ -48,8 +63,12 @@
48
63
  "Read about Let's Encrypt certificates": "Прочитайте про сертифікати Let's Encrypt",
49
64
  "Reverse proxy": "Reverse проксі",
50
65
  "Run as": "Запустити від користувача",
66
+ "Schützt ausgewählte Adapter für Installateur-/Endkundenbenutzer über Administrator-ACLs und EOS-UI-Regeln. dontDelete und nondeletable bleiben false, damit Updates weiter funktionieren.": "Schützt ausgewählte Adapter für Installateur- und Endkundenbenutzer über Administratorrechte und EOS-Regeln. dontDelete und nondeletable bleiben false, damit Updates weiter funktionieren.",
51
67
  "Secure(HTTPS)": "Безпечне з'єднання (HTTPS)",
52
68
  "Set certificates or load it first in the system settings (right top).": "Встановіть сертифікати або спочатку визначте їх у налаштуваннях системи (справа вгорі).",
69
+ "Setzt Administrator-ACLs auf die geschützte Adapterliste. Installateur-/Endkundenbenutzer können diese Adapter nicht stoppen, aktivieren oder löschen; Administratoren können sie weiterhin updaten und warten.": "Setzt Administratorrechte auf die geschützte Adapterliste. Installateur- und Endkundenbenutzer können diese Adapter nicht stoppen, aktivieren oder löschen. Administratoren können sie weiterhin updaten und warten.",
70
+ "Sperr-Adresse des alten Admins": "Sperr-Adresse des alten Admins",
71
+ "Sperr-Port des alten Admins": "Sperr-Port des alten Admins",
53
72
  "Tab": "Сторінка вкладки",
54
73
  "There is a option to allow access to the specific configuration pages of selected instances.": "Існує можливість дозволити доступ до конкретних сторінок конфігурації вибраних екземплярів.",
55
74
  "Undo": "Скасувати",
@@ -1,8 +1,13 @@
1
1
  {
2
2
  "1 minute": "1分钟",
3
3
  "Access to instances": "访问实例",
4
+ "Adapter": "Adapter",
4
5
  "Admin adapter settings": "admin适配器的设置",
6
+ "Administratorgruppen für EOS Sicherheit": "Administratorgruppen für EOS Sicherheit",
7
+ "Aktiv": "Aktiv",
5
8
  "Allow access only to specific instances": "只允许访问特定实例",
9
+ "Alten Admin für Installateur und Endkunde ausblenden": "Alten Admin für Installateur und Endkunde ausblenden",
10
+ "Alten Admin sperren": "Alten Admin sperren",
6
11
  "Apply access rights for selected instances": "对选定实例应用访问权限",
7
12
  "Authentication": "验证",
8
13
  "Authentication was deactivated": "身份验证已停用",
@@ -14,6 +19,7 @@
14
19
  "Cache": "缓存文件",
15
20
  "Chained certificate": "链式证书",
16
21
  "Config": "配置页面",
22
+ "Dieser Bereich ist nur für Administratoren. Hier legst du fest, ob der alte Admin gesperrt wird und welche Systemadapter vor Änderungen durch Installateur- oder Endkundenbenutzer geschützt sind. Updates bleiben möglich.": "Dieser Bereich ist nur für Administratoren. Hier legst du fest, ob der alte Admin gesperrt wird und welche Systemadapter vor Änderungen durch Installateur- oder Endkundenbenutzer geschützt sind. Updates bleiben möglich.",
17
23
  "Disable Assistent": "在图形用户界面中禁用助手",
18
24
  "Disable authentication": "禁用身份验证",
19
25
  "Disable basic authentication": "禁用基本身份验证",
@@ -23,8 +29,14 @@
23
29
  "End date": "结束日期",
24
30
  "End time": "时间结束",
25
31
  "Events threshold value": "事件阈值",
32
+ "Geschützte Adapter nur durch Administratoren ändern lassen": "Geschützte Adapter nur durch Administratoren ändern lassen",
33
+ "Geschützte Systemadapter": "Geschützte Systemadapter",
34
+ "Geschützte Systemadapter aktivieren": "Geschützte Systemadapter aktivieren",
26
35
  "Global path": "全局路径",
36
+ "Gruppe": "Gruppe",
27
37
  "Hide logo": "隐藏图标",
38
+ "Hinweis": "Hinweis",
39
+ "Hält den alten admin.0 deaktiviert und verschiebt ihn auf den lokalen Fallback-Bind/Port. Nur Administratoren sollten diese Sperre für Wartung deaktivieren.": "Hält den alten admin.0 deaktiviert und verschiebt ihn auf die lokale Sperr-Adresse und den Sperr-Port. Nur Administratoren sollten diese Sperre für Wartung deaktivieren.",
28
40
  "IP": "IP",
29
41
  "Ignore warning": "忽略警告",
30
42
  "Insert entry": "插入条目",
@@ -39,7 +51,10 @@
39
51
  "Login timeout": "登录会话持续时间",
40
52
  "Login timeout(sec)": "登录超时时间(秒)",
41
53
  "Main settings": "主要设置",
54
+ "NexoWatt Sicherheit": "NexoWatt Sicherheit",
42
55
  "No data in history for selected period": "所选期间的历史记录中没有数据",
56
+ "Nur Benutzer der EOS-Administratorgruppen können den alten admin-Adapter und die Instanz admin.0 sehen oder bewusst entsperren.": "Nur Benutzer der EOS-Administratorgruppen können den alten Admin-Adapter und die Instanz admin.0 sehen oder bewusst entsperren.",
57
+ "Nur Mitglieder dieser Gruppen dürfen gesperrte EOS-Systembereiche sehen und warten. Die Gruppe administrator ist immer enthalten.": "Nur Mitglieder dieser Gruppen dürfen gesperrte EOS-Systembereiche sehen und warten. Die Gruppe administrator ist immer enthalten.",
43
58
  "Own motto": "自己的座右铭",
44
59
  "Port": "端口",
45
60
  "Port to check the domain": "用于检查域的端口",
@@ -48,8 +63,12 @@
48
63
  "Read about Let's Encrypt certificates": "阅读让我们加密证书",
49
64
  "Reverse proxy": "反向代理",
50
65
  "Run as": "运行身份",
66
+ "Schützt ausgewählte Adapter für Installateur-/Endkundenbenutzer über Administrator-ACLs und EOS-UI-Regeln. dontDelete und nondeletable bleiben false, damit Updates weiter funktionieren.": "Schützt ausgewählte Adapter für Installateur- und Endkundenbenutzer über Administratorrechte und EOS-Regeln. dontDelete und nondeletable bleiben false, damit Updates weiter funktionieren.",
51
67
  "Secure(HTTPS)": "安全(HTTPS)",
52
68
  "Set certificates or load it first in the system settings (right top).": "设置证书或者在系统设置中加载证书(右上角)。",
69
+ "Setzt Administrator-ACLs auf die geschützte Adapterliste. Installateur-/Endkundenbenutzer können diese Adapter nicht stoppen, aktivieren oder löschen; Administratoren können sie weiterhin updaten und warten.": "Setzt Administratorrechte auf die geschützte Adapterliste. Installateur- und Endkundenbenutzer können diese Adapter nicht stoppen, aktivieren oder löschen. Administratoren können sie weiterhin updaten und warten.",
70
+ "Sperr-Adresse des alten Admins": "Sperr-Adresse des alten Admins",
71
+ "Sperr-Port des alten Admins": "Sperr-Port des alten Admins",
53
72
  "Tab": "标签页",
54
73
  "There is a option to allow access to the specific configuration pages of selected instances.": "有一个选项允许访问所选实例的特定配置页面。",
55
74
  "Undo": "撤消",
@@ -163,27 +163,27 @@
163
163
  disableMcp: {
164
164
  type: 'checkbox',
165
165
  newLine: true,
166
- label: 'Disable Assistent',
166
+ label: 'EOS Assist deaktivieren',
167
167
  sx: 12,
168
168
  }
169
169
  },
170
170
  },
171
171
  eosSecurityTab: {
172
172
  type: 'panel',
173
- label: 'EOS security',
173
+ label: 'EOS Sicherheit',
174
174
  items: {
175
175
  _eosSecurityInfo: {
176
176
  type: 'staticText',
177
177
  newLine: true,
178
- text: 'EOS security keeps the legacy admin disabled, hides it from installer/end-customer users and protects selected system adapters. Updates stay possible because nondeletable is not used.',
178
+ text: 'EOS Sicherheit sperrt den alten Admin-Zugang, blendet ihn für Installateur- und Endkundenrollen aus und schützt ausgewählte Systemadapter. Updates bleiben möglich, weil keine harte nondeletable-Sperre verwendet wird.',
179
179
  xs: 12,
180
180
  sm: 12,
181
181
  },
182
182
  eosLockLegacyAdmin: {
183
183
  newLine: true,
184
184
  type: 'checkbox',
185
- label: 'Alten admin.0 sperren',
186
- help: 'Hält den alten admin.0 deaktiviert und verschiebt ihn auf den lokalen Fallback-Bind/Port. Nur Administratoren sollten diese Sperre für Wartung deaktivieren.',
185
+ label: 'Alten Admin-Zugang sperren',
186
+ help: 'Hält admin.0 deaktiviert und bindet ihn nur lokal auf den Fallback-Port. Nur Administratoren dürfen diese Sperre für Wartung kurz deaktivieren.',
187
187
  xs: 12,
188
188
  sm: 12,
189
189
  md: 6,
@@ -191,7 +191,7 @@
191
191
  },
192
192
  eosLegacyAdminLockBind: {
193
193
  type: 'text',
194
- label: 'Bind-Adresse für gesperrten alten Admin',
194
+ label: 'Lokale Bind-Adresse des alten Admin',
195
195
  hidden: '!data.eosLockLegacyAdmin',
196
196
  xs: 12,
197
197
  sm: 12,
@@ -200,7 +200,7 @@
200
200
  },
201
201
  eosLegacyAdminLockPort: {
202
202
  type: 'port',
203
- label: 'Fallback-Port für alten Admin',
203
+ label: 'Lokaler Fallback-Port des alten Admin',
204
204
  hidden: '!data.eosLockLegacyAdmin',
205
205
  min: 1,
206
206
  xs: 12,
@@ -211,8 +211,8 @@
211
211
  eosHideLegacyAdminFromNonAdmins: {
212
212
  newLine: true,
213
213
  type: 'checkbox',
214
- label: 'Alten Admin für Installateur-/Endkundenbenutzer ausblenden',
215
- help: 'Nur Benutzer der EOS-Administratorgruppen können den alten admin-Adapter und die Instanz admin.0 sehen oder bewusst entsperren.',
214
+ label: 'Alten Admin vor Installateur und Endkunde ausblenden',
215
+ help: 'Nur Benutzer der EOS-Administratorgruppen sehen den alten admin-Adapter und admin.0. Installateur- und Endkundenrollen sehen diesen Bereich nicht.',
216
216
  xs: 12,
217
217
  sm: 12,
218
218
  md: 8,
@@ -221,8 +221,8 @@
221
221
  eosSecurityAdminGroups: {
222
222
  newLine: true,
223
223
  type: 'table',
224
- label: 'EOS-Administratorgruppen',
225
- help: 'Nur Mitglieder dieser Gruppen dürfen gesperrte EOS-Systembereiche sehen und warten. Die Gruppe administrator ist immer enthalten.',
224
+ label: 'EOS Administratorgruppen',
225
+ help: 'Nur Mitglieder dieser Gruppen dürfen gesperrte EOS-Systembereiche sehen und warten. system.group.administrator ist immer enthalten.',
226
226
  xs: 12,
227
227
  sm: 12,
228
228
  items: [
@@ -237,7 +237,7 @@
237
237
  },
238
238
  {
239
239
  type: 'text',
240
- title: 'Hinweis',
240
+ title: 'Beschreibung',
241
241
  attr: 'note',
242
242
  width: '55%',
243
243
  filter: false,
@@ -256,8 +256,8 @@
256
256
  eosProtectAdapterDeletion: {
257
257
  newLine: true,
258
258
  type: 'checkbox',
259
- label: 'Ausgewählte Adapter vor Löschung schützen',
260
- help: 'Schützt ausgewählte Adapter für Installateur-/Endkundenbenutzer über Administrator-ACLs und EOS-UI-Regeln. dontDelete und nondeletable bleiben false, damit Updates weiter funktionieren.',
259
+ label: 'Systemadapter vor Löschen schützen',
260
+ help: 'Schützt ausgewählte Adapter vor Löschen, Stoppen und kritischen Änderungen durch Installateur- und Endkundenrollen. Updates bleiben möglich.',
261
261
  xs: 12,
262
262
  sm: 12,
263
263
  md: 8,
@@ -266,8 +266,8 @@
266
266
  eosApplyAdminOnlyAclToProtectedAdapters: {
267
267
  newLine: true,
268
268
  type: 'checkbox',
269
- label: 'Nur Administratoren dürfen geschützte Adapter ändern',
270
- help: 'Setzt Administrator-ACLs auf die geschützte Adapterliste. Installateur-/Endkundenbenutzer können diese Adapter nicht stoppen, aktivieren oder löschen; Administratoren können sie weiterhin updaten und warten.',
269
+ label: 'Geschützte Adapter nur durch Administratoren ändern lassen',
270
+ help: 'Setzt Administratorrechte auf die Schutzliste. Installateur- und Endkundenrollen können diese Adapter nicht stoppen, aktivieren oder löschen; Administratoren können sie weiterhin aktualisieren und warten.',
271
271
  hidden: '!data.eosProtectAdapterDeletion',
272
272
  xs: 12,
273
273
  sm: 12,
@@ -277,14 +277,14 @@
277
277
  eosProtectedAdapters: {
278
278
  newLine: true,
279
279
  type: 'table',
280
- label: 'Geschützte Adapter',
280
+ label: 'Geschützte Systemadapter',
281
281
  hidden: '!data.eosProtectAdapterDeletion',
282
282
  xs: 12,
283
283
  sm: 12,
284
284
  items: [
285
285
  {
286
286
  type: 'text',
287
- title: 'Adaptername',
287
+ title: 'Adapter',
288
288
  attr: 'adapter',
289
289
  width: '30%',
290
290
  filter: false,
@@ -293,7 +293,7 @@
293
293
  },
294
294
  {
295
295
  type: 'text',
296
- title: 'Hinweis',
296
+ title: 'Beschreibung',
297
297
  attr: 'note',
298
298
  width: '55%',
299
299
  filter: false,
@@ -2647,3 +2647,378 @@ html.eos-app.eos-nav-compact .MuiDrawer-paper .MuiBadge-root .MuiBadge-badge {
2647
2647
  .eos-assist-button strong, .eos-assist-button small { display: none !important; }
2648
2648
  .eos-assist-dot { grid-column: 1; grid-row: 1; width: 14px; height: 14px; }
2649
2649
  }
2650
+
2651
+
2652
+ /* === NexoWatt EOS v30: final nav/assist/security polish ==================
2653
+ Pfeil liegt weiter links in einem eigenen Slot, Menü klappt nur kompakt ein,
2654
+ EOS Assist öffnet robust und EOS Sicherheit bleibt Nicht-Admins verborgen. */
2655
+ html.eos-app .eos-brand-badge-mark {
2656
+ background:
2657
+ radial-gradient(circle at 48% 45%, rgba(0, 255, 136, 0.14), rgba(0, 0, 0, 0.98) 54%, #000 100%) !important;
2658
+ border-color: rgba(125, 255, 218, 0.88) !important;
2659
+ box-shadow:
2660
+ inset 0 0 0 1px rgba(255, 255, 255, 0.05),
2661
+ inset 0 0 24px rgba(0, 255, 136, 0.16),
2662
+ 0 0 0 2px rgba(0, 0, 0, 0.70),
2663
+ 0 0 24px rgba(0, 255, 136, 0.64),
2664
+ 0 0 46px rgba(0, 212, 255, 0.20) !important;
2665
+ }
2666
+
2667
+ html.eos-app .eos-brand-badge-logo {
2668
+ background: #000 !important;
2669
+ border-radius: 16px !important;
2670
+ padding: 2px !important;
2671
+ }
2672
+
2673
+ html.eos-app .MuiDrawer-paper,
2674
+ html.eos-app .eos-drawer {
2675
+ padding-left: 128px !important;
2676
+ transform: none !important;
2677
+ visibility: visible !important;
2678
+ opacity: 1 !important;
2679
+ }
2680
+
2681
+ html.eos-app .eos-native-drawer-header {
2682
+ left: 6px !important;
2683
+ top: 7px !important;
2684
+ width: 62px !important;
2685
+ min-width: 62px !important;
2686
+ max-width: 62px !important;
2687
+ height: 58px !important;
2688
+ min-height: 58px !important;
2689
+ background: rgba(0, 0, 0, 0.58) !important;
2690
+ border: 1px solid rgba(0, 255, 136, 0.42) !important;
2691
+ border-radius: 18px !important;
2692
+ }
2693
+
2694
+ html.eos-app .eos-native-drawer-header > div:first-child {
2695
+ width: 62px !important;
2696
+ min-width: 62px !important;
2697
+ max-width: 62px !important;
2698
+ height: 58px !important;
2699
+ min-height: 58px !important;
2700
+ padding: 4px 7px !important;
2701
+ }
2702
+
2703
+ html.eos-app .eos-native-drawer-header button.eos-nav-compact-toggle,
2704
+ html.eos-app .eos-native-drawer-header .eos-nav-compact-toggle {
2705
+ width: 48px !important;
2706
+ height: 48px !important;
2707
+ min-width: 48px !important;
2708
+ min-height: 48px !important;
2709
+ border-radius: 17px !important;
2710
+ background:
2711
+ radial-gradient(circle at 50% 50%, rgba(0, 255, 136, 0.20), rgba(0, 0, 0, 0.82)) !important;
2712
+ border-color: rgba(89, 255, 199, 0.58) !important;
2713
+ box-shadow: inset 0 0 16px rgba(0,255,136,.10), 0 0 18px rgba(0,255,136,.24) !important;
2714
+ }
2715
+
2716
+ html.eos-app.eos-nav-compact .MuiDrawer-paper,
2717
+ html.eos-app.eos-nav-compact .eos-drawer {
2718
+ width: auto !important;
2719
+ min-width: auto !important;
2720
+ transform: none !important;
2721
+ visibility: visible !important;
2722
+ opacity: 1 !important;
2723
+ }
2724
+
2725
+ .eos-assist-root,
2726
+ #eos-assist-root {
2727
+ pointer-events: auto !important;
2728
+ }
2729
+
2730
+ .eos-assist-button,
2731
+ .eos-assist-close,
2732
+ .eos-assist-send {
2733
+ pointer-events: auto !important;
2734
+ user-select: none !important;
2735
+ }
2736
+
2737
+ .eos-assist-root.eos-assist-open .eos-assist-panel,
2738
+ html.eos-assist-open .eos-assist-root .eos-assist-panel,
2739
+ html.eos-assist-open #eos-assist-root .eos-assist-panel {
2740
+ opacity: 1 !important;
2741
+ pointer-events: auto !important;
2742
+ transform: translateY(0) scale(1) !important;
2743
+ }
2744
+
2745
+ .eos-assist-launcher {
2746
+ display: none !important;
2747
+ }
2748
+
2749
+ html.eos-security-non-admin-user .eos-security-admin-only-field,
2750
+ html.eos-security-nonadmin .eos-security-admin-only-field,
2751
+ .eos-security-hidden,
2752
+ .eos-security-hidden-delete {
2753
+ display: none !important;
2754
+ visibility: hidden !important;
2755
+ opacity: 0 !important;
2756
+ pointer-events: none !important;
2757
+ }
2758
+
2759
+ @media (max-width: 720px) {
2760
+ html.eos-app .MuiDrawer-paper,
2761
+ html.eos-app .eos-drawer { padding-left: 92px !important; }
2762
+ html.eos-app .eos-native-drawer-header { left: 6px !important; width: 52px !important; min-width: 52px !important; max-width: 52px !important; }
2763
+ html.eos-app .eos-native-drawer-header > div:first-child { width: 52px !important; min-width: 52px !important; max-width: 52px !important; }
2764
+ }
2765
+
2766
+ /* === NexoWatt EOS v30: nav-toggle position, assistant click layer, security visibility ===
2767
+ Keeps v29 stable backend. Only UI polish: black logo field, compact arrow moved
2768
+ further left with reserved spacing, EOS Assist click/focus layer and admin-only
2769
+ EOS security configuration visibility. */
2770
+ :root {
2771
+ --eos-nav-toggle-slot: 126px;
2772
+ }
2773
+
2774
+ html.eos-app .eos-brand-badge-mark {
2775
+ width: 58px !important;
2776
+ height: 58px !important;
2777
+ min-width: 58px !important;
2778
+ display: grid !important;
2779
+ place-items: center !important;
2780
+ border-radius: 19px !important;
2781
+ background:
2782
+ radial-gradient(circle at 50% 46%, rgba(0, 255, 136, 0.22), rgba(0, 0, 0, 0.94) 62%, #000 100%) !important;
2783
+ border: 1px solid rgba(126, 255, 216, 0.72) !important;
2784
+ box-shadow:
2785
+ inset 0 0 0 1px rgba(255, 255, 255, 0.04),
2786
+ inset 0 0 24px rgba(0, 255, 136, 0.18),
2787
+ 0 0 0 1px rgba(0, 0, 0, 0.70),
2788
+ 0 0 24px rgba(0, 255, 136, 0.56),
2789
+ 0 0 42px rgba(0, 212, 255, 0.18) !important;
2790
+ overflow: hidden !important;
2791
+ transform: translateY(-3px) !important;
2792
+ }
2793
+
2794
+ html.eos-app .eos-brand-badge-logo {
2795
+ background: transparent !important;
2796
+ border: 0 !important;
2797
+ box-shadow: none !important;
2798
+ width: 52px !important;
2799
+ height: 52px !important;
2800
+ min-width: 52px !important;
2801
+ min-height: 52px !important;
2802
+ padding: 4px !important;
2803
+ filter:
2804
+ brightness(2.35)
2805
+ contrast(1.24)
2806
+ saturate(1.50)
2807
+ drop-shadow(0 0 1px rgba(255, 255, 255, 0.98))
2808
+ drop-shadow(0 0 12px rgba(0, 255, 136, 0.82))
2809
+ drop-shadow(0 0 24px rgba(0, 212, 255, 0.30)) !important;
2810
+ }
2811
+
2812
+ html.eos-app .MuiDrawer-paper,
2813
+ html.eos-app .eos-drawer {
2814
+ padding-left: var(--eos-nav-toggle-slot) !important;
2815
+ }
2816
+
2817
+ html.eos-app .eos-native-drawer-header {
2818
+ left: 6px !important;
2819
+ top: 8px !important;
2820
+ width: 58px !important;
2821
+ min-width: 58px !important;
2822
+ max-width: 58px !important;
2823
+ z-index: 8 !important;
2824
+ }
2825
+
2826
+ html.eos-app .eos-native-drawer-header > div:first-child {
2827
+ width: 58px !important;
2828
+ min-width: 58px !important;
2829
+ max-width: 58px !important;
2830
+ }
2831
+
2832
+ html.eos-app .eos-native-drawer-header button.eos-nav-compact-toggle,
2833
+ html.eos-app .eos-native-drawer-header .eos-nav-compact-toggle,
2834
+ html.eos-app .eos-native-drawer-header button,
2835
+ html.eos-app .eos-native-drawer-header .MuiIconButton-root {
2836
+ width: 48px !important;
2837
+ height: 48px !important;
2838
+ min-width: 48px !important;
2839
+ min-height: 48px !important;
2840
+ border-radius: 17px !important;
2841
+ background:
2842
+ radial-gradient(circle at 50% 50%, rgba(0, 255, 136, 0.18), rgba(0, 0, 0, 0.82)) !important;
2843
+ border: 1px solid rgba(0, 255, 136, 0.54) !important;
2844
+ box-shadow: 0 0 18px rgba(0, 255, 136, 0.24), inset 0 1px 0 rgba(255,255,255,.06) !important;
2845
+ }
2846
+
2847
+ html.eos-app.eos-nav-compact .MuiDrawer-paper,
2848
+ html.eos-app.eos-nav-compact .eos-drawer {
2849
+ padding-left: 76px !important;
2850
+ }
2851
+
2852
+ /* Keep EOS Assist clickable even when the route content has high z-index layers. */
2853
+ html.eos-app .eos-assist-root,
2854
+ html.eos-app #eos-assist-root {
2855
+ pointer-events: auto !important;
2856
+ z-index: 3000 !important;
2857
+ }
2858
+ html.eos-app .eos-assist-button,
2859
+ html.eos-app .eos-assist-close,
2860
+ html.eos-app .eos-assist-send,
2861
+ html.eos-app .eos-assist-input,
2862
+ html.eos-app .eos-assist-panel {
2863
+ pointer-events: auto !important;
2864
+ }
2865
+ html.eos-app .eos-assist-root.eos-assist-open .eos-assist-panel,
2866
+ html.eos-app #eos-assist-root.eos-assist-open .eos-assist-panel {
2867
+ opacity: 1 !important;
2868
+ visibility: visible !important;
2869
+ pointer-events: auto !important;
2870
+ transform: translateY(0) scale(1) !important;
2871
+ }
2872
+
2873
+ /* EOS Security is an administrator-only configuration area. */
2874
+ html.eos-security-nonadmin .eos-security-admin-only-field,
2875
+ html.eos-security-non-admin-user .eos-security-admin-only-field,
2876
+ html.eos-security-nonadmin .eos-security-admin-only-tab,
2877
+ html.eos-security-non-admin-user .eos-security-admin-only-tab,
2878
+ html.eos-security-nonadmin .eos-security-settings-restricted .eos-security-admin-only-field,
2879
+ html.eos-security-non-admin-user .eos-security-settings-restricted .eos-security-admin-only-field {
2880
+ display: none !important;
2881
+ }
2882
+
2883
+ @media (max-width: 720px) {
2884
+ :root { --eos-nav-toggle-slot: 86px; }
2885
+ html.eos-app .eos-native-drawer-header { left: 6px !important; width: 50px !important; min-width: 50px !important; max-width: 50px !important; }
2886
+ html.eos-app .eos-native-drawer-header > div:first-child { width: 50px !important; min-width: 50px !important; max-width: 50px !important; }
2887
+ html.eos-app .eos-native-drawer-header button.eos-nav-compact-toggle,
2888
+ html.eos-app .eos-native-drawer-header .eos-nav-compact-toggle,
2889
+ html.eos-app .eos-native-drawer-header button,
2890
+ html.eos-app .eos-native-drawer-header .MuiIconButton-root { width: 42px !important; height: 42px !important; min-width: 42px !important; min-height: 42px !important; }
2891
+ }
2892
+
2893
+
2894
+ /* === NexoWatt EOS v30: nav arrow, black logo badge, assist/security polish === */
2895
+ html.eos-app .eos-brand-badge-mark {
2896
+ background:
2897
+ radial-gradient(circle at 50% 44%, rgba(0, 255, 136, 0.22), rgba(0, 0, 0, 0.96) 50%, #000 100%) !important;
2898
+ border: 1px solid rgba(124, 255, 214, 0.92) !important;
2899
+ box-shadow:
2900
+ inset 0 0 0 1px rgba(255,255,255,.075),
2901
+ inset 0 0 22px rgba(0,255,136,.24),
2902
+ 0 0 0 1px rgba(0,0,0,.82),
2903
+ 0 0 24px rgba(0,255,136,.72),
2904
+ 0 0 46px rgba(0,212,255,.22) !important;
2905
+ transform: translateY(-4px) !important;
2906
+ }
2907
+ html.eos-app .eos-brand-badge-logo {
2908
+ width: 52px !important;
2909
+ height: 52px !important;
2910
+ min-width: 52px !important;
2911
+ min-height: 52px !important;
2912
+ filter:
2913
+ brightness(2.45)
2914
+ contrast(1.28)
2915
+ saturate(1.58)
2916
+ drop-shadow(0 0 1px rgba(255,255,255,.95))
2917
+ drop-shadow(0 0 13px rgba(0,255,136,.90))
2918
+ drop-shadow(0 0 26px rgba(0,212,255,.32)) !important;
2919
+ }
2920
+ html.eos-app .MuiDrawer-paper,
2921
+ html.eos-app .eos-drawer {
2922
+ padding-left: 112px !important;
2923
+ }
2924
+ html.eos-app .eos-native-drawer-header {
2925
+ left: 4px !important;
2926
+ top: 8px !important;
2927
+ width: 58px !important;
2928
+ min-width: 58px !important;
2929
+ max-width: 58px !important;
2930
+ }
2931
+ html.eos-app .eos-native-drawer-header button.eos-nav-compact-toggle,
2932
+ html.eos-app .eos-native-drawer-header .eos-nav-compact-toggle {
2933
+ transform: translateX(-2px) !important;
2934
+ }
2935
+ html.eos-app .eos-hidden-logout,
2936
+ html.eos-app .eos-hidden-logout *,
2937
+ html.eos-app .eos-native-logout-hidden,
2938
+ html.eos-app .eos-native-logout-hidden * {
2939
+ display: none !important;
2940
+ visibility: hidden !important;
2941
+ opacity: 0 !important;
2942
+ pointer-events: none !important;
2943
+ }
2944
+ html.eos-app.eos-nav-compact .MuiDrawer-paper,
2945
+ html.eos-app.eos-nav-compact .eos-drawer {
2946
+ padding-left: 88px !important;
2947
+ }
2948
+ /* EOS Assist stable root */
2949
+ .eos-assist-root {
2950
+ position: fixed !important;
2951
+ right: 26px !important;
2952
+ bottom: 24px !important;
2953
+ z-index: 1700 !important;
2954
+ font-family: inherit !important;
2955
+ }
2956
+ .eos-assist-root .eos-assist-button,
2957
+ .eos-assist-button {
2958
+ display: grid !important;
2959
+ grid-template-columns: 12px auto !important;
2960
+ grid-template-rows: auto auto !important;
2961
+ column-gap: 8px !important;
2962
+ align-items: center !important;
2963
+ min-width: 156px !important;
2964
+ padding: 10px 14px !important;
2965
+ border-radius: 18px !important;
2966
+ border: 1px solid rgba(0, 255, 136, 0.48) !important;
2967
+ background: linear-gradient(135deg, rgba(0, 255, 136, 0.22), rgba(0, 212, 255, 0.12) 62%, rgba(0, 0, 0, 0.72)) !important;
2968
+ color: #f3fffb !important;
2969
+ box-shadow: 0 14px 32px rgba(0,0,0,.38), 0 0 24px rgba(0,255,136,.20) !important;
2970
+ cursor: pointer !important;
2971
+ }
2972
+ .eos-assist-panel {
2973
+ display: block !important;
2974
+ position: absolute !important;
2975
+ right: 0 !important;
2976
+ bottom: calc(100% + 12px) !important;
2977
+ width: min(430px, calc(100vw - 36px)) !important;
2978
+ max-height: min(650px, calc(100vh - 150px)) !important;
2979
+ overflow: auto !important;
2980
+ padding: 16px !important;
2981
+ border-radius: 22px !important;
2982
+ border: 1px solid rgba(0,255,136,.36) !important;
2983
+ background: radial-gradient(circle at 18% 0%, rgba(0,255,136,.14), transparent 44%), linear-gradient(180deg, rgba(8,29,44,.985), rgba(2,9,20,.985)) !important;
2984
+ color: #f3fffb !important;
2985
+ box-shadow: 0 24px 60px rgba(0,0,0,.55), 0 0 28px rgba(0,255,136,.16) !important;
2986
+ opacity: 0 !important;
2987
+ pointer-events: none !important;
2988
+ transform: translateY(10px) scale(.98) !important;
2989
+ transition: opacity .16s ease, transform .16s ease !important;
2990
+ }
2991
+ .eos-assist-root.eos-assist-open .eos-assist-panel,
2992
+ html.eos-assist-open .eos-assist-panel {
2993
+ opacity: 1 !important;
2994
+ pointer-events: auto !important;
2995
+ transform: translateY(0) scale(1) !important;
2996
+ }
2997
+ .eos-assist-card { margin-top: 10px; padding: 12px 13px; border-radius: 16px; border: 1px solid rgba(0,212,255,.20); background: rgba(0,0,0,.30); color: rgba(238,255,250,.92); font-size: 12px; line-height: 1.45; white-space: pre-line; }
2998
+ .eos-assist-actions { display: flex; flex-wrap: wrap; gap: 8px; margin: 12px 0; }
2999
+ .eos-assist-actions button { border-radius: 999px; border: 1px solid rgba(0,255,136,.24); background: rgba(0,255,136,.09); color: #effffc; padding: 7px 10px; font-weight: 800; cursor: pointer; }
3000
+ .eos-assist-logo { width: 36px; height: 36px; display: grid !important; place-items: center; border-radius: 13px; background: #000; border: 1px solid rgba(0,255,136,.45); box-shadow: 0 0 14px rgba(0,255,136,.22); }
3001
+ .eos-assist-logo img { width: 30px; height: 30px; object-fit: contain; filter: brightness(1.8) drop-shadow(0 0 8px rgba(0,255,136,.55)); }
3002
+ .eos-assist-foot { margin-top: 10px; color: rgba(226,245,255,.62); font-size: 11px; line-height: 1.35; }
3003
+ /* Non-admins must not see the EOS security settings tab/fields. */
3004
+ html.eos-security-nonadmin [data-eos-security-admin-only="true"],
3005
+ html.eos-security-non-admin-user [data-eos-security-admin-only="true"],
3006
+ html:not(.eos-security-admin):not(.eos-security-admin-user) [data-eos-security-admin-only="true"] {
3007
+ display: none !important;
3008
+ visibility: hidden !important;
3009
+ pointer-events: none !important;
3010
+ }
3011
+ .eos-security-restricted-note {
3012
+ border-radius: 18px !important;
3013
+ border: 1px solid rgba(255, 193, 7, .36) !important;
3014
+ background: linear-gradient(135deg, rgba(255,193,7,.14), rgba(0,0,0,.30)) !important;
3015
+ color: #fff8dd !important;
3016
+ margin: 8px 0 14px !important;
3017
+ padding: 12px 14px !important;
3018
+ }
3019
+ @media (max-width: 720px) {
3020
+ html.eos-app .MuiDrawer-paper,
3021
+ html.eos-app .eos-drawer { padding-left: 82px !important; }
3022
+ html.eos-app .eos-native-drawer-header { left: 4px !important; }
3023
+ .eos-assist-root { right: 14px !important; bottom: 16px !important; }
3024
+ }
@@ -31,7 +31,7 @@
31
31
  rel="stylesheet"
32
32
  href="css/leaflet.css"
33
33
  />
34
- <link rel="stylesheet" href="./css/eos-branding.css?v=29" />
34
+ <link rel="stylesheet" href="./css/eos-branding.css?v=30" />
35
35
  <link
36
36
  rel="manifest"
37
37
  href="manifest.json"
@@ -154,9 +154,9 @@
154
154
  <script type="module" crossorigin src="./assets/index-CQZugZ1z.js"></script>
155
155
  <link rel="modulepreload" crossorigin href="./assets/preload-helper-BDBacUwf.js">
156
156
  <link rel="modulepreload" crossorigin href="./assets/iobroker_admin__mf_v__runtimeInit__mf_v__-g2X2zhAf.js">
157
- <script defer src="./js/eos-branding.js?v=29"></script>
158
- <script defer src="./js/eos-security-ui.js?v=29"></script>
159
- <script defer src="./js/eos-assistant.js?v=29"></script>
157
+ <script defer src="./js/eos-branding.js?v=30"></script>
158
+ <script defer src="./js/eos-security-ui.js?v=30"></script>
159
+ <script defer src="./js/eos-assistant.js?v=30"></script>
160
160
  </head>
161
161
  <body>
162
162
  <noscript>You need to enable JavaScript to run this app.</noscript>