[packaging] renommage powersync-* + version 1.15.0+etm1 + invariants AGENTS

- debian/control : Source+Package → powersync-energy-plugin-nymea ;
  Provides/Conflicts/Replaces: nymea-energy-plugin-nymea (remplace l'amont) ;
  description + homepage ETM.
- debian/changelog : nouvelle entrée tête powersync-energy-plugin-nymea
  (1.15.0+etm1) trixie — plus de 1.13.0/jammy comme version courante.
- debian/nymea-energy-plugin-nymea.install.in → powersync-energy-plugin-nymea.install.in
  (déjà commité via git mv).
- AGENTS.md : section "INVARIANTS BUILD / PACKAGING" (nom powersync-*,
  version +etmN, cross arm64, tests hors deb, vérification post-build).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Patrick Schurig 2026-06-25 14:50:40 +02:00
parent f7cb1ba8af
commit 3afef0436d
4 changed files with 63 additions and 6 deletions

View File

@ -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)

View File

@ -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 <etm.schurig@gmail.com> 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

View File

@ -1,9 +1,9 @@
Source: nymea-energy-plugin-nymea
Source: powersync-energy-plugin-nymea
Section: utils
Priority: optional
Maintainer: Patrick Schurig / ETM PowerSync <etm.schurig@gmail.com>
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.