All checks were successful
Build & Deploy docs / build-deploy (push) Successful in 4m0s
Le badge PUBLIC de PermissionScopeNone devient AUTH : sur un transport authentifié, nymea exige un token valide pour toute méthode sauf JSONRPC.Hello, Authenticate et RequestPushButtonAuth (jsonrpcserverimplementation.cpp, tag 1.15.2). « Lecture publique, aucun token requis » était faux, en trois langues. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
49 lines
2.0 KiB
Markdown
49 lines
2.0 KiB
Markdown
---
|
|
hide:
|
|
- toc
|
|
---
|
|
|
|
|
|
!!! info "Référence en anglais"
|
|
Les noms de méthodes, de champs, de types et les descriptions ci-dessous
|
|
sont ceux de l'API elle-même, **en anglais**. Ils sont laissés tels quels :
|
|
ce sont les chaînes que vous écrirez dans vos requêtes. Seules les pages
|
|
d'explication sont traduites.
|
|
# Référence API JsonRPC
|
|
|
|
ETM PowerSync expose l'**API JSON-RPC de nymea** en local, y compris les extensions ETM
|
|
(`Energy`, `AirConditioning`, `EvDash`).
|
|
|
|
## Connexion
|
|
|
|
| Mode | Adresse | Notes |
|
|
| --- | --- | --- |
|
|
| **TCP brut** | `<ip>:2222` | nymea parle en premier (welcome JSON `\n`-delimited) |
|
|
| **WebSocket** | `ws://<ip>:4444` | le client envoie `JSONRPC.Hello` en premier |
|
|
|
|
## Authentification
|
|
|
|
1. Appeler [`JSONRPC.Authenticate`](metier/jsonrpc.md#jsonrpcauthenticate) avec
|
|
`username`, `password` et `deviceName` → reçoit un `token`.
|
|
2. Inclure le `token` dans chaque requête suivante.
|
|
3. Activer les push : `JSONRPC.SetNotificationStatus` `{ "enabled": true }`.
|
|
|
|
## 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">AUTH</span> | `PermissionScopeNone` | Tout compte authentifié (token requis dès que le transport exige l'authentification ; seuls `JSONRPC.Hello`, `Authenticate` et `RequestPushButtonAuth` passent sans) |
|
|
| <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 |
|
|
| <span class="badge perm-admin">ADMIN</span> | `PermissionScopeAdmin` | Administration système |
|