# API JsonRPC Supporté 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** | `:2222` | Le serveur envoie un message de bienvenue JSON (`\n`-délimité) à la connexion | | **WebSocket** | `ws://: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 | | --- | --- | --- | | PUBLIC | `PermissionScopeNone` | Lecture publique, aucun token requis | | CONTROL | `PermissionScopeControlThings` / `ExecuteRules` | Contrôle des appareils et règles | | CONFIGURE | `PermissionScopeConfigureThings` / `ConfigureRules` | Configuration des intégrations et règles | | ADMIN | `PermissionScopeAdmin` | Administration système | --- ## Référence complète → [Référence API JsonRPC](../api/index.md)