iobroker.eos-admin 7.9.87-rc.3 → 7.9.89

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.
@@ -0,0 +1,73 @@
1
+ # Installation und Abnahme – NexoWatt EOS Admin 7.9.89
2
+
3
+ ## Installation aus npm
4
+
5
+ ```bash
6
+ cd /opt/iobroker
7
+ iobroker backup
8
+ iobroker stop eos-admin.0
9
+ npm install --no-save --omit=dev iobroker.eos-admin@7.9.89
10
+ iobroker upload eos-admin
11
+ iobroker restart eos-admin.0
12
+ ```
13
+
14
+ ## Portbelegung
15
+
16
+ ```bash
17
+ iobroker set admin.0 --port 18081 --ip 127.0.0.1 --enabled false
18
+ iobroker set eos-admin.0 --port 8081 --ip 0.0.0.0 --enabled true
19
+ iobroker restart eos-admin.0
20
+ ```
21
+
22
+ Aufruf:
23
+
24
+ ```text
25
+ http://SYSTEM-IP:8081
26
+ ```
27
+
28
+ ## Pflichtabnahme
29
+
30
+ ### Admin / Service
31
+
32
+ - Anmeldung mit dem fest eingerichteten Passwort.
33
+ - Kein erzwungener Erstkennwortdialog.
34
+ - Expertenmodus verfügbar.
35
+ - Interner Admin und System-Notfallsicherung sichtbar.
36
+ - Vollständige Zugangs- und Rechteverwaltung.
37
+
38
+ ### Installateur
39
+
40
+ - Erste Aktivierung: Ebene **Installateur**, Benutzer `installer`, Passwort leer, danach persönliches Passwort setzen.
41
+ - Kein Expertenmodus.
42
+ - Inbetriebnahme, Module, Dienste, Datenpunkte und Diagnose erreichbar.
43
+ - **Zugänge & Rechte** erreichbar; nur Endkunden-Reset möglich.
44
+ - Interner Admin und interne BackItUp-Notfallreserve nicht sichtbar.
45
+ - NexoWatt Sicherung nutzbar, sofern installiert und freigegeben.
46
+
47
+ ### Gast / Endkunde
48
+
49
+ - Erste Aktivierung: Ebene **Gast / Endkunde**, Benutzer `guest`, Passwort leer, danach persönliches Passwort setzen.
50
+ - Kein Expertenmodus.
51
+ - Freigegebenes Smart Home, Räume, Funktionen und Bedienoberflächen erreichbar.
52
+ - Keine technischen System-, Repository-, Zertifikats- oder Rohdiagnosebereiche.
53
+ - Interner Admin und interne BackItUp-Notfallreserve nicht sichtbar.
54
+ - NexoWatt Sicherung nutzbar, sofern freigegeben.
55
+
56
+ ### Bedienoberfläche
57
+
58
+ - EOS Assist sitzt im Kopfbereich und überlappt keine Inhalte.
59
+ - Zugangsverwaltung erscheint nur unter **Zugänge & Rechte**.
60
+ - Startseite ist **Übersicht**, nicht Easy.
61
+ - Keine `permissionError`-Leerseite.
62
+ - Dialoge, Popups und Schließen-Schaltflächen funktionieren.
63
+ - Schreibbare Datenpunkte sind entsprechend Rolle bedienbar.
64
+
65
+ ## Rückfall auf 7.9.86
66
+
67
+ ```bash
68
+ cd /opt/iobroker
69
+ iobroker stop eos-admin.0
70
+ npm install --no-save --omit=dev iobroker.eos-admin@7.9.86
71
+ iobroker upload eos-admin
72
+ iobroker restart eos-admin.0
73
+ ```
@@ -1,37 +1,33 @@
1
1
  {
2
- "version": "7.9.87-rc.3",
3
- "channel": "release-candidate",
4
- "baseFrontend": "validated v84 runtime with NexoWatt EOS role, first-login and product branding hardening",
2
+ "version": "7.9.89",
3
+ "channel": "stable-latest",
4
+ "baseFrontend": "validated Admin 7 runtime with NexoWatt EOS role, login, overview and service-reserve hardening",
5
5
  "runtimeEntry": "v84",
6
- "releaseType": "product-role-first-login-rc3",
7
- "release": "product-role-first-login-rc3",
8
- "label": "v87-rc3",
6
+ "releaseType": "stable-sales-product-role-login-overview-reserve-visibility",
7
+ "release": "stable-sales-product-role-login-overview-reserve-visibility",
8
+ "label": "v89",
9
9
  "notes": [
10
- "Stable 7.9.86 remains unchanged; this release candidate becomes 7.9.87 stable only after system and field acceptance.",
11
- "Administrator/NexoWatt Service keeps unrestricted access and is never forced through first-login password setup.",
12
- "Installer and end-user accounts must choose their own password at the first authenticated login.",
13
- "Installers receive commissioning and troubleshooting access without users, credentials, repositories, certificates, ACL or expert administration.",
14
- "End users can open EOS Admin for Smart Home, room/function assignment and explicitly released NexoWatt UI surfaces.",
15
- "Customer-visible platform branding is NexoWatt EOS; technical compatibility identifiers and third-party license notices remain internal.",
16
- "After first-login password setup, every detected authentication-session representation is invalidated server-side and authentication cookies are cleared.",
17
- "Release candidates are publishable on npm under the rc dist-tag; the project .npmrc and publish guard prevent accidental latest publication.",
18
- "Fresh EOS Admin instances use port 8081; the internal legacy admin is moved to the protected local port 18081 by the EOS security policy/installer sequence."
10
+ "7.9.89 is the accepted stable sales-product release and is intended for npm dist-tag latest.",
11
+ "Installer and Guest/End User perform their one-time passwordless activation inside the normal login card, then must create a personal password.",
12
+ "Admin/Service retains the configured password and is excluded from passwordless activation and role reset.",
13
+ "EOS Assist is integrated into the header and account management exists only under Zugänge & Rechte.",
14
+ "The current tab-intro overview is modernized; the Easy overview is not used.",
15
+ "The internal admin and BackItUp emergency reserve are restricted to Admin/Service; NexoWatt Backup remains available to approved roles.",
16
+ "EOS Admin defaults to port 8081; the internal legacy admin remains protected on 127.0.0.1:18081."
19
17
  ],
20
18
  "changes": [
21
- "Creates and repairs NexoWatt Service, Installer and End User role groups with purpose-specific ACL profiles.",
22
- "Repairs EOS Admin, system configuration and repository metadata ACLs so authenticated installer/end-user sessions can read the shell without gaining direct system-write access.",
23
- "Keeps certificates, platform licenses and credential objects restricted to NexoWatt Admin / Service.",
24
- "Adds a blocking first-login password workflow for installer/end-user roles with server-side password validation and forced logout.",
25
- "Allows end-user Smart Home room/function assignments while keeping raw system, adapter and expert areas hidden.",
26
- "Adds a low-overhead visible-branding sanitizer for NexoWatt EOS product presentation.",
27
- "Uses the authenticated EOS self-service route with trusted backend context so installer/end-user roles can set their own first-login password without global user-management rights.",
28
- "Fails closed to the end-user policy for missing socket identities and invalidates first-login sessions after the password is changed.",
29
- "Replaces the all-or-nothing prerelease publish blocker with an rc-channel guard and regression test.",
30
- "Sets the EOS Admin product default port to 8081 and adds a regression test that rejects a return to 8091."
19
+ "Integrates role selection into the normal login card and removes the separate passwordless-first-login panel.",
20
+ "Moves EOS Assist into the top header and removes overlapping floating launchers.",
21
+ "Keeps account and password reset functions exclusively under Zugänge & Rechte.",
22
+ "Modernizes the current overview for Admin, Installer and Guest/End User without using Easy mode.",
23
+ "Restricts exact official admin and backitup adapter/instance visibility and control to Admin/Service at UI, socket and object ACL layers.",
24
+ "Keeps NexoWatt Backup visible and usable for approved installer and end-user roles.",
25
+ "Retains Admin/Service-only expert mode, service settings and security administration.",
26
+ "Publishes the final stable package through npm latest with exact version and package validation."
31
27
  ],
32
- "brandingCacheVersion": 87,
33
- "shellCacheVersion": 87,
34
- "nativeShellVersion": 87,
35
- "shellCacheTag": "87rc3",
36
- "repositoryEntry": "nexowatt-eos-admin-repository-entry-v87-rc3.json"
28
+ "brandingCacheVersion": 89,
29
+ "shellCacheVersion": 89,
30
+ "nativeShellVersion": 89,
31
+ "shellCacheTag": "89",
32
+ "repositoryEntry": "nexowatt-eos-admin-repository-entry-v89.json"
37
33
  }
@@ -0,0 +1,33 @@
1
+ # npm-Veröffentlichung – NexoWatt EOS Admin 7.9.89 Stable
2
+
3
+ ## Vorprüfung
4
+
5
+ ```powershell
6
+ npm run check:eos-publish-channel
7
+ npm run check:eos-package
8
+ npm run check:eos-stability
9
+ npm publish --dry-run --tag latest
10
+ ```
11
+
12
+ ## Veröffentlichung
13
+
14
+ ```powershell
15
+ npm login
16
+ npm whoami
17
+ npm publish --tag latest
18
+ ```
19
+
20
+ ## Kontrolle
21
+
22
+ ```powershell
23
+ npm view iobroker.eos-admin@latest version
24
+ npm dist-tag ls iobroker.eos-admin
25
+ ```
26
+
27
+ Erwartet:
28
+
29
+ ```text
30
+ latest: 7.9.89
31
+ ```
32
+
33
+ Bereits veröffentlichte Paketversionen dürfen nicht mit verändertem Inhalt erneut veröffentlicht werden. Jede spätere Änderung benötigt eine höhere Versionsnummer.
package/README.md CHANGED
@@ -13,6 +13,12 @@ Standard-Port: 8081
13
13
 
14
14
  Damit überschreibt der Adapter den offiziellen `admin`-Adapter nicht mehr. Die alte ioBroker-Admin-Oberfläche kann parallel vorhanden bleiben, während NexoWatt-Systeme über `eos-admin.0` die EOS-Oberfläche nutzen.
15
15
 
16
+ ## Aktuelle Stable 7.9.89
17
+
18
+ Die Verkaufsversion 7.9.89 verwendet die aktuelle **Übersicht** als Startseite, integriert EOS Assist in den Header und führt Zugangsverwaltung ausschließlich unter **Zugänge & Rechte**. Installer und Guest aktivieren ihr Konto beim ersten Login im normalen Anmeldeformular einmalig ohne Startpasswort und vergeben anschließend ein persönliches Passwort. Admin / Service bleibt unverändert.
19
+
20
+ Der interne Admin und die interne BackItUp-Notfallreserve bleiben installiert, sind aber ausschließlich für Admin / Service sichtbar. Für den regulären Betrieb wird die NexoWatt Sicherung verwendet.
21
+
16
22
  ## Installation über das NexoWatt Repository
17
23
 
18
24
  Im NexoWatt Repository muss der Adapter unter dem Key `eos-admin` stehen. Da das npm-Paket unscoped `iobroker.eos-admin` heißt, ist kein `packetName` nötig.
@@ -23,7 +29,7 @@ Minimaler Repository-Eintrag:
23
29
  {
24
30
  "eos-admin": {
25
31
  "name": "eos-admin",
26
- "version": "7.9.29",
32
+ "version": "7.9.89",
27
33
  "title": "NexoWatt EOS Admin",
28
34
  "desc": {
29
35
  "de": "NexoWatt EOS Administrationsoberfläche als eigenständiger Adapter.",
@@ -81,7 +87,7 @@ Danach läuft NexoWatt EOS Admin unter:
81
87
  http://DEINE-IP:8081
82
88
  ```
83
89
 
84
- Den offiziellen `admin`-Adapter erst löschen, wenn der Zugriff über `eos-admin.0` zuverlässig funktioniert.
90
+ Den internen `admin`-Adapter nicht löschen. Er bleibt deaktiviert auf `127.0.0.1:18081` als geschützte Service-Reserve erhalten.
85
91
 
86
92
 
87
93
  ## EOS Rollen- und Löschschutz
@@ -97,7 +103,12 @@ Standardmäßig geschützt:
97
103
 
98
104
  ```text
99
105
  eos-admin
106
+ admin
100
107
  backitup
108
+ nexowatt-backup
109
+ eos-backup
110
+ nexowatt-devices
111
+ nexowatt-ui
101
112
  ```
102
113
 
103
114
  Administratoren können weitere Adapter in der Tabelle `Protected adapters` ergänzen. Die sichtbaren Admin-Gruppen werden über `EOS admin groups` definiert, standardmäßig `administrator`.
@@ -0,0 +1,26 @@
1
+ # NexoWatt EOS Admin 7.9.89 – Stable
2
+
3
+ Version 7.9.89 ist die freigegebene Produktlinie für NexoWatt-EOS-Verkaufssysteme auf Basis der bewährten Admin-7-Laufzeit.
4
+
5
+ ## Produktfunktionen
6
+
7
+ - Rollenmodell **Admin / Service**, **Installateur** und **Gast / Endkunde**.
8
+ - Expertenmodus ausschließlich für Admin / Service.
9
+ - Installateurzugriff für Inbetriebnahme, Konfiguration und Fehlersuche.
10
+ - Endkundenzugriff für freigegebenes Smart Home, Räume, Funktionen und NexoWatt-Bedienbereiche.
11
+ - Erstanmeldung von `installer` und `guest` direkt in der normalen Anmeldekarte: Benutzerstufe wählen, Passwort einmalig leer lassen und anschließend zwingend ein persönliches Passwort vergeben.
12
+ - Passwort-Reset: Admin / Service darf Installateur und Endkunde zurücksetzen; Installateur ausschließlich Endkunde.
13
+ - EOS Assist im Kopfbereich ohne Überlagerung der Inhaltsfläche.
14
+ - Zugangsverwaltung ausschließlich unter **Zugänge & Rechte**.
15
+ - Moderne aktuelle **Übersicht**; die Easy-Übersicht wird nicht als Produktstartseite verwendet.
16
+ - Interner System-Admin und interne BackItUp-Notfallreserve nur für Admin / Service sichtbar.
17
+ - NexoWatt Sicherung für die dafür freigegebenen Rollen nutzbar.
18
+ - Standardport 8081; interne Admin-Reserve auf 127.0.0.1:18081.
19
+
20
+ ## Sicherheitsprinzip
21
+
22
+ Ausgeblendete Bedienelemente sind nicht die einzige Schutzschicht. Kritische Aktionen werden zusätzlich über Rollenprüfung, Socket-Guard und Objekt-ACLs abgesichert. Fehlende oder unbekannte Rollen fallen auf die geringsten Endkundenrechte zurück.
23
+
24
+ ## Rückfallstand
25
+
26
+ Die vorherige Stable 7.9.86 bleibt als dokumentierter Rückfallstand erhalten. Vor einem Produktupdate ist ein vollständiges Backup vorgeschrieben.
@@ -0,0 +1,40 @@
1
+ # Release-Abnahme – NexoWatt EOS Admin 7.9.89
2
+
3
+ ## Automatische Prüfgates
4
+
5
+ - [ ] Versionsgleichheit in package.json, Lockdateien, io-package.json, Frontend und Build-Info
6
+ - [ ] npm-Kanal `latest`
7
+ - [ ] Paketvalidierung
8
+ - [ ] Syntax- und Importintegrität
9
+ - [ ] Frontend-Abhängigkeitsgraph
10
+ - [ ] Rollen- und Rechteprüfung
11
+ - [ ] integrierte Erstanmeldung
12
+ - [ ] Passwort-Reset-Hierarchie
13
+ - [ ] Expertenmodus-Sperre
14
+ - [ ] interne Admin-/BackItUp-Reserve
15
+ - [ ] NexoWatt-Sicherung für freigegebene Rollen
16
+ - [ ] moderne Übersicht und Header-EOS-Assist
17
+ - [ ] Zugangsverwaltung nur unter Zugänge & Rechte
18
+ - [ ] Popup-, Datenpunkt- und Updateprüfung
19
+ - [ ] Standardport 8081
20
+ - [ ] npm pack und npm publish --dry-run
21
+
22
+ ## Reale Systemabnahme
23
+
24
+ - [ ] Neuinstallation auf dem Produktcontroller
25
+ - [ ] Update von 7.9.86
26
+ - [ ] Admin-/Service-Anmeldung
27
+ - [ ] Installateur-Erstanmeldung ohne Startpasswort
28
+ - [ ] Guest-Erstanmeldung ohne Startpasswort
29
+ - [ ] Admin setzt Installateur zurück
30
+ - [ ] Admin setzt Guest zurück
31
+ - [ ] Installateur setzt Guest zurück
32
+ - [ ] Installateur kann weder sich selbst noch Admin zurücksetzen
33
+ - [ ] Guest kann keine Zugänge zurücksetzen
34
+ - [ ] Neustart des Controllers
35
+ - [ ] Anmeldung nach Neustart
36
+ - [ ] NexoWatt Sicherung erstellen und Rücklesetest
37
+ - [ ] interne Notfallreserve nur als Admin sichtbar
38
+ - [ ] Rollback auf 7.9.86
39
+
40
+ Eine Checkbox darf erst nach nachvollziehbarem Testnachweis gesetzt werden.
@@ -385,13 +385,46 @@
385
385
  newLine: true,
386
386
  type: 'checkbox',
387
387
  label: 'Standardkonten automatisch den EOS Rollen zuordnen',
388
- help: 'Ordnet vorhandene Konten installer/installateur der Installateurgruppe und user/endkunde/kunde der Endkundengruppe zu. Eigene Konten werden weiterhin über Gruppen verwaltet.',
388
+ help: 'Stellt die Standardkonten installer und guest bereit, ordnet vorhandene Alternativkonten den passenden Rollen zu und bereitet die einmalige Erstanmeldung vor.',
389
389
  default: true,
390
390
  xs: 12,
391
391
  sm: 12,
392
392
  md: 8,
393
393
  lg: 5,
394
394
  },
395
+ eosPasswordlessFirstLogin: {
396
+ newLine: true,
397
+ type: 'checkbox',
398
+ label: 'Einmalige Erstanmeldung ohne Passwort erlauben',
399
+ help: 'Nur ausdrücklich vorbereitete Installateur- und Endkunden-/Gast-Konten können sich einmalig ohne Passwort aktivieren und müssen unmittelbar ein persönliches Passwort vergeben. Admin/Service ist ausgeschlossen.',
400
+ default: true,
401
+ xs: 12,
402
+ sm: 12,
403
+ md: 8,
404
+ lg: 5,
405
+ },
406
+ eosPasswordlessFirstLoginPrivateNetworkOnly: {
407
+ type: 'checkbox',
408
+ label: 'Erstanmeldung auf lokales/privates Netzwerk begrenzen',
409
+ help: 'Verhindert eine kennwortlose Erstaktivierung über öffentliche Client-Adressen. Für Verkaufsgeräte empfohlen und standardmäßig aktiv.',
410
+ default: true,
411
+ xs: 12,
412
+ sm: 12,
413
+ md: 8,
414
+ lg: 5,
415
+ },
416
+ eosPasswordClaimTtlMinutes: {
417
+ type: 'number',
418
+ label: 'Gültigkeit der Erstaktivierung (Minuten)',
419
+ help: 'Der kurzlebige Aktivierungsnachweis verfällt automatisch. Zulässig sind 3 bis 30 Minuten.',
420
+ min: 3,
421
+ max: 30,
422
+ default: 10,
423
+ xs: 12,
424
+ sm: 6,
425
+ md: 4,
426
+ lg: 3,
427
+ },
395
428
  eosProtectAdapterDeletion: {
396
429
  newLine: true,
397
430
  type: 'checkbox',