Pilote MQTT Scholt
L'intégration suivante peut être utilisée pour envoyer des mesures de site via MQTT, et recevoir des commandes pour les différents types d'appareils installés.
Script de démonstration Python
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é. Remplissez votre numéro de série, le filtre de site et les identifiants MQTT puis exécutez le script :
SmartgridOnePrérequis
Contrôleur Cloud
Les sites seront contrôlés via un Contrôleur Cloud. Veuillez contacter Controller pour configurer un nouveau Contrôleur Cloud
Configuration du site
Une fois un Contrôleur Cloud créé, il contiendra un numéro de série unique (standard1/rp_one_s/scholt_ack/<site_filter>/<Controller SN>).
De nouveaux sites peuvent être générés sur le Contrôleur Cloud en utilisant des filtres de site uniques standard1/outbound/scholt_cmd/<site_filter>/<Controller SN>/
Ces deux variables doivent être utilisées dans les Topics MQTT et le corps des messages.
Avertissement
L'utilisation de filtres de site identiques entraînera des erreurs.
Sélection des appareils
| Device Type | Pris en charge |
|---|---|
| Onduleurs solaires | ✅ |
| Dispositifs de stockage | |
| Pompes à chaleur | |
| Compteurs de réseau & de consommation | |
| Bornes de recharge VE | ❌ |
Note
Les appareils d’un site ne peuvent pas être modifiés après la création.
Identifiants MQTT
SmartgridOne fournira les identifiants MQTT. Le nom d’utilisateur MQTT doit être renseigné lors de la génération d’un nouveau site.
Note
Les identifiants ne doivent être fournis qu’une seule fois. Un ensemble d'identifiants MQTT peut contrôler tous les sites.
Envoi des mesures
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 optionnels sont indiqués en italique.
Les champs suivants peuvent être envoyés selon le type d’appareil :
-
Stockage
- mean_soc_perc
- active_power_W
- today_charged_Wh
- today_discharged_Wh
- energy_stored_Wh
-
Solaire
- active_power_W
- today_energy_Wh
-
Pompes à chaleur
- operation_modes
- Modes de fonctionnement possibles : off, on
- active_power_W
- Équivalent à la puissance nominale lorsque la pompe à chaleur est on
- operation_modes
-
Compteurs
- active_power_W
- today_imported_energy_Wh
- today_exported_energy_Wh
Le message doit être structuré comme suit :
{
"time": "<Unix Timestamp>",
"data": {
"state": {
"grid": {
"active_power_W": <Puissance active réseau en Watts>,
"today_imported_energy_Wh": <Énergie importée réseau en Watt-heures>,
"today_exported_energy_Wh": <Énergie exportée réseau en Watt-heures>,
},
"meter": {
"active_power_W": <Puissance active compteur en Watts>,
"today_imported_energy_Wh": <Énergie importée compteur en Watt-heures>,
"today_exported_energy_Wh": <Énergie exportée compteur en Watt-heures>,
},
"storage": {
"energy_stored_Wh": <Énergie stockée en Watt-heures>,
"mean_soc_perc": <Pourcentage moyen d'état de charge>,
"active_power_W": <Puissance active en Watts>,
"today_charged_Wh": <Énergie chargée aujourd'hui en Watt-heures>,
"today_discharged_Wh": <Énergie déchargée aujourd'hui en Watt-heures>,
},
"solar": {
"active_power_W": <Puissance active solaire en Watts>,
"today_energy_Wh": <Énergie produite aujourd'hui en Watt-heures>.
},
"heat_pump": {
"active_power_W": <Puissance active pompe à chaleur en Watts>,
"operation_modes": <Mode de fonctionnement pompe à chaleur>
}
},
"response_code": <Code de réponse>
},
"fields": {},
"requestTime": "<Unix Timestamp>",
"time": "<Unix Timestamp>",
"siteNodeId": "<site_filter"
}Accusé de réception de la mesure
Lorsqu'une mesure est 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é permet de :
- Vérifier que le message de mesure a bien été reçu.
- Vérifier que le message de mesure contenait toutes les données nécessaires.
Réception des commandes
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 politiques pouvant être reçues se trouve ici : Liste des Politiques Potentielles
