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>
56 lines
2.0 KiB
Markdown
56 lines
2.0 KiB
Markdown
# API JsonRPC <span class="badge ok">Supporté</span>
|
|
|
|
ETM PowerSync expose l'**API JSON-RPC de nymea** en local, étendue avec les namespaces
|
|
ETM (`Energy`, `AirConditioning`, `EvDash`).
|
|
|
|
---
|
|
|
|
## Connexion
|
|
|
|
| Mode | Adresse | Notes |
|
|
| --- | --- | --- |
|
|
| **TCP brut** | `<ip>:2222` | Le serveur envoie un message de bienvenue JSON (`\n`-délimité) à la connexion |
|
|
| **WebSocket** | `ws://<ip>:4444` | Le client envoie `JSONRPC.Hello` en premier |
|
|
|
|
Chaque message est un objet JSON terminé par `\n`. Les requêtes incluent un champ `id`
|
|
(entier) pour apparier la réponse. Les notifications n'ont pas de `id`.
|
|
|
|
---
|
|
|
|
## Authentification
|
|
|
|
1. Appeler [`JSONRPC.Authenticate`](../api/metier/jsonrpc.md#jsonrpcauthenticate) avec
|
|
`username`, `password` et `deviceName` → le serveur répond avec un `token`.
|
|
2. Inclure le `token` dans chaque requête suivante.
|
|
3. Pour recevoir les notifications : appeler `JSONRPC.SetNotificationStatus` avec
|
|
`{ "namespaces": ["Energy", "Integrations", ...] }`.
|
|
|
|
---
|
|
|
|
## Conventions énergie
|
|
|
|
| Grandeur | Convention |
|
|
| --- | --- |
|
|
| Production PV | **valeur négative** (convention producteur) |
|
|
| `currentPowerAcquisition` | réseau — positif = import, 0 si export |
|
|
| `currentPowerStorage` | batterie — positif = charge, négatif = décharge |
|
|
| Totaux d'énergie | en **kWh** |
|
|
| Timestamps | en **secondes** (Unix epoch) |
|
|
|
|
---
|
|
|
|
## Badges de permission
|
|
|
|
| Badge | Scope | Description |
|
|
| --- | --- | --- |
|
|
| <span class="badge perm-none">PUBLIC</span> | `PermissionScopeNone` | Lecture publique, aucun token requis |
|
|
| <span class="badge perm-control">CONTROL</span> | `PermissionScopeControlThings` / `ExecuteRules` | Contrôle des appareils et règles |
|
|
| <span class="badge perm-configure">CONFIGURE</span> | `PermissionScopeConfigureThings` / `ConfigureRules` | Configuration des intégrations et règles |
|
|
| <span class="badge perm-admin">ADMIN</span> | `PermissionScopeAdmin` | Administration système |
|
|
|
|
---
|
|
|
|
## Référence complète
|
|
|
|
→ [Référence API JsonRPC](../api/index.md)
|