API OpenData
1️⃣ Introduction
OpenData est un framework de communication léger conçu pour les appareils IoT INDEVOLT basés sur le WiFi. Les appareils se connectent au réseau local via WiFi et prennent en charge à la fois la remontée active des données et la réponse aux requêtes externes.
Fonctionnalités principales
- Accès aux données : récupération en temps réel des données de l’appareil
- Contrôle de l’appareil : modification dynamique des paramètres et configurations
Cas d’utilisation
- Réception de requêtes HTTP externes
2️⃣ Préparation
Étape 1 – Installer les outils
Étape 2 – Activer l’API
Par défaut, l’API est désactivée. Elle doit être activée avant utilisation. OpenData propose trois modes :
- HTTP
- HTTP Digest
- HTTPS (non pris en charge pour le moment)
Configuration via l’application INDEVOLT :
- Appareil connecté au réseau : configuration via le cloud
- Appareil non connecté : configuration via Bluetooth local
- Cloud
- Bluetooth
Étape 3 – Vérifier la version du firmware
Si la version est inférieure à celles ci-dessous, veuillez mettre à jour le firmware.
Modèle Version minimale BK1600 / BK1600 Ultra V1.3.0A_R006.072_M4848_00000039 SolidFlex 2000 / PowerFlex 2000 CMS : V1406.07.002E
Étape 4 – Obtenir l’adresse IP
Choisissez l’une des trois méthodes suivantes :
🧩Méthode 1 : consulter l’interface d’administration du routeur ;
🧩Méthode 2 : consulter les paramètres de l’appareil dans l’application ;
![]()
![]()
🧩Méthode 3 : obtenir l’adresse IP via une diffusion UDP
(1) Assurez-vous que l’appareil et l’ordinateur sont connectés au même réseau local Wi-Fi.
(2) Ouvrez un outil de débogage réseau.
(3) Sélectionnez le protocole UDP.
(4) Choisissez Local Host Addr.
(5) Définissez Local Host Port sur 10000.
(6) Cliquez sur Open.![]()
(7) Configurez dans Remote l’adresse de diffusion et le port : 255.255.255.255:8099.
![]()
(8) Saisissez la commande AT dans le champ de message : AT+IGDEVICEIP.
(9) Cliquez sur Send.![]()
(10) Les appareils INDEVOLT présents sur le même réseau local renverront leur adresse IP ainsi que leur numéro de série (SN).
![]()
3️⃣ Utilisation HTTP
3.1 Structure de requête
Méthodes
| Méthode | Description |
|---|---|
| GET | Récupérer une ressource |
| POST | Exécuter une action |
URL
http://{IP_ADDRESS}:8080/rpc/{API}
{IP_ADDRESS}: adresse IP de l’appareil{API}: API appelée
Exemple
-
Récupérer les données de l’appareil :
POST http://192.168.31.213:8080/rpc/Indevolt.GetData?config={"t":[1664,1665]}
Exemple cURL
-
Récupérer le SOC de la batterie :
curl -g -X POST -H "Content-Type: application/json" "http://192.168.1.75:8080/rpc/Indevolt.GetData?config={\"t\":[6002]}"
3.2 Fréquence des requêtes
Afin de garantir la stabilité du système, toutes les API HTTP sont soumises aux limitations suivantes :
| Type | Limite |
|---|---|
| Intervalle de requête recommandé | ≥ 5 secondes |
| Intervalle minimal pris en charge | 1 seconde |
3.3 Codes d’erreur
| Code d’état | Description | Explication |
|---|---|---|
| 400 | Bad Request | Le serveur ne comprend pas le format de la requête ; le client doit la corriger puis réessayer. |
| 401 | Unauthorized | La requête nécessite une authentification ; le client doit fournir des identifiants valides. |
| 403 | Forbidden | Le serveur comprend la requête mais refuse de l’exécuter, généralement faute de permissions. |
| 404 | Not Found | La ressource demandée est introuvable ; elle peut ne pas exister ou avoir été supprimée. |
| 405 | Method Not Allowed | La méthode utilisée n’est pas autorisée pour cette ressource (ex. écriture sur une ressource en lecture seule). |
| 408 | Request Timeout | Le délai d’attente de la requête est dépassé ; le client peut réessayer ultérieurement. |
| 409 | Conflict | Conflit avec l’état actuel de la ressource (ex. modification simultanée par plusieurs utilisateurs). |
| 410 | Gone | La ressource demandée a été supprimée définitivement et n’est plus disponible. |
| 500 | Internal Server Error | Le serveur a rencontré une erreur interne et ne peut pas traiter la requête. |
| 501 | Not Implemented | La méthode demandée n’est pas prise en charge par le serveur. |
| 502 | Bad Gateway | Le serveur (passerelle/proxy) a reçu une réponse invalide du serveur en amont. |
| 503 | Service Unavailable | Le serveur est temporairement indisponible (surcharge ou maintenance). |
| 504 | Gateway Timeout | Le serveur (passerelle/proxy) n’a pas reçu de réponse à temps du serveur en amont. |
| 505 | HTTP Version Not Supported | La version HTTP utilisée n’est pas prise en charge par le serveur. |
4️⃣ HTTP Digest
L’authentification Digest permet de vérifier l’identité sans transmettre le mot de passe en clair.
En mode HTTP + Digest :
- Lors de la première utilisation ou après une restauration des paramètres d’usine, il est nécessaire d’utiliser l’interface
User.SetConfigpour modifier le mot de passe par défaut. - Une fois le mot de passe modifié avec succès, les autres interfaces peuvent être utilisées.
Outils
- Convertisseur ASCII → hexadécimal
- Convertisseur hexadécimal → Base64
- Outil de chiffrement AES-GCM
Exemple de modification de mot de passe
-
Convertir le nouveau mot de passe, l’ancien mot de passe et le nombre aléatoire en hexadécimal.
Chaîne ASCII Hexadécimal Nouveau mot de passe qwertyui 71 77 65 72 74 79 75 69 Ancien mot de passe qazwsxed 71 61 7a 77 73 78 65 64 00 00 00 00 00 00 00 00
(complété à 16 octets)Nombre aléatoire 123456 31 32 33 34 35 36 00 00 00 00 00 00
(complété à 12 octets) -
Utiliser un outil AES-GCM pour le chiffrement et saisir les informations correspondantes pour effectuer le chiffrement.
-
Convertir le texte chiffré et le tag en Base64.
Hexadécimal Base64 Chiffrement 4e b2 90 67 54 02 d4 c4 TrKQZ1QC1MQ= Tag cf 0b d0 4e 37 a0 e6 bb cb 74 1b cb ce ab 72 9a zwvQTjeg5rvLdBvLzqtymg== -
Compléter les champs de Digest Authentication et envoyer la requête
User.SetConfig.POST
http://{IP_ADDRESS}:8080/rpc/User.SetConfig?config={"Password":"{PASSWORD}"}Où :
{IP_ADDRESS}: adresse IP de l’appareil.{PASSWORD}: texte chiffré encodé en Base64 via AES128-GCM.
| Nom du paramètre | Type | Description | Obligatoire |
|---|---|---|---|
| Username | String | Valeur par défaut opend | Obligatoire |
| Password | String | Clé par défaut de l’appareil. - Avec le mot de passe par défaut, seule l’API User.SetConfig peut être appelée pour modifier le mot de passe.- Après modification, le nouveau mot de passe permet d’appeler les autres API. | Obligatoire |
| Realm | String | - Lors de l’appel à User.SetConfig, le tag AES128-GCM est requis.- Pour les autres API, une valeur aléatoire peut être utilisée. | Obligatoire |
| Nonce | Type par défaut Digest | Valeur aléatoire possible | Obligatoire |
| Algorithm | Type par défaut Digest | MD5 | Obligatoire |
| qop | Type par défaut Digest | auth | Obligatoire |
| Nonce Count | Type par défaut Digest | Valeur aléatoire possible | Obligatoire |
| Client Nonce | Type par défaut Digest | Valeur aléatoire possible | Obligatoire |
5️⃣ API
| Composant | Description |
|---|---|
Indevolt | Lecture des données de l’appareil INDEVOLT et contrôle de l’appareil. |
Sys | Récupération des informations CMS (Communication Management System) de l’appareil. |
6️⃣ Indevolt
Indevolt fournit des API d’interaction de données pour les dispositifs de micro-stockage d’énergie. Elles permettent de récupérer les données de fonctionnement et les paramètres de configuration de l’appareil, ainsi que d’envoyer des commandes de contrôle à celui-ci.
Indevolt.GetData: Récupère les données de fonctionnement ou les paramètres de configuration de l’appareil.Indevolt.SetData: Modifie les paramètres de configuration de l’appareil ou exécute des opérations de contrôle.
Appareils pris en charge
- BK1600 / BK1600 Ultra
- SolidFlex 2000 / PowerFlex 2000
6.1 Indevolt.GetData
Récupère les données de fonctionnement ou les paramètres de configuration de l’appareil.
/rpc/Indevolt.GetDatacurl -g -X POST -H "Content-Type: application/json" "http://192.168.31.213:8080/rpc/Indevolt.GetData?config={\"t\":[1664,1665]}"
{
"1664": 100,
"1665": 251
}
Paramètres de requête
| Paramètre | Type | Obligatoire | Description |
|---|---|---|---|
config | Object | Oui | Configuration de récupération des données. |
Objet config
| Paramètre | Type | Obligatoire | Description |
|---|---|---|---|
t | Array | Oui | Liste des points cJSON à lire. |
Réponse
Retourne les données de l’appareil au format JSON, où :
- Clé (Key) : Point cJSON
- Valeur (Value) : Valeur actuelle du point de données correspondant
Points cJSON
Les points cJSON suivants sont utilisés pour récupérer les données de fonctionnement ou les paramètres de configuration de l’appareil. Les points cJSON pris en charge varient selon le modèle de l’appareil. Consultez la liste des points de données correspondant à votre appareil pour plus de détails.
- SolidFlex 2000 / PowerFlex 2000
- BK1600 / BK1600 Ultra
| Point cJSON | Type de valeur cJSON | Unité | Description | Définition Enum | API | Remarque |
|---|---|---|---|---|---|---|
| SN | ||||||
| 0 | String | SN de l’appareil | Indevolt.GetData | |||
| Informations de version du firmware | ||||||
| 1118 | String | PG2000Series EMS | Indevolt.GetData | |||
| 1109 | String | PG2000Series BMS-MB | Indevolt.GetData | |||
| 1119 | String | PG2000Series PCS | Indevolt.GetData | |||
| 1120 | String | PG2000Series DCDC | Indevolt.GetData | |||
| 1136 | String | SFA/PFA DCDC1 | Indevolt.GetData | |||
| 1137 | String | SFA/PFA BMS1 | Indevolt.GetData | |||
| 1138 | String | SFA/PFA DCDC2 | Indevolt.GetData | |||
| 1139 | String | SFA/PFA BMS2 | Indevolt.GetData | |||
| 1140 | String | SFA/PFA DCDC3 | Indevolt.GetData | |||
| 1141 | String | SFA/PFA BMS3 | Indevolt.GetData | |||
| 1142 | String | SFA/PFA DCDC4 | Indevolt.GetData | |||
| 1143 | String | SFA/PFA BMS4 | Indevolt.GetData | |||
| 1098 | String | SFA/PFA DCDC5 | Indevolt.GetData | |||
| 1099 | String | SFA/PFA BMS5 | Indevolt.GetData | |||
| Informations de fonctionnement du système | ||||||
| 7101 | Enum | Mode de fonctionnement | 1 : Autoconsommation 4 : Contrôle en temps réel 5 : Plan de charge/décharge | Indevolt.GetData | ||
| 142 | Num | kWh | Capacité nominale | Indevolt.GetData | ||
| 2618 | Num | Charge réseau | 1000 : Désactivé 1001 : Activé | Indevolt.GetData | ||
| 11009 | Num | W | Limite d’entrée de l’onduleur | Indevolt.GetData | ||
| 2101 | Num | W | Puissance totale d’entrée AC | Indevolt.GetData | ||
| 2108 | Num | W | Puissance totale de sortie AC | Indevolt.GetData | ||
| 11010 | Num | W | Limite de puissance d’injection réseau | Indevolt.GetData | ||
| 11011 | Num | W | Puissance maximale de sortie AC | Indevolt.GetData | ||
| 680 | Num | Bypass | 0 : Désactivé 1 : Activé | Indevolt.GetData | ||
| 11039 | Num | Mode bypass | 0 : EPS 1 : M-Inv | Indevolt.GetData | Basculement automatique selon le courant direct et inverse | |
| 6105 | Num | % | SOC de secours | Indevolt.GetData | ||
| 7171 | Num | Lumière | 0 : Désactivé 1 : Activé | Indevolt.GetData | ||
| 8646 | Num | Jour | Calibration batterie : cycle | 0–60 0 : OFF | Indevolt.GetData | Durée de fonctionnement sans charge complète |
| 8647 | Num | Heure | Calibration batterie : heure de démarrage | DEC → HEX H : heure L : minute | Indevolt.GetData | ex. : 256 → 0100 01 (HEX-H) → 01 h 00 (HEX-L) → > 00 min |
| 2802 | Num | W | Calibration batterie : puissance de charge (AC) | Indevolt.GetData | ||
| Informations de cluster | ||||||
| 606 | Enum | Identification maître/esclave | 1000 : Maître 1001 : Esclave 1002 : Aucun | Indevolt.GetData | ||
| Puissance bypass | ||||||
| 667 | Float | W | Puissance bypass | Indevolt.GetData | Puissance en temps réel transitant par le chemin bypass. - mode connecté au réseau : l’énergie peut provenir du micro-onduleur ou être fournie directement aux charges - Mode hors réseau : l’énergie est directement fournie aux charges | |
| Informations d’énergie électrique | ||||||
| 2107 | Num | kWh | Énergie AC totale d’entrée | Indevolt.GetData | Énergie totale importée du réseau. Elle peut être utilisée pour charger la batterie ou alimenter directement les charges via le bypass. | |
| 2104 | Num | kWh | Énergie AC totale de sortie | Indevolt.GetData | Énergie électrique globale, incluant (DC + AC + Bypass) | |
| 11035 | Num | Wh | Énergie journalière d’entrée micro-onduleur (bypass) | Indevolt.GetData | Énergie quotidienne provenant du micro-onduleur. Disponible uniquement en mode connecté au réseau, lorsque le système est relié à un micro-onduleur. | |
| 11034 | Num | Wh | Énergie totale d’entrée micro-onduleur (bypass) | Indevolt.GetData | Énergie totale provenant du micro-onduleur. Disponible uniquement en mode connecté au réseau, lorsque le système est relié à un micro-onduleur. | |
| 11037 | Num | kWh | Énergie journalière de sortie bypass hors réseau | Indevolt.GetData | Énergie quotidienne de décharge via bypass hors réseau | |
| 2105 | Num | kWh | Énergie totale de sortie bypass hors réseau | Indevolt.GetData | Énergie totale de décharge via bypass hors réseau | |
| 9285 | Num | Wh | Énergie journalière de sortie bypass | Indevolt.GetData | Énergie quotidienne de décharge via bypass (réseau + hors réseau) | |
| 9284 | Num | Wh | Énergie totale de sortie bypass | Indevolt.GetData | Énergie totale de décharge via bypass (réseau + hors réseau) | |
| 1502 | Num | kWh | Production PV quotidienne | Indevolt.GetData | ||
| 1505 | Num | Wh | Production cumulée | Indevolt.GetData | ||
| 6004 | Num | kWh | Énergie de charge batterie journalière | Indevolt.GetData | ||
| 6005 | Num | kWh | Énergie de décharge batterie journalière | Indevolt.GetData | ||
| 6006 | Num | kWh | Énergie totale de charge batterie | Indevolt.GetData | ||
| 6007 | Num | kWh | Énergie totale de décharge batterie | Indevolt.GetData | ||
| État du compteur électrique | ||||||
| 7120 | Enum | État de connexion du compteur | 1000 : Activé 1001 : Désactivé | Indevolt.GetData | ||
| 11016 | Float | W | Puissance du compteur | Indevolt.GetData | ||
| Informations réseau | ||||||
| 2600 | Num | V | Tension du réseau | Indevolt.GetData | ||
| 2612 | Num | Hz | Fréquence du réseau | Indevolt.GetData | ||
| Paramètres de fonctionnement du pack batterie | ||||||
| 6001 | Enum | État charge/décharge batterie | 1000 : Veille 1001 : Charge 1002 : Décharge | Indevolt.GetData | ||
| 6000 | Num | W | Puissance batterie | Indevolt.GetData | ||
| 6002 | Num | % | SOC batterie total | Indevolt.GetData | ||
| 9008 | String | Numéro de série batterie - MB | Indevolt.GetData | |||
| 9000 | Num | % | SOC batterie - MB | Indevolt.GetData | ||
| 9004 | Num | V | Tension batterie - MB | Indevolt.GetData | ||
| 9013 | Num | A | Courant batterie I-MB | Indevolt.GetData | ||
| 9012 | Num | ℃ | Température batterie-MB | Indevolt.GetData | ||
| 9009 | Num | V | Tension cellule 1 batterie-MB | Indevolt.GetData | ||
| 9011 | Num | V | Tension cellule 2 batterie-MB | Indevolt.GetData | ||
| 9032 | String | Numéro de série batterie-Pack1 | Indevolt.GetData | |||
| 9016 | Num | % | SOC batterie-Pack1 | Indevolt.GetData | ||
| 9020 | Num | V | Tension batterie-Pack1 | Indevolt.GetData | ||
| 19173 | Num | A | Courant batterie-Pack1 | Indevolt.GetData | ||
| 9030 | Num | ℃ | Température batterie-Pack1 | Indevolt.GetData | ||
| 9021 | Num | V | Tension cellule 1 batterie-Pack1 | Indevolt.GetData | ||
| 9023 | Num | V | Tension cellule 2 batterie-Pack1 | Indevolt.GetData | ||
| 9051 | String | Numéro de série batterie-Pack2 | Indevolt.GetData | |||
| 9035 | Num | % | SOC batterie-Pack2 | Indevolt.GetData | ||
| 9039 | Num | V | Tension batterie-Pack2 | Indevolt.GetData | ||
| 19174 | Num | A | Courant batterie-Pack2 | Indevolt.GetData | ||
| 9049 | Num | ℃ | Température batterie-Pack2 | Indevolt.GetData | ||
| 9040 | Num | V | Tension cellule 1 batterie-Pack2 | Indevolt.GetData | ||
| 9042 | Num | V | Tension cellule 2 batterie-Pack2 | Indevolt.GetData | ||
| 9070 | String | Numéro de série batterie-Pack3 | Indevolt.GetData | |||
| 9054 | Num | % | SOC batterie-Pack3 | Indevolt.GetData | ||
| 9058 | Num | V | Tension batterie-Pack3 | Indevolt.GetData | ||
| 19175 | Num | A | Courant batterie-Pack3 | Indevolt.GetData | ||
| 9068 | Num | ℃ | Température batterie-Pack3 | Indevolt.GetData | ||
| 9059 | Num | V | Tension cellule 1 batterie-Pack3 | Indevolt.GetData | ||
| 9061 | Num | V | Tension cellule 2 batterie-Pack3 | Indevolt.GetData | ||
| 9165 | Num | Numéro de série batterie-Pack4 | Indevolt.GetData | |||
| 9149 | Num | % | SOC batterie-Pack4 | Indevolt.GetData | ||
| 9153 | Num | V | Tension batterie-Pack4 | Indevolt.GetData | ||
| 19176 | Num | A | Courant batterie-Pack4 | Indevolt.GetData | ||
| 9163 | Num | ℃ | Température batterie-Pack4 | Indevolt.GetData | ||
| 9154 | Num | V | Tension cellule 1 batterie-Pack4 | Indevolt.GetData | ||
| 9156 | Num | V | Tension cellule 2 batterie-Pack4 | Indevolt.GetData | ||
| 9218 | String | Numéro de série batterie-Pack5 | Indevolt.GetData | |||
| 9202 | Num | % | SOC batterie-Pack5 | Indevolt.GetData | ||
| 9206 | Num | V | Tension batterie-Pack5 | Indevolt.GetData | ||
| 19177 | Num | A | Courant batterie-Pack5 | Indevolt.GetData | ||
| 9216 | Num | ℃ | Température batterie-Pack5 | Indevolt.GetData | ||
| 9219 | Num | V | Tension cellule 1 batterie-Pack5 | Indevolt.GetData | ||
| 9222 | Num | V | Tension cellule 2 batterie-Pack5 | Indevolt.GetData | ||
| Paramètres de fonctionnement PV | ||||||
| 1501 | Num | W | Puissance totale de sortie DC | Indevolt.GetData | ||
| 1632 | Num | A | Courant d’entrée DC 1 | Indevolt.GetData | ||
| 1600 | Num | V | Tension d’entrée DC 1 | Indevolt.GetData | ||
| 1664 | Num | W | Puissance d’entrée DC 1 | Indevolt.GetData | ||
| 1633 | Num | A | Courant d’entrée DC 2 | Indevolt.GetData | ||
| 1601 | Num | V | Tension d’entrée DC 2 | Indevolt.GetData | ||
| 1665 | Num | W | Puissance d’entrée DC 2 | Indevolt.GetData | ||
| 1634 | Num | A | Courant d’entrée DC 3 | Indevolt.GetData | ||
| 1602 | Num | V | Tension d’entrée DC 3 | Indevolt.GetData | ||
| 1666 | Num | W | Puissance d’entrée DC 3 | Indevolt.GetData | ||
| 1635 | Num | A | Courant d’entrée DC 4 | Indevolt.GetData | ||
| 1603 | Num | V | Tension d’entrée DC 4 | Indevolt.GetData | ||
| 1667 | Num | W | Puissance d’entrée DC 4 | Indevolt.GetData | ||
| Point cJSON | Type de valeur cJSON | Unité | Description | Définition Enum | API | Remarques |
|---|---|---|---|---|---|---|
| SN | ||||||
| 0 | String | Numéro de série de l’appareil | Indevolt.GetData | |||
| Informations de version du firmware | ||||||
| 1118 | String | EMS de la série BK1600 | Indevolt.GetData | |||
| 1107 | String | BMS de la série BK1600 | Indevolt.GetData | |||
| 1119 | String | PCS de la série BK1600 | H_HEX-->DEC + L_HEX-->DEC | Indevolt.GetData | ||
| 311 | String | MPPT de la série BK1600 | Indevolt.GetData | |||
| Informations de fonctionnement du système | ||||||
| 142 | Num | kWh | Capacité nominale | Indevolt.GetData | ||
| 2618 | Num | Charge réseau | 1000 : Désactivé 1001 : Activé | Indevolt.GetData | ||
| 2617 | Num | W | Limite de puissance injectée | Indevolt.GetData | ||
| 4 | Num | W | Puissance maximale de sortie AC | Indevolt.GetData | ||
| 2619 | Num | W | Puissance maximale d’entrée AC | Indevolt.GetData | ||
| 2101 | Num | W | Puissance totale d’entrée AC | Indevolt.GetData | ||
| 2107 | Num | kWh | Énergie totale d’entrée AC | Indevolt.GetData | ||
| 2108 | Num | W | Puissance totale de sortie AC | Indevolt.GetData | ||
| 680 | Enum | Bypass | 0 : Désactivé 1 : Activé | Indevolt.GetData | ||
| 7170 | Enum | Mode bypass | 0 : EPS 1 : M-Inv | Indevolt.GetData | Permutation automatique selon le courant direct et inverse. | |
| 7101 | Enum | Mode de fonctionnement | 0 : Portable extérieur 1 : Priorité autoconsommation 4 : Contrôle en temps réel 5 : Plan de charge/décharge | Indevolt.GetData | ||
| 1502 | Num | kWh | Production journalière | Indevolt.GetData | ||
| 1505 | Num | 0,001 kWh | Production cumulée | Indevolt.GetData | ||
| 6105 | Num | % | SOC de secours | Indevolt.GetData | ||
| 6004 | Num | kWh | Énergie de charge quotidienne de la batterie | Indevolt.GetData | ||
| 6005 | Num | kWh | Énergie de décharge quotidienne de la batterie | Indevolt.GetData | ||
| 6006 | Num | kWh | Énergie totale de charge de la batterie | Indevolt.GetData | ||
| 6007 | Num | kWh | Énergie totale de décharge de la batterie | Indevolt.GetData | ||
| 7120 | Enum | État de connexion du compteur | 1000 : Connecté 1001 : Déconnecté | Indevolt.GetData | ||
| 21028 | Num | W | Puissance du compteur | Indevolt.GetData | ||
| Puissance bypass (Non applicable au BK1600) | ||||||
| 667 | Num | W | Puissance bypass | Indevolt.GetData | ||
| Paramètres de fonctionnement du pack batterie | ||||||
| 6001 | Enum | État de charge/décharge de la batterie | 1000 : Statique 1001 : Charge 1002 : Décharge | Indevolt.GetData | ||
| 6000 | Num | W | Puissance de la batterie | Indevolt.GetData | ||
| 6002 | Num | % | SOC total de la batterie | Indevolt.GetData | ||
| 7620 | Num | ℃ | Température batterie | Indevolt.GetData | ||
| 10112 | Num | V | Tension cellule 1 | Indevolt.GetData | ||
| 10113 | Num | V | Tension cellule 2 | Indevolt.GetData | ||
| 10114 | Num | V | Tension cellule 3 | Indevolt.GetData | ||
| 10115 | Num | V | Tension cellule 4 | Indevolt.GetData | ||
| 10116 | Num | V | Tension cellule 5 | Indevolt.GetData | ||
| 10117 | Num | V | Tension cellule 6 | Indevolt.GetData | ||
| 10118 | Num | V | Tension cellule 7 | Indevolt.GetData | ||
| 10119 | Num | V | Tension cellule 8 | Indevolt.GetData | ||
| 10120 | Num | V | Tension cellule 9 | Indevolt.GetData | ||
| 10121 | Num | V | Tension cellule 10 | Indevolt.GetData | ||
| 10122 | Num | V | Tension cellule 11 | Indevolt.GetData | ||
| Paramètres de fonctionnement PV | ||||||
| 1501 | Num | W | Puissance totale de sortie DC | Indevolt.GetData | ||
| 1632 | Num | A | Courant d’entrée DC 1 | Indevolt.GetData | ||
| 1600 | Num | V | Tension d’entrée DC 1 | Indevolt.GetData | ||
| 1664 | Num | W | Puissance d’entrée DC 1 | Indevolt.GetData | ||
| 1633 | Num | A | Courant d’entrée DC 2 | Indevolt.GetData | ||
| 1601 | Num | V | Tension d’entrée DC 2 | Indevolt.GetData | ||
| 1665 | Num | W | Puissance d’entrée DC 2 | Indevolt.GetData | ||
6.2 Indevolt.SetData
Modifie les paramètres de configuration de l’appareil ou envoie des commandes de contrôle à l’appareil.
/rpc/Indevolt.SetDatacurl -g -X POST -H "Content-Type: application/json" "http://192.168.31.213:8080/rpc/Indevolt.SetData?config={\"f\":16,\"t\":47005,\"v\":[4]}"
{
"result": true
}
Paramètres de requête
| Paramètre | Type | Obligatoire | Description |
|---|---|---|---|
config | Object | Oui | Configuration d’écriture des données. |
Objet config
| Paramètre | Type | Obligatoire | Description |
|---|---|---|---|
f | Number | Oui | Code de fonction. La valeur est fixée à 16. |
t | Number | Oui | Point cJSON à écrire. |
v | Array | Oui | Valeurs à écrire. Voir la définition du champ Valeur correspondant au point concerné. |
Réponse
| Paramètre | Type | Description |
|---|---|---|
result | Boolean | true : succès ; false : échec. |
Exemples
-
Définir le mode “contrôle en temps réel”
curl -g -X POST -H "Content-Type: application/json" "http://192.168.31.213:8080/rpc/Indevolt.SetData?config={\"f\":16,\"t\":47005,\"v\":[4]}" -
Définir l’état de décharge, la puissance et le SOC en mode contrôle en temps réel
curl -g -X POST -H "Content-Type: application/json" "http://192.168.31.213:8080/rpc/Indevolt.SetData?config={\"f\":16,\"t\":47015,\"v\":[2,700,5]}"
Points cJSON
Les points cJSON pris en charge (t) varient selon le modèle de l’appareil. La signification et le format des valeurs v associées peuvent également différer selon les points. Consultez la liste des points de données du modèle correspondant pour plus de détails.
- SolidFlex 2000 / PowerFlex 2000
- BK1600 / BK1600 Ultra
| Point cJSON | Type de valeur cJSON | Unité | Description | Valeur | API |
|---|---|---|---|---|---|
| 47005 | Enum | Paramétrage du mode | 1: Autoconsommation 4: Contrôle en temps réel 5: Plan de charge/décharge | Indevolt.SetData | |
| 47015 | UINT | Paramétrage de l’état (disponible uniquement en mode contrôle en temps réel) | 0: Veille 1: Charge 2: Décharge | Indevolt.SetData | |
| 47016 | INT | W | Paramétrage de la puissance (disponible uniquement en mode contrôle en temps réel) | Charge max : 50–2400 Décharge max : 50–2400 | Indevolt.SetData |
| 47017 | UINT | % | Paramétrage du SOC (disponible uniquement en mode contrôle en temps réel) | 5-100 | Indevolt.SetData |
| 1147 | INT | W | Paramétrage de la puissance de sortie AC max | 50-2400 | Indevolt.SetData |
| 1146 | INT | W | Paramétrage de la limite d’injection réseau | 50-2400 | Indevolt.SetData |
| 1143 | UINT | Paramétrage de la charge réseau | 0: Désactivé 1: Activé | Indevolt.SetData | |
| 1138 | INT | W | Paramétrage de la limite d’entrée de l’onduleur | 100-2400 | Indevolt.SetData |
| 1 | Enum | Paramétrage de la charge | 1: Prise intelligente 2: Compteur 3: Charge clé 4: Personnalisé | Indevolt.SetData | |
| 7266 | Enum | Paramétrage du bypass | 0: Désactivé 1: Activé | Indevolt.SetData | |
| 1142 | INT | % | Paramétrage du SOC de secours | Indevolt.SetData | |
| 7265 | Enum | Paramétrage de l’éclairage | 0: Désactivé 1: Activé | Indevolt.SetData |
| Point cJSON | Type de valeur cJSON | Unité | Description | Valeur | API |
|---|---|---|---|---|---|
| 47005 | Enum | Réglage du mode | 0 : Portable extérieur 1 : Priorité à l’autoconsommation 4 : Contrôle en temps réel 5 : Programmation de charge/décharge | Indevolt.SetData | |
| 47015 | Enum | Réglage de l’état (disponible uniquement en mode contrôle en temps réel) | 0 : Veille 1 : Charge 2 : Décharge | Indevolt.SetData | |
| 47016 | Num | W | Réglage de la puissance (disponible uniquement en mode contrôle en temps réel) | 50–1200 | Indevolt.SetData |
| 47017 | Num | % | Réglage du SOC (disponible uniquement en mode contrôle en temps réel) | 5–100 | Indevolt.SetData |
En mode contrôle en temps réel, il est possible d’écrire simultanément l’état, la puissance et le SOC pour contrôler la charge/décharge de l’appareil.
7️⃣ Sys
Sys est utilisé pour récupérer les informations de base de l’appareil ainsi que son état système.
Appareils pris en charge
- BK1600 / BK1600 Ultra
- SolidFlex 2000 / PowerFlex 2000
Sys.GetConfig
Récupère la configuration actuelle de l’appareil, notamment le modèle, le numéro de série, la version du firmware, etc.
/rpc/Sys.GetConfigcurl "http://192.168.31.213:8080/rpc/Sys.GetConfig"
{
"device": {
"hostname": "",
"timezone": 480,
"type": "CMS-SF2000",
"sn": "",
"mac": "7C3E82EF997F",
"fw": "T1.4.06_ROOD. 072_M4801_0000002C",
"f_ver": "T1406.07.002C",
"p_ver": "VOD.00.08",
"time": "2025-12-18 09:44:57",
"time_stamp": 1766051097,
"run_time": 2244
}
}
Réponse
| Paramètre | Type | Description |
|---|---|---|
device | Object | Informations de l’appareil |
Objet device
| Paramètre | Type | Description |
|---|---|---|
hostname | String | Nom de l’appareil |
timezone | Number | Fuseau horaire |
type | String | Modèle de l’appareil |
sn | String | Numéro de série de l’appareil |
mac | String | Adresse MAC de l’appareil |
fw | String | Version du firmware de l’appareil |
f_ver | String | Version du CMS |
p_ver | String | Version du PFile |
time | String | Heure actuelle du système |
time_stamp | Number | Horodatage actuel (en secondes) |
run_time | Number | Temps de fonctionnement de l’appareil (en secondes) |
8️⃣ WiFi
WiFi est utilisé pour récupérer l’état actuel de la connexion Wi-Fi de l’appareil.
Appareils pris en charge
- BK1600 / BK1600 Ultra
WiFi.GetStatus
Récupère les informations actuelles de la connexion Wi-Fi de l’appareil, notamment l’adresse IP, le SSID et la puissance du signal.
/rpc/WiFi.GetStatuscurl "http://192.168.0.7:8080/rpc/WiFi.GetStatus"
{
"src": "",
"params": {
"sta_ip": "192.168.0.7",
"ssid": "IGEN_GUEST_2.4G",
"rssi": 100
}
}
Réponse
| Paramètre | Type | Description |
|---|---|---|
src | String | Numéro de série de l’appareil (SN) |
params | Object | Informations sur l’état du Wi-Fi |
Objet params
| Paramètre | Type | Description |
|---|---|---|
sta_ip | String | Adresse IP de l’appareil |
ssid | String | SSID du réseau Wi-Fi connecté |
rssi | Number | Intensité du signal Wi-Fi (0 à 100). Une valeur plus élevée indique un meilleur signal. |
9️⃣ FAQ
Q: La requête HTTP retourne 401 Unauthorized.
- Vérifiez que le nom d’utilisateur et le mot de passe Digest sont corrects.
- Lors de la première utilisation / après réinitialisation d’usine, l’appareil ne permet d’accéder qu’à l’interface
User.SetConfig. Voir Authentification Digest. Après modification du mot de passe, utilisez le nouveau mot de passe pour accéder aux autres interfaces.
Q: L’appareil ne renvoie pas l’adresse IP après l’envoi de la commande de broadcast.
L’API OpenData n’est pas activée, ce qui rend cette fonctionnalité indisponible. Voir Activer l’API.









