17 Commits

Author SHA1 Message Date
b26274595c feat: référence API JsonRPC générée depuis introspect.json
Some checks failed
Build & Deploy docs / build-deploy (push) Failing after 10m17s
- Nouveau générateur scripts/gen_api_reference.py : 19 namespaces →
  docs/api/metier/ (10) + docs/api/systeme/ (9) + notifications.md +
  types.md (96 types · 55 enums · 4 flags) + SUMMARY.md literate-nav
- Badges permissionScope (perm-none/control/configure/admin) dans extra.css
- Guide docs/integrations/jsonrpc-api.md (connexion TCP/WS, auth, conventions énergie)
- mkdocs.yml : Référence API dans la nav, REST→JsonRPC renommé
- mkdocs build --strict : 0 warnings · --check idempotent

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-04 08:15:37 +02:00
f3b254c5af feat: canal stable pour nymea upstream, Keba fork ETM, cohérence badges
Some checks failed
Build & Deploy docs / build-deploy (push) Failing after 11m56s
Correction 2 — canal par défaut selon l'origine :
- Tous les plugins origin:nymea passent de nightly→stable (upstream redistribué tel quel)
- Plugins ETM conservent leur canal manuel (eastron=stable, abb-b2x/abb-terra/waveshare=testing)
- Ajout name: sur 5 plugins sans meta.json (v2xeamberelectric→Amber Electric, mtec,
  genericenergy, genericheatingcooling, genericcar)

Correction 3 — Keba fork ETM :
- repo: etm-powersync-plugins (fork corrigé KC-P30), channel: testing, origin: etm
- La version nymea-plugins (bugguée) n'est plus déclarée → écartée de facto

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-03 16:09:03 +02:00
a7dedb3366 feat: badges origine centralisés, TOC masqué sur les index de catégorie
All checks were successful
Build & Deploy docs / build-deploy (push) Successful in 1m54s
- render_header_badges() fonction partagée pour canal + origine + stabilité
- Marqueur __badges_<plugin>__ dans les 9 fiches (5 manuelles + 4 auto)
- Marqueur __index_<cat>__ dans les 3 index manuels (compteurs, bornes, smart)
- Front matter hide: [toc] sur tous les index de catégorie
- .badge.experimental ajouté dans extra.css (waveshare)
- process() gère __badges_ keys via render_header_badges()
- build_category_index_page() inclut hide:toc front matter

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-03 15:42:04 +02:00
0f2be2e000 feat: badge origine + catalogue complet PORTING_STATUS (60 plugins)
All checks were successful
Build & Deploy docs / build-deploy (push) Successful in 1m47s
Partie 1 — Dimension « origine » (3ème badge)
- gen_device_reference.py : ORIGIN_BADGES dict, resolve_origin() déduit
  l'origine depuis repo: (nymea-* → NYMEA, etm-* → ETM) ou champ origin:
  explicite ; colonne Origine ajoutée dans matrice et index de catégorie ;
  badge origine dans l'en-tête des fiches générées
- extra.css : styles .badge.origin-nymea (gris-bleu), .badge.origin-etm
  (vert), .badge.origin-tiers (orange)
- compatibilite.md : légende étendue aux 3 dimensions (canal, origine, stab.)
- Catégorie « generic » ajoutée (Types génériques nymea)

Partie 2 — Catalogue complet PORTING_STATUS.yaml
- 9 entrées validées conservées avec leurs canaux (stable/testing/nightly)
- 41 nouveaux plugins énergie activés (channel: nightly) : onduleurs PV
  (sma, solax, sungrow, huawei, kostal, mtec, wattsonic, sunspec, bosswerk,
  solarlog), IRVE (easee, goecharger, evbox, everest, v2xeamberelectric,
  amperfied, mennekes, webasto, pcelectric, phoenixconnect, inro),
  HVAC (tado, homeconnect, stiebeleltron, idm, drexelundweiss, alphainnotec,
  mypv), compteurs (powerfox, bgetech, inepro, schrack, vestel, senseair),
  smartdevices (shelly, tasmota, tuya, gpio, usbrelay, usbrly82, mqttclient,
  modbuscommander, unipi), tarifs (awattar, tempo, spothinta),
  generic (genericenergy, genericheatingcooling, genericcar)
- 60 plugins domotique/hors-périmètre commentés (réactivables via # → -)
- 50 fiches générées + 2 index créés (tarifs/, generic/)
- mkdocs build --strict OK, --check exit 0 (idempotent)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-03 15:02:25 +02:00
e6d9225a4a feat: génération complète des fiches appareils depuis PORTING_STATUS + JSON
Some checks failed
Build & Deploy docs / build-deploy (push) Failing after 13m43s
Le générateur crée désormais entièrement les fiches inexistantes (titre,
badges, section générée BEGIN/END) et les index.md de catégorie manquants.
Les fiches rédigées manuellement (eastron, abb-b2x, abb-terra, keba,
waveshare) sont préservées — seul le contenu entre marqueurs est réinjecté.

- gen_device_reference.py : ensure_device_pages() + ensure_category_indexes()
  créent les .md manquants dans le format exact de process() → idempotent
- render_matrix() : inclut tous les canaux (nightly sans JSON = ligne stub)
- generate_summary() : intègre check mode + inclut toutes les entrées nav
- process()/repl() : gère __index_<cat>__ et nightly sans JSON → stub
- load_plugins/load_meta : logging explicite pour JSON vides ou non parsables
- Supprimer stubs manuels hvac/{daikinairco,sgready,simpleheatpump,index}.md
  et onduleurs/{fronius,index}.md → remplacés par fichiers générés
- 9 appareils dans la matrice et dans le SUMMARY.md, mkdocs build --strict OK

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-03 13:05:23 +02:00
5ca9b91b17 ci: install rsync dans le conteneur avant déploiement
All checks were successful
Build & Deploy docs / build-deploy (push) Successful in 1m20s
2026-06-03 07:06:32 +02:00
acc33d399f add 6 pages stub hvac/index hvac/daikinairco hvac/sgready hvac/simpleheatpump onduleurs/index onduleurs/fronius -> test runner gitea
Some checks failed
Build & Deploy docs / build-deploy (push) Failing after 1m14s
2026-06-03 06:56:26 +02:00
171076db28 ci: corrige nom repo nymea-plugins-genericthings
Some checks failed
Build & Deploy docs / build-deploy (push) Failing after 14m29s
2026-06-03 06:17:30 +02:00
e6884e6488 ci: install python3-pip dans le conteneur node
Some checks failed
Build & Deploy docs / build-deploy (push) Failing after 1m27s
2026-06-02 14:44:55 +02:00
9ff2f07e4b ci: remove smoke test workflow
Some checks failed
Build & Deploy docs / build-deploy (push) Failing after 7s
2026-06-02 14:38:11 +02:00
42407c2b98 ci: restore build & deploy workflow
Some checks failed
smoke / hello (push) Successful in 5s
Build & Deploy docs / build-deploy (push) Failing after 11s
2026-06-02 14:33:08 +02:00
b955aca55e runner on VM etm-srv-runner
All checks were successful
smoke / hello (push) Successful in 1m22s
2026-06-02 12:25:55 +02:00
925e78a8c2 ci: supprime defaults working-dir, cd explicite dans chaque step
Some checks failed
Build & Deploy docs / build-deploy (push) Failing after 0s
2026-06-02 11:13:45 +02:00
3f83cc49de ci: debug checkout — workdir fixe + echos
Some checks failed
Build & Deploy docs / build-deploy (push) Failing after 6s
2026-06-02 10:55:09 +02:00
c81cdd3e41 ci: remplace actions/checkout+setup-python par git/pip natifs (évite téléchargements GitHub)
Some checks failed
Build & Deploy docs / build-deploy (push) Failing after 10m4s
2026-06-02 10:26:57 +02:00
9eee067829 feat: docs-as-code — générateur, literate-nav, badges, CI Gitea Actions
- PORTING_STATUS.yaml : source de vérité canal APT + placement nav
- scripts/gen_device_reference.py : génération matrice + fiches + SUMMARY.md
  depuis integrationplugin*.json + meta.json ; nightly sans JSON = invisible
- mkdocs.yml : plugin literate-nav, nav 6 sections, Appareils via SUMMARY.md
- .gitea/workflows/docs.yml : CI complet — fetch JSON (branche auto-détectée),
  génération, build --strict, check idempotence, rsync deploy
- Badges HTML (stable/testing/nightly + consumer/community + ok/part/road)
- Fiches appareils : Eastron, ABB B2x, ABB Terra, Keba, Waveshare
- requirements.txt : mkdocs-material, mkdocs-literate-nav, PyYAML

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-02 08:53:54 +02:00
Patrick Schurig
394d8bc54a docs: <ce qui a changé> 2026-05-28 17:26:17 +02:00