iobroker.goodwe-sems 0.1.11 → 0.1.12
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.de.md +65 -32
- package/README.md +11 -1
- package/io-package.json +14 -14
- package/package.json +2 -2
package/README.de.md
CHANGED
|
@@ -9,9 +9,9 @@
|
|
|
9
9
|

|
|
10
10
|
[](https://www.paypal.com/ncp/payment/TT6MTBLXX9L9U)
|
|
11
11
|
|
|
12
|
-
Liest Wechselrichter-, Batterie- und Energiefluss-Daten aus dem **GoodWe SEMS Portal (Cloud)** – für Anlagen, die (z. B. weil kein LAN-Zugriff auf den Wechselrichter besteht) **nicht** mit dem lokalen [ioBroker.goodwe](https://github.com/FossyTom/ioBroker.goodwe)-Adapter (Modbus/UDP, Port 8899) abgefragt werden können.
|
|
12
|
+
Liest Wechselrichter-, Batterie- und Energiefluss-Daten aus dem **[GoodWe](https://www.goodwe.com) [SEMS Portal](https://www.semsportal.com) (Cloud)** – für Anlagen, die (z. B. weil kein LAN-Zugriff auf den Wechselrichter besteht) **nicht** mit dem lokalen [ioBroker.goodwe](https://github.com/FossyTom/ioBroker.goodwe)-Adapter (Modbus/UDP, Port 8899) abgefragt werden können.
|
|
13
13
|
|
|
14
|
-
Login erfolgt mit dem **ganz normalen SEMS-Portal-Konto** (dasselbe wie unter semsportal.com / in der SEMS-App). Ein GoodWe
|
|
14
|
+
Login erfolgt mit dem **ganz normalen SEMS-Portal-Konto** (dasselbe wie unter semsportal.com / in der SEMS-App). Ein GoodWe-„Organization“/OpenAPI-Konto wird **nicht** benötigt.
|
|
15
15
|
|
|
16
16
|
## Inhaltsverzeichnis
|
|
17
17
|
|
|
@@ -29,7 +29,7 @@ Login erfolgt mit dem **ganz normalen SEMS-Portal-Konto** (dasselbe wie unter se
|
|
|
29
29
|
|
|
30
30
|
## Warum dieser Adapter?
|
|
31
31
|
|
|
32
|
-
GoodWe ET/EH/BH/BT-Wechselrichter lassen sich normalerweise lokal per Modbus/UDP auslesen (siehe [ioBroker.goodwe](https://github.com/FossyTom/ioBroker.goodwe)). Steht kein LAN-Zugriff auf den Wechselrichter zur Verfügung (z. B. weil nur ein WLAN/LTE-Stick mit dem SEMS-Portal verbunden ist und das Zielnetz nicht erreichbar ist), bleibt nur der Umweg über die Cloud: das **SEMS Portal** (
|
|
32
|
+
GoodWe ET/EH/BH/BT-Wechselrichter lassen sich normalerweise lokal per Modbus/UDP auslesen (siehe [ioBroker.goodwe](https://github.com/FossyTom/ioBroker.goodwe)). Steht kein LAN-Zugriff auf den Wechselrichter zur Verfügung (z. B. weil nur ein WLAN/LTE-Stick mit dem SEMS-Portal verbunden ist und das Zielnetz nicht erreichbar ist), bleibt nur der Umweg über die Cloud: das **[SEMS Portal](https://www.semsportal.com)** ([GoodWe](https://www.goodwe.com)), über das die Anlage ohnehin schon überwacht wird.
|
|
33
33
|
|
|
34
34
|
## API-Herkunft und Grenzen (bitte lesen)
|
|
35
35
|
|
|
@@ -54,12 +54,12 @@ Für ein **normales** SEMS-Portal-Konto (wie es die meisten Privatanwender haben
|
|
|
54
54
|
|
|
55
55
|
## Installation
|
|
56
56
|
|
|
57
|
-
|
|
57
|
+
Sobald dieser Adapter im offiziellen ioBroker-Adapter-Repository gelistet ist, wird er ganz normal installiert: **Admin -> Adapter -> nach „goodwe-sems“ suchen -> installieren**.
|
|
58
|
+
|
|
59
|
+
Bis dahin kann ein ioBroker-Administrator ihn manuell auf dem ioBroker-Host hinzufügen:
|
|
58
60
|
|
|
59
61
|
```
|
|
60
|
-
|
|
61
|
-
npm install https://github.com/bueste/ioBroker.goodwe-sems/tarball/main
|
|
62
|
-
iobroker add goodwe-sems
|
|
62
|
+
iobroker url iobroker.goodwe-sems
|
|
63
63
|
```
|
|
64
64
|
|
|
65
65
|
## Konfiguration
|
|
@@ -106,7 +106,7 @@ Felder, die das Portal liefert, aber dieser Adapter (noch) nicht kennt, gehen ni
|
|
|
106
106
|
- **Rate-Limit (`GY0429`)** → sofortige Pause (Default 300 s), `info.rateLimited = true`.
|
|
107
107
|
- **Login-Fehler** → exponentielles Backoff (bis 1 h Deckel), damit falsche Zugangsdaten das Konto nicht zusätzlich belasten.
|
|
108
108
|
- **Netzwerk-/Protokollfehler** → moderates Backoff.
|
|
109
|
-
- Nach konfigurierbar vielen aufeinanderfolgenden Fehlversuchen (Default 3) gilt die Anlage als
|
|
109
|
+
- Nach konfigurierbar vielen aufeinanderfolgenden Fehlversuchen (Default 3) gilt die Anlage als „offline“ und es wird - falls aktiviert - eine Pushover-Meldung ausgelöst.
|
|
110
110
|
- Alles wird zusätzlich strukturiert ins ioBroker-Log geschrieben (`error`/`warn`/`debug` je nach Schweregrad).
|
|
111
111
|
|
|
112
112
|
## Pushover-Benachrichtigungen
|
|
@@ -121,9 +121,10 @@ Ausgelöst wird bei: SEMS-Login-Fehler, SEMS-Rate-Limit, länger andauerndem Aus
|
|
|
121
121
|
|
|
122
122
|
## Sicherheit & Datenschutz
|
|
123
123
|
|
|
124
|
-
- SEMS-Passwort und Pushover-API-Token sind
|
|
124
|
+
- SEMS-Passwort und Pushover-API-Token sind an der Wurzel von `io-package.json` als `encryptedNative`/`protectedNative` markiert und werden von ioBroker verschlüsselt abgelegt, nicht im Klartext geloggt (Kontoname wird in Log-Meldungen maskiert, z. B. `st***@gmail.com`).
|
|
125
125
|
- Der Adapter führt **ausschließlich lesende** Zugriffe aus (`GetMonitorDetailByPowerstationId`, `GetPowerStationIdByOwner`). Es gibt bewusst **keine** Fernsteuerungs-/Schreibfunktion (`SaveRemoteControlInverter`) - das wäre ein deutlich größeres Sicherheits- und Haftungsrisiko und war nicht Teil der Anforderung.
|
|
126
|
-
- Keine Drittanbieter-Abhängigkeiten für den HTTP-Zugriff: Es wird das in Node.js ≥
|
|
126
|
+
- Keine Drittanbieter-Abhängigkeiten für den HTTP-Zugriff: Es wird das in Node.js ≥22 eingebaute `fetch` verwendet statt einer zusätzlichen HTTP-Bibliothek - kleinere Angriffsfläche, weniger Supply-Chain-Risiko.
|
|
127
|
+
- Die vom Login-Server gelieferte API-Basis-URL wird validiert (nur HTTPS auf GoodWe-eigenen Domains), bevor sie für weitere Anfragen genutzt wird - eine manipulierte Login-Antwort kann das Session-Token dadurch nicht an einen fremden Host umleiten.
|
|
127
128
|
- Alle Netzwerkfehler werden typisiert abgefangen; es werden keine ungeprüften Daten aus der API-Antwort ausgeführt (`eval`, `Function`, o. ä. werden nirgends verwendet).
|
|
128
129
|
|
|
129
130
|
## Entwicklung
|
|
@@ -137,15 +138,65 @@ npm test # Unit-Tests (lib/mapping.js, lib/semsApi.js, lib/notify.js) +
|
|
|
137
138
|
Empfehlung vor jedem Release zusätzlich lokal:
|
|
138
139
|
|
|
139
140
|
```
|
|
140
|
-
npx @iobroker/
|
|
141
|
+
npx @iobroker/repochecker@latest .
|
|
141
142
|
```
|
|
142
143
|
|
|
143
144
|
Pull Requests willkommen, insbesondere um zusätzliche, vom Portal gelieferte Felder zu ergänzen (siehe `info.rawResponse` mit aktivierter Debug-Option) oder Übersetzungen zu verbessern.
|
|
144
145
|
|
|
145
146
|
## Changelog
|
|
146
147
|
|
|
148
|
+
<!--
|
|
149
|
+
Platzhalter für die nächste Version (am Zeilenanfang):
|
|
150
|
+
### **WORK IN PROGRESS**
|
|
151
|
+
-->
|
|
147
152
|
### **WORK IN PROGRESS**
|
|
148
153
|
|
|
154
|
+
### 0.1.12 (2026-07-19)
|
|
155
|
+
|
|
156
|
+
Weitere Fixes aus einem Repochecker-Recheck der `ioBroker.repositories`-Listing-PR:
|
|
157
|
+
|
|
158
|
+
- (Stefan Bühler) **[E2004]** Eintrag `0.1.10` aus `common.news` in `io-package.json` entfernt - die CI dieser Version schlug vor dem Deploy-Schritt fehl, sie wurde also nie tatsächlich auf npm veröffentlicht
|
|
159
|
+
- (Stefan Bühler) **[S3014]** `needs: check-and-lint` beim `adapter-tests`-Job ergänzt, damit dieser erst nach erfolgreichem Linting läuft
|
|
160
|
+
- (Stefan Bühler) **[W0066]** `@types/node` auf `^22` fixiert (war das offene `>=22`, das auf eine neuere Major-Version mit unpassenden Typdefinitionen auflösen könnte)
|
|
161
|
+
- (Stefan Bühler) **[W4040]/[W4042]** JSON-Schema-Zuordnungen in `.vscode/settings.json` korrigiert: `fileMatch`-Einträge dürfen keinen führenden Slash haben, und das jsonConfig-Schema muss zusätzlich auf `admin/jsonCustom.json` und `admin/jsonTab.json` passen
|
|
162
|
+
- (Stefan Bühler) **[S8913]** `.github/workflows/automerge-dependabot.yml` (mit `iobroker-bot-orga/action-automerge-dependabot@v1`) und `.github/auto-merge.yml` ergänzt, damit Patch-Updates (und Minor-Updates bei Dev-Dependencies) von Dependabot automatisch gemerged werden
|
|
163
|
+
|
|
164
|
+
### 0.1.11 (2026-07-19)
|
|
165
|
+
|
|
166
|
+
- (Stefan Bühler) einen echten CI-Fehler aus 0.1.10 behoben: Node.js 20.x aus der `adapter-tests`-Matrix in `.github/workflows/test-and-release.yml` entfernt. Diese Version ist inkompatibel mit `engines.node >=22` (ebenfalls seit 0.1.10), sobald die offizielle `ioBroker/testing-action-adapter@v1`-Action `npm ci` mit aktiviertem `engine-strict` ausführt - das ließ diesen Matrix-Job abstürzen und brach per Fail-Fast alle anderen Jobs ab
|
|
167
|
+
|
|
168
|
+
### 0.1.10 (2026-07-19)
|
|
169
|
+
|
|
170
|
+
Zweite Runde von Fixes für weitere Befunde eines strengeren automatisierten `@iobroker/repochecker`-Rechecks der `ioBroker.repositories`-Listing-PR:
|
|
171
|
+
|
|
172
|
+
- (Stefan Bühler) **[W0028]** `engines.node` auf `>=22` angehoben
|
|
173
|
+
- (Stefan Bühler) **[W0063]** `chai`, `chai-as-promised`, `mocha`, `sinon` aus devDependencies entfernt (bereits in `@iobroker/testing` enthalten)
|
|
174
|
+
- (Stefan Bühler) **[S0065]/[S0085]/[S0087]** `@types/node`, `@tsconfig/node22` und `/tsconfig.json` für Editor-Typprüfung ergänzt
|
|
175
|
+
- (Stefan Bühler) **[S5026]** Release-Plugin `@alcalzone/release-script-plugin-manual-review` ergänzt
|
|
176
|
+
- (Stefan Bühler) **[W3013]/[W3015]/[W3017]** `.github/workflows/test-and-release.yml` neu geschrieben: nutzt jetzt die offiziellen geteilten Actions `ioBroker/testing-action-check@v1`, `ioBroker/testing-action-adapter@v1` und `ioBroker/testing-action-deploy@v1` statt handgeschriebener Steps
|
|
177
|
+
- (Stefan Bühler) `test/integration.js` ergänzt (Adapter-Start-Smoke-Test über den Integrations-Harness von `@iobroker/testing`), damit `npm run test:integration` erfolgreich läuft
|
|
178
|
+
- (Stefan Bühler) **[E1032]** `common.news` in `io-package.json` auf die vom Repository-Builder verwendeten 7 Einträge gekürzt
|
|
179
|
+
- (Stefan Bühler) **[E5512]** fehlende Pflicht-Eigenschaft `size` beim Pushover-Abschnitts-Header in `admin/jsonConfig.json` ergänzt
|
|
180
|
+
- (Stefan Bühler) **[S5601]** `admin/i18n` vom langen `{lang}/translations.json`-Format auf das kurze `{lang}.json`-Format migriert
|
|
181
|
+
- (Stefan Bühler) **[S4036]** `.vscode/settings.json` mit JSON-Schema-Zuordnungen für `io-package.json` und `admin/jsonConfig.json` ergänzt
|
|
182
|
+
- (Stefan Bühler) **[S8901]** `.github/dependabot.yml` ergänzt (npm + github-actions, wöchentlich, mit Cooldown und einer Ignore-Regel für Major-/Minor-Updates von `@types/node`)
|
|
183
|
+
|
|
184
|
+
### 0.1.9 (2026-07-19)
|
|
185
|
+
|
|
186
|
+
Behebt die strengeren Befunde des automatisierten `@iobroker/repochecker`, die bei der `ioBroker.repositories`-Listing-PR aufgetreten sind:
|
|
187
|
+
|
|
188
|
+
- (Stefan Bühler) **[E1057]** `encryptedNative`/`protectedNative` von `common` an die Wurzel von `io-package.json` verschoben, entsprechend dem aktuellen Schema
|
|
189
|
+
- (Stefan Bühler) **[E3009]/[E3010]/[E3011]/[E3012]** `engines.node` auf `>=20`, `@iobroker/adapter-core` auf `^3.4.1`, die `js-controller`-Abhängigkeit auf `>=6.0.11`, die `admin`-GlobalDependency auf `>=7.6.20` angehoben
|
|
190
|
+
- (Stefan Bühler) **[E3040]** devDependencies aktualisiert (`@iobroker/adapter-dev`, `@iobroker/testing`, mocha, esbuild u. a.) auf aktuelle Major-Versionen
|
|
191
|
+
- (Stefan Bühler) **[E3000er-Serie]** `.github/workflows/test-and-release.yml` auf das aktuelle offizielle Template umgestellt: Jobs umbenannt (`check-and-lint`, `adapter-tests`, `adapter-check`, `deploy`), volle OS/Node-Testmatrix (ubuntu/windows/macos x 20/22/24), `concurrency`-Gruppe, Deploy-Job auf Node 24 fixiert
|
|
192
|
+
- (Stefan Bühler) **[E5005]** globale `setTimeout`/`clearTimeout` durch adapter-verwaltete Timer (`adapter.setTimeout`/`adapter.clearTimeout`) in `lib/notify.js` und `lib/semsApi.js` ersetzt
|
|
193
|
+
- (Stefan Bühler) **[E5043]** auf `require("node:crypto")` umgestellt
|
|
194
|
+
- (Stefan Bühler) **[E5507]/[E5510]/[E5512]/[E5612]** `admin/jsonConfig.json` korrigiert: fehlende `lg`/`xl`-Responsive-Größen bei allen Items ergänzt, einen literalen Label-String durch einen echten i18n-Key ersetzt (`loginTab`, in allen 11 Übersetzungsdateien ergänzt)
|
|
195
|
+
- (Stefan Bühler) **[E6004]/[E6015]/[W0037]/[W0076]** `README.md` ins Englische übersetzt (Pflichtsprache), bisherigen deutschen Inhalt nach `README.de.md` verschoben, `CHANGELOG_OLD.md` für ältere Einträge ergänzt
|
|
196
|
+
- (Stefan Bühler) **[W9501]** überflüssige `.npmignore` entfernt (durch `files` in package.json ersetzt)
|
|
197
|
+
- (Stefan Bühler) **[E9006]** `.commitinfo` zur `.gitignore` ergänzt
|
|
198
|
+
- (Stefan Bühler) **[S4036]/[S5026]** `prettier.config.mjs` ergänzt, Codebasis neu formatiert, `jsdoc/reject-any-type` für den opaken Node-Timer-Handle-Typ mit begründendem Kommentar deaktiviert
|
|
199
|
+
|
|
149
200
|
### 0.1.8 (2026-07-19)
|
|
150
201
|
|
|
151
202
|
ioBroker-Adapter-Check-Befunde behoben:
|
|
@@ -153,8 +204,8 @@ ioBroker-Adapter-Check-Befunde behoben:
|
|
|
153
204
|
- (Stefan Bühler) **[E254]** News-Einträge für 0.1.1/0.1.2 entfernt - diese Tags wurden zwar gepusht, aber der zugehörige npm-Publish-Job schlug damals fehl (fehlendes NPM_TOKEN bzw. zu alte npm-CLI für OIDC), die Versionen existieren nie auf npm
|
|
154
205
|
- (Stefan Bühler) **[W132]** dadurch automatisch unter dem 7-Einträge-Limit des Repository-Builders für `common.news`
|
|
155
206
|
- (Stefan Bühler) **[W184]** veraltetes `common.title` entfernt (durch `common.titleLang` ersetzt) und veraltetes/ignoriertes `common.main` entfernt (Entry-Point kommt aus `package.json`)
|
|
156
|
-
- (Stefan Bühler) **[W034]** `@iobroker/adapter-core` von ^3.1.6 auf ^3.2.2 angehoben
|
|
157
|
-
- (Stefan Bühler) **[W173]/[W174]/[E999]/[W401]**: `password` ist bereits korrekt in `encryptedNative`/`protectedNative` gelistet (per Tarball-Inspektion verifiziert) - diese Meldungen sowie der globale Axios-404-Fehler beim Abruf von `sources-dist-latest.json` sind Nebenwirkungen davon, dass der Adapter noch nicht im offiziellen ioBroker-Repository gelistet
|
|
207
|
+
- (Stefan Bühler) **[W034]** `@iobroker/adapter-core` von ^3.1.6 auf ^3.2.2 angehoben
|
|
208
|
+
- (Stefan Bühler) **[W173]/[W174]/[E999]/[W401]**: `password` ist bereits korrekt in `encryptedNative`/`protectedNative` gelistet (per Tarball-Inspektion verifiziert) - diese Meldungen sowie der globale Axios-404-Fehler beim Abruf von `sources-dist-latest.json` sind Nebenwirkungen davon, dass der Adapter noch nicht im offiziellen ioBroker-Repository gelistet war
|
|
158
209
|
|
|
159
210
|
### 0.1.7 (2026-07-19)
|
|
160
211
|
|
|
@@ -179,25 +230,7 @@ Sicherheits-/Qualitätsaudit (Security-Tester, Maintainer-Review, Fuzzing der Ma
|
|
|
179
230
|
|
|
180
231
|
- (Stefan Bühler) fix: PayPal-Spendenlink im README korrigiert (Button-Link statt Donate-Link)
|
|
181
232
|
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
- (Stefan Bühler) docs: PayPal-Spendenlink im README ergänzt
|
|
185
|
-
|
|
186
|
-
### 0.1.3 (2026-07-18)
|
|
187
|
-
|
|
188
|
-
- (Stefan Bühler) CI: OIDC Trusted Publishing repariert - Node 22 Runner bringt npm 10.9.x mit, was unter der für Trusted Publishing benötigten Version (>=11.5.1) liegt. Release-Job aktualisiert npm jetzt explizit vor `npm publish`.
|
|
189
|
-
|
|
190
|
-
### 0.1.2 (2026-07-18)
|
|
191
|
-
|
|
192
|
-
- (Stefan Bühler) CI: npm-Publish von langlebigem `NPM_TOKEN` auf OIDC Trusted Publishing umgestellt (kein Secret mehr im Repo nötig)
|
|
193
|
-
|
|
194
|
-
### 0.1.1 (2026-07-18)
|
|
195
|
-
|
|
196
|
-
- (Stefan Bühler) fix `repository.url` field format in package.json (removed npm-publish normalization warning)
|
|
197
|
-
|
|
198
|
-
### 0.1.0 (2026-07-18)
|
|
199
|
-
|
|
200
|
-
- (Stefan Bühler) initial release: SEMS-Portal-Login (SEMS+ mit Legacy-Fallback), automatische Anlagen-Erkennung, vollständiges Monitoring (Station/KPI/PowerFlow/Battery/EV-Charger/pro Wechselrichter), Rate-Limit-Handling, Backoff, Pushover-Alarmierung, Admin6-JSON-Config, i18n (11 Sprachen), Unit-Tests.
|
|
233
|
+
Ältere Changelog-Einträge stehen in [CHANGELOG_OLD.md](CHANGELOG_OLD.md) (Englisch).
|
|
201
234
|
|
|
202
235
|
## Lizenz
|
|
203
236
|
|
package/README.md
CHANGED
|
@@ -123,7 +123,7 @@ Triggered on: SEMS login failure, SEMS rate limit, a prolonged outage, unexpecte
|
|
|
123
123
|
|
|
124
124
|
- The SEMS password and the Pushover API token are marked as `encryptedNative`/`protectedNative` at the root of `io-package.json` and are stored encrypted by ioBroker, never logged in plain text (the account name is masked in log messages, e.g. `st***@gmail.com`).
|
|
125
125
|
- The adapter performs **read-only** access only (`GetMonitorDetailByPowerstationId`, `GetPowerStationIdByOwner`). There is deliberately **no** remote-control/write function (`SaveRemoteControlInverter`) - that would be a considerably larger security and liability risk and was not part of the requirement.
|
|
126
|
-
- No third-party dependency for HTTP access: the built-in `fetch` of Node.js >=
|
|
126
|
+
- No third-party dependency for HTTP access: the built-in `fetch` of Node.js >=22 is used instead of an additional HTTP library - a smaller attack surface, less supply-chain risk.
|
|
127
127
|
- The API base URL returned by the login response is validated (HTTPS on GoodWe-owned domains only) before any further request uses it, so a manipulated login response cannot redirect the session token to a foreign host.
|
|
128
128
|
- All network errors are caught in a typed way; no unchecked data from the API response is ever executed (`eval`, `Function`, and similar are not used anywhere).
|
|
129
129
|
|
|
@@ -151,6 +151,16 @@ Pull requests are welcome, especially to add further fields delivered by the por
|
|
|
151
151
|
-->
|
|
152
152
|
### **WORK IN PROGRESS**
|
|
153
153
|
|
|
154
|
+
### 0.1.12 (2026-07-19)
|
|
155
|
+
|
|
156
|
+
Further fixes from a repochecker recheck on the `ioBroker.repositories` listing PR:
|
|
157
|
+
|
|
158
|
+
- (Stefan Bühler) **[E2004]** removed the `0.1.10` entry from `common.news` in `io-package.json` - that version's CI failed before the deploy step, so it was never actually published to npm
|
|
159
|
+
- (Stefan Bühler) **[S3014]** declared `needs: check-and-lint` on the `adapter-tests` job so it only runs after linting succeeds
|
|
160
|
+
- (Stefan Bühler) **[W0066]** pinned `@types/node` to `^22` (was the open-ended `>=22`, which could resolve to a newer major with mismatched typings)
|
|
161
|
+
- (Stefan Bühler) **[W4040]/[W4042]** fixed the JSON schema associations in `.vscode/settings.json`: `fileMatch` entries must not have a leading slash, and the jsonConfig schema must also match `admin/jsonCustom.json` and `admin/jsonTab.json`
|
|
162
|
+
- (Stefan Bühler) **[S8913]** added `.github/workflows/automerge-dependabot.yml` (using `iobroker-bot-orga/action-automerge-dependabot@v1`) and `.github/auto-merge.yml` so patch updates (and minor updates for dev dependencies) from Dependabot are merged automatically
|
|
163
|
+
|
|
154
164
|
### 0.1.11 (2026-07-19)
|
|
155
165
|
|
|
156
166
|
- (Stefan Bühler) fixed a real CI break introduced in 0.1.10: removed Node.js 20.x from the `adapter-tests` matrix in `.github/workflows/test-and-release.yml`. It is incompatible with `engines.node >=22` (also introduced in 0.1.10) once the official `ioBroker/testing-action-adapter@v1` action runs `npm ci` with `engine-strict` enabled, which crashed that matrix job and cancelled every other job via fail-fast
|
package/io-package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"common": {
|
|
3
3
|
"name": "goodwe-sems",
|
|
4
|
-
"version": "0.1.
|
|
4
|
+
"version": "0.1.12",
|
|
5
5
|
"news": {
|
|
6
6
|
"0.1.5": {
|
|
7
7
|
"en": "fix: correct PayPal donation link in README",
|
|
@@ -68,19 +68,6 @@
|
|
|
68
68
|
"uk": "усунено суворіші перевірки PR ioBroker.repositories: encryptedNative/protectedNative перенесено в корінь io-package.json, оновлено залежності, переписано CI, README перекладено англійською (обов'язково)",
|
|
69
69
|
"zh-cn": "解决更严格的 ioBroker.repositories PR 检查:将 encryptedNative/protectedNative 移至 io-package.json 根目录,更新依赖项,重写 CI,将 README 翻译为英文(必需)"
|
|
70
70
|
},
|
|
71
|
-
"0.1.10": {
|
|
72
|
-
"en": "address second round of stricter repochecker findings: engines.node >=22, remove devDependencies already provided by @iobroker/testing, add @types/node/@tsconfig/node22/tsconfig.json, use official ioBroker/testing-action-check|adapter|deploy@v1 reusable GitHub Actions, add integration tests, trim common.news to 7 entries, add required \"size\" to admin header, migrate i18n to short {lang}.json format, add .vscode/settings.json and .github/dependabot.yml",
|
|
73
|
-
"de": "zweite Runde strengerer repochecker-Befunde behoben: engines.node >=22, von @iobroker/testing bereitgestellte devDependencies entfernt, @types/node/@tsconfig/node22/tsconfig.json ergänzt, offizielle ioBroker/testing-action-check|adapter|deploy@v1 Actions verwendet, Integrationstests ergänzt, common.news auf 7 Einträge gekürzt, fehlendes \"size\" bei Admin-Header ergänzt, i18n auf Kurzformat {lang}.json migriert, .vscode/settings.json und .github/dependabot.yml ergänzt",
|
|
74
|
-
"ru": "устранена вторая волна более строгих замечаний repochecker: engines.node >=22, использованы официальные GitHub Actions ioBroker/testing-action-*, добавлены интеграционные тесты, common.news сокращён до 7 записей, i18n переведён в короткий формат",
|
|
75
|
-
"pt": "resolvida segunda ronda de constatações mais rigorosas do repochecker: engines.node >=22, usadas as GitHub Actions oficiais ioBroker/testing-action-*, testes de integração adicionados, common.news reduzido para 7 entradas, i18n migrado para formato curto",
|
|
76
|
-
"nl": "tweede ronde strengere repochecker-bevindingen opgelost: engines.node >=22, officiële ioBroker/testing-action-* GitHub Actions gebruikt, integratietests toegevoegd, common.news teruggebracht tot 7 items, i18n gemigreerd naar kort formaat",
|
|
77
|
-
"fr": "deuxième série de constats repochecker plus stricts corrigée : engines.node >=22, utilisation des GitHub Actions officielles ioBroker/testing-action-*, ajout de tests d'intégration, common.news réduit à 7 entrées, i18n migré vers le format court",
|
|
78
|
-
"it": "risolto il secondo giro di rilievi più severi di repochecker: engines.node >=22, utilizzate le GitHub Actions ufficiali ioBroker/testing-action-*, aggiunti test di integrazione, common.news ridotto a 7 voci, i18n migrato al formato breve",
|
|
79
|
-
"es": "se resolvió la segunda ronda de hallazgos más estrictos de repochecker: engines.node >=22, se usaron las GitHub Actions oficiales ioBroker/testing-action-*, se agregaron pruebas de integración, common.news reducido a 7 entradas, i18n migrado al formato corto",
|
|
80
|
-
"pl": "rozwiązano drugą rundę bardziej rygorystycznych ustaleń repochecker: engines.node >=22, użyto oficjalnych GitHub Actions ioBroker/testing-action-*, dodano testy integracyjne, common.news skrócono do 7 wpisów, i18n zmigrowano do krótkiego formatu",
|
|
81
|
-
"uk": "усунено другу хвилю суворіших зауважень repochecker: engines.node >=22, використано офіційні GitHub Actions ioBroker/testing-action-*, додано інтеграційні тести, common.news скорочено до 7 записів, i18n перенесено у короткий формат",
|
|
82
|
-
"zh-cn": "解决第二轮更严格的 repochecker 问题:engines.node >=22,使用官方 ioBroker/testing-action-* GitHub Actions,添加集成测试,common.news 精简至 7 条,i18n 迁移为短格式"
|
|
83
|
-
},
|
|
84
71
|
"0.1.11": {
|
|
85
72
|
"en": "fix broken CI: remove Node.js 20.x from the adapter-tests matrix - it is incompatible with engines.node >=22 (introduced in 0.1.10) under the official action's engine-strict npm ci, which crashed that matrix job and cancelled all others",
|
|
86
73
|
"de": "defekte CI behoben: Node.js 20.x aus der adapter-tests-Matrix entfernt - inkompatibel mit engines.node >=22 (seit 0.1.10) unter dem engine-strict npm ci der offiziellen Action, wodurch dieser Matrix-Job abstürzte und alle anderen abgebrochen wurden",
|
|
@@ -93,6 +80,19 @@
|
|
|
93
80
|
"pl": "naprawiono uszkodzone CI: usunięto Node.js 20.x z macierzy adapter-tests - niekompatybilne z engines.node >=22 (wprowadzone w 0.1.10)",
|
|
94
81
|
"uk": "виправлено зламаний CI: видалено Node.js 20.x з матриці adapter-tests - несумісний з engines.node >=22 (введено в 0.1.10)",
|
|
95
82
|
"zh-cn": "修复损坏的 CI:从 adapter-tests 矩阵中移除 Node.js 20.x - 与 engines.node >=22(0.1.10 中引入)不兼容"
|
|
83
|
+
},
|
|
84
|
+
"0.1.12": {
|
|
85
|
+
"en": "further recheck fixes: remove news entry for 0.1.10 (never published to npm - its CI failed before the deploy step), declare \"needs: check-and-lint\" on the adapter-tests job, pin @types/node to \"^22\" (was open-ended \">=22\"), fix .vscode/settings.json schema fileMatch patterns (drop leading slash, add jsonCustom.json/jsonTab.json), add dependabot auto-merge workflow + config",
|
|
86
|
+
"de": "weitere Recheck-Fixes: News-Eintrag fuer 0.1.10 entfernt (nie auf npm veroeffentlicht - CI schlug vor dem Deploy-Schritt fehl), \"needs: check-and-lint\" beim adapter-tests-Job ergaenzt, @types/node auf \"^22\" fixiert (war offenes \">=22\"), Schema-fileMatch in .vscode/settings.json korrigiert (kein fuehrender Slash, jsonCustom.json/jsonTab.json ergaenzt), Dependabot-Automerge-Workflow + Konfiguration ergaenzt",
|
|
87
|
+
"ru": "дальнейшие исправления: удалена запись news для 0.1.10 (никогда не публиковалась в npm), needs: check-and-lint для adapter-tests, @types/node зафиксирован на ^22, исправлены схемы в .vscode/settings.json, добавлен automerge для dependabot",
|
|
88
|
+
"pt": "mais correcoes: removida a entrada de news para 0.1.10 (nunca publicada no npm), needs: check-and-lint no job adapter-tests, @types/node fixado em ^22, esquemas corrigidos em .vscode/settings.json, automerge do dependabot adicionado",
|
|
89
|
+
"nl": "verdere fixes: news-item voor 0.1.10 verwijderd (nooit op npm gepubliceerd), needs: check-and-lint toegevoegd aan adapter-tests, @types/node vastgezet op ^22, schema's in .vscode/settings.json gecorrigeerd, dependabot automerge toegevoegd",
|
|
90
|
+
"fr": "autres corrections : entree news pour 0.1.10 supprimee (jamais publiee sur npm), needs: check-and-lint ajoute au job adapter-tests, @types/node fixe a ^22, schemas corriges dans .vscode/settings.json, automerge dependabot ajoute",
|
|
91
|
+
"it": "ulteriori correzioni: rimossa la voce news per 0.1.10 (mai pubblicata su npm), aggiunto needs: check-and-lint al job adapter-tests, @types/node fissato a ^22, schemi corretti in .vscode/settings.json, aggiunto automerge per dependabot",
|
|
92
|
+
"es": "mas correcciones: se elimino la entrada de news para 0.1.10 (nunca publicada en npm), se agrego needs: check-and-lint al job adapter-tests, @types/node fijado en ^22, esquemas corregidos en .vscode/settings.json, se agrego automerge de dependabot",
|
|
93
|
+
"pl": "kolejne poprawki: usunieto wpis news dla 0.1.10 (nigdy nie opublikowano na npm), dodano needs: check-and-lint do zadania adapter-tests, @types/node ustalono na ^22, poprawiono schematy w .vscode/settings.json, dodano automerge dependabot",
|
|
94
|
+
"uk": "подальші виправлення: видалено запис news для 0.1.10 (ніколи не публікувався на npm), додано needs: check-and-lint для adapter-tests, @types/node зафіксовано на ^22, виправлено схеми в .vscode/settings.json, додано automerge для dependabot",
|
|
95
|
+
"zh-cn": "进一步修复:移除 0.1.10 的 news 条目(从未发布到 npm),为 adapter-tests 任务添加 needs: check-and-lint,将 @types/node 固定为 ^22,修复 .vscode/settings.json 中的 schema 匹配,添加 dependabot 自动合并"
|
|
96
96
|
}
|
|
97
97
|
},
|
|
98
98
|
"titleLang": {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "iobroker.goodwe-sems",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.12",
|
|
4
4
|
"description": "ioBroker adapter to read GoodWe inverter data from the SEMS Portal cloud API (for installations without local/LAN access to the inverter).",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "bueste",
|
|
@@ -65,7 +65,7 @@
|
|
|
65
65
|
"@iobroker/eslint-config": "^2.3.4",
|
|
66
66
|
"@iobroker/testing": "^5.3.0",
|
|
67
67
|
"@tsconfig/node22": "^22.0.5",
|
|
68
|
-
"@types/node": "
|
|
68
|
+
"@types/node": "^22"
|
|
69
69
|
},
|
|
70
70
|
"overrides": {
|
|
71
71
|
"adm-zip": "^0.6.0",
|