L’intégration suivante peut être utilisée pour envoyer les mesures du site via MQTT et recevoir des commandes pour les différents types d’appareils installés.
Ce code de test réalise une tâche simple consistant à envoyer continuellement des mesures fictives vers une installation, et à recevoir des commandes :
Veuillez télécharger le fichier ci-dessous dans votre IDE Python préféré. Renseignez votre numéro de série, votre filtre de site et les identifiants MQTT demandés via la boutique en ligne Eniris, puis exécutez le script :
Les sites seront contrôlés via un contrôleur Cloud. Veuillez contacter SmartgridOne pour configurer un nouveau contrôleur Cloud
Une fois qu’un contrôleur Cloud a été créé, il contiendra un numéro de série unique (<Controller SN>).
De nouveaux sites peuvent être générés sur le contrôleur Cloud à l’aide de filtres de site uniques <site_filter>
Ces deux variables doivent être utilisées dans les topics et le corps des messages MQTT.
L’utilisation de filtres de site identiques entraînera des erreurs.
| Type d’appareil | Pris en charge |
|---|---|
| Solar Inverters | ✅ |
| Storage Devices | |
| Heatpumps | |
| Grid & Consumption Meters | |
| EV Chargers | ❌ |
Les appareils d’un site ne peuvent pas être modifiés après sa création.
Demandez les identifiants MQTT Eniris via la boutique en ligne Eniris. Le nom d’utilisateur MQTT attribué doit être saisi lors de la génération d’un nouveau site.
Les identifiants ne doivent être fournis qu’une seule fois. Un jeu d’identifiants MQTT peut être utilisé pour contrôler tous les sites.
Pour envoyer des mesures au SmartgridOne Controller, le topic MQTT suivant peut être utilisé pour la publication : standard1/outbound/scholt_meas/<site_filter>/<Controller SN>/
Les champs facultatifs sont indiqués en italique.
Les champs suivants peuvent être envoyés pour chaque type d’appareil :
Stockage
Solaire
Pompes à chaleur
Compteurs
Le message doit être structuré comme suit :
{
"time": "<Unix Timestamp>",
"data": {
"state": {
"grid": {
"active_power_W": <Grid Active Power in Watts>,
"today_imported_energy_Wh": <Grid Imported Energy in Watt-hours>,
"today_exported_energy_Wh": <Grid Exported Energy in Watt-hours>,
},
"meter": {
"active_power_W": <Grid Active Power in Watts>,
"today_imported_energy_Wh": <Grid Imported Energy in Watt-hours>,
"today_exported_energy_Wh": <Grid Exported Energy in Watt-hours>,
},
"storage": {
"energy_stored_Wh": <Energy Stored in Watt-hours>,
"mean_soc_perc": <Mean State of Charge Percentage>,
"active_power_W": <Active Power in Watts>,
"today_charged_Wh": <Energy Charged on the Current Today in Watt-hours>,
"today_discharged_Wh": <Energy Discharged on the Current Today in Watt-hours>,
},
"solar": {
"active_power_W": <Solar Active Power in Watts>,
"today_energy_Wh": <Energy Produced Today in Watt-hours>.
},
"heat_pump": {
"active_power_W": <Heat Pump Active Power in Watts>,
"operation_modes": <Heat Pump Operation Mode>
}
},
"response_code": <Response Code>
},
"fields": {},
"requestTime": "<Unix Timestamp>",
"time": "<Unix Timestamp>",
"siteNodeId": "<site_filter"
}
Lorsqu’une mesure a été reçue avec succès, un accusé de réception sera envoyé sur le topic suivant : standard1/rp_one_s/scholt_ack/<site_filter>/<Controller SN>
Cet accusé de réception peut être utilisé pour :
Pour recevoir des commandes du SmartgridOne Controller, abonnez-vous au topic MQTT suivant : standard1/outbound/scholt_cmd/<site_filter>/<Controller SN>/
La réponse est structurée comme suit :
{
"extraTags": {
"nodeId": "<Controller SN>_site_0"
},
"time": "<Unix Timestamp>",
"fields": {
"solar_policy": "<policy>",
"solar_power_setpoint_w": 5000,
"storage_policy": "<policy>",
"storage_power_setpoint_w": -5000
}
}
La liste des stratégies pouvant être reçues est disponible ici : Liste des stratégies potentielles