diff --git a/AGENTS.md b/AGENTS.md index bb7a63b..25a595e 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -101,6 +101,46 @@ vers un gestionnaire d'énergie complet (EV, ECS, PAC SG-Ready, batterie). --- +## INVARIANTS BUILD / PACKAGING (ne pas re-questionner) + +### Nom et version du paquet Debian + +| Champ | Valeur | Raison | +|---|---|---| +| **Source / Package** | `powersync-energy-plugin-nymea` | Fork ETM, distingué de l'amont `nymea-energy-plugin-nymea` | +| **Version** | `1.15.0+etmN` (N incrémenté à chaque release) | Aligné sur `libnymea-energy` cible (`1.15.0`). Jamais `1.13.x`. | +| **Distribution** | `trixie` | OS cible hems (arm64 Debian 13 Trixie) | +| **Provides/Conflicts/Replaces** | `nymea-energy-plugin-nymea` | Permet de remplacer le plugin amont sans désinstallation manuelle | +| **TARGET `.so`** | `libnymea_energypluginnymea.so` | Inchangé (nom de chargement nymea fixé par l'amont) | + +### Build cross arm64 + +- **Hôte** : conteneur LXD `build-cross-arm64` sur `etm-powersync-dev` (amd64) +- **Commande** : `dpkg-buildpackage -aarm64 -b -uc -us` dans `/root/etm-powersync-energy-plugin-etm` +- **Dépendances arm64 requises** : `libnymea-dev:arm64`, `libnymea-energy-dev:arm64`, + `libnymea-tests-dev:arm64`, `nymea-experience-plugin-energy:arm64`, + `libqt5websockets5-dev:arm64`, `qtbase5-dev:arm64` — toutes en `1.15.0` +- **`lrelease`** : fourni par `qttools5-dev-tools` (amd64) — nécessaire si absent du conteneur +- **Ne pas builder sur le Pi** : Zero 2 W, 512 Mo → OOM garanti + +### Tests hors paquet deb + +- Les tests (`tests/`) ne sont **pas compilés** dans le `.deb` de prod. +- `etm-powersync-energy-plugin-etm.pro` : tests sous `build_tests { SUBDIRS += tests }` uniquement. +- `debian-qt5/rules` : `DH_OPTIONS=-N nymea-energy-tests` — exclut le paquet tests de tous les outils dh. +- Pour compiler les tests localement : `qmake CONFIG+=build_tests && make`. +- Cause racine : `libnymea-tests:arm64` 1.15.0 n'exporte pas `enableNotifications` → link fail cross. + +### Vérification post-build obligatoire + +```bash +dpkg-deb -I powersync-energy-plugin-nymea_*.deb | grep -E "Architecture|Version|Depends" +# Attendu : Architecture: arm64 ; Version: 1.15.0+etm* ; Depends: libnymea-energy (>= 1.15.0...) +# PAS de >= 1.15.2 dans Depends → sinon rebuild contre la bonne version des -dev:arm64 +``` + +--- + ## PLAN 3C (validé, morceaux 0-2 déjà compilés) Plan approuvé par Patrick. Corrections A (double déduction EV) et B (anti-clignotement ECS) diff --git a/debian-qt5/changelog b/debian-qt5/changelog index 91a4070..2a341aa 100644 --- a/debian-qt5/changelog +++ b/debian-qt5/changelog @@ -1,3 +1,14 @@ +powersync-energy-plugin-nymea (1.15.0+etm1) trixie; urgency=medium + + * Renommage paquet powersync-* + version 1.15.0 alignée sur libnymea-energy cible hems + * EnergyArbitrator : waterfall ECS+PAC, RuleBasedScheduler, watchdog L2 + * EcsRelayAdapter : 8 paliers binaires, off-before-on, verrous minOn/minOff + * SgReadyAdapter : 4 états SG-Ready, hystérésis kForceMargin=1.2, zone morte + * §1.d banc hems : enregistrement EcsRelayAdapter+SgReadyAdapter dans init() + * Build deb : tests exclus (CONFIG+=build_tests requis séparément) + + -- Patrick Schurig / ETM PowerSync Wed, 25 Jun 2026 12:00:00 +0200 + nymea-energy-plugin-nymea (1.13.0+etm1) jammy; urgency=medium * Fork ETM PowerSync de nymea-energy-plugin-nymea diff --git a/debian-qt5/control b/debian-qt5/control index 2c9d947..009d5fb 100644 --- a/debian-qt5/control +++ b/debian-qt5/control @@ -1,9 +1,9 @@ -Source: nymea-energy-plugin-nymea +Source: powersync-energy-plugin-nymea Section: utils Priority: optional Maintainer: Patrick Schurig / ETM PowerSync Standards-Version: 4.6.0 -Homepage: https://nymea.io +Homepage: https://git.etm-powersync.fr/ETM-Schurig/etm-powersync-energy-plugin-etm Build-Depends: debhelper (>= 9.0.0), dpkg-dev (>= 1.16.1~), libnymea-dev (>= 0.17), @@ -18,16 +18,21 @@ Build-Depends: debhelper (>= 9.0.0), gnuplot, -Package: nymea-energy-plugin-nymea +Package: powersync-energy-plugin-nymea Section: libs Architecture: any Multi-Arch: same Depends: ${shlibs:Depends}, ${misc:Depends}, nymea-experience-plugin-energy, -Description: nymea energy plugin for the energy experience - This nymea energy plugin adds the smart smart charging and overload protection - to the nymea energy experience. +Provides: nymea-energy-plugin-nymea +Conflicts: nymea-energy-plugin-nymea +Replaces: nymea-energy-plugin-nymea +Description: ETM PowerSync energy plugin for nymea (fork) + Fork ETM PowerSync de nymea-energy-plugin-nymea. Ajoute un arbitrage multi-charges + (ECS paliers, SG-Ready PAC, EV, batterie) avec waterfall unifié par priorité, + anti-clignotement (recrédit correction B), watchdog L2 compteur muet, et + mode dégradé conservateur. Package: nymea-energy-tests @@ -37,3 +42,4 @@ Multi-Arch: same Depends: ${shlibs:Depends}, ${misc:Depends}, Description: Tests and simulations for nymea:energy + Built separately with CONFIG+=build_tests ; not included in prod deb builds. diff --git a/debian-qt5/nymea-energy-plugin-nymea.install.in b/debian-qt5/powersync-energy-plugin-nymea.install.in similarity index 100% rename from debian-qt5/nymea-energy-plugin-nymea.install.in rename to debian-qt5/powersync-energy-plugin-nymea.install.in