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 de dispositifs installés.
Script de démonstration Python
Ce code de test effectue une tâche simple consistant à envoyer en continu des mesures fictives à 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, votre filtre de site et vos identifiants MQTT, puis exécutez le script :
Prérequis
Contrôleur Cloud
Les sites seront contrôlés via un Contrôleur Cloud. Veuillez contacter SmartgridOne pour configurer un nouveau Contrôleur Cloud.
Configuration du site
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 sujets et le corps MQTT.
Warning
L'utilisation de filtres de site identiques entraînera des erreurs.
Sélection des dispositifs
| Device Type | Supporté |
|---|---|
| Inverters solaires | ✅ |
| Dispositifs de stockage | |
| Pompes à chaleur | |
| Compteurs de réseau et de consommation | |
| Chargeurs de VE | ❌ |
Note
Les dispositifs dans un site ne peuvent pas être modifiés après création.
Identifiants MQTT
SmartgridOne fournira les identifiants MQTT. Le nom d'utilisateur MQTT doit être saisi lors de la création d'un nouveau site.
Note
Les identifiants ne doivent être fournis qu'une seule fois. Un ensemble d'identifiants MQTT peut être utilisé pour contrôler tous les sites.
Envoi de mesures
Pour envoyer des mesures au SmartgridOne Controller, le sujet MQTT suivant peut être utilisé pour la publication : standard1/outbound/scholt_meas/<site_filter>/<Controller SN>/
Des champs optionnels sont mentionnés en italique.
Les champs suivants peuvent être envoyés par type de dispositif :
-
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
- Les modes de fonctionnement possibles sont off, on
- active_power_W
- Égal à la puissance nominale lorsque la pompe à chaleur est allumée
- operation_modes
-
Compteurs
- active_power_W
- today_imported_energy_Wh
- today_exported_energy_Wh
Le message doit être structuré comme suit :
{
"time": "<Timestamp Unix>",
"data": {
"state": {
"grid": {
"active_power_W": <Puissance Active du Réseau en Watts>,
"today_imported_energy_Wh": <Énergie Importée du Réseau en Watt-heures>,
"today_exported_energy_Wh": <Énergie Exportée du Réseau en Watt-heures>,
},
"meter": {
"active_power_W": <Puissance Active du Compteur en Watts>,
"today_imported_energy_Wh": <Énergie Importée en Watt-heures>,
"today_exported_energy_Wh": <Énergie Exportée en Watt-heures>,
},
"storage": {
"energy_stored_Wh": <Énergie Stockée en Watt-heures>,
"mean_soc_perc": <Pourcentage Moyenne de Charge>,
"active_power_W": <Puissance Active en Watts>,
"today_charged_Wh": <Énergie Chargée au Courant Aujourd'hui en Watt-heures>,
"today_discharged_Wh": <Énergie Déchargée au Courant 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 de la Pompe à Chaleur en Watts>,
"operation_modes": <Mode de Fonctionnement de la Pompe à Chaleur>
}
},
"response_code": <Code de Réponse>
},
"fields": {},
"requestTime": "<Timestamp Unix>",
"time": "<Timestamp Unix>",
"siteNodeId": "<site_filter"
}Accusé de réception des mesures
Lorsqu'une mesure a été reçue avec succès, un accusé de réception sera envoyé sur le sujet suivant : standard1/rp_one_s/scholt_ack/<site_filter>/<Controller SN>
Cet accusé de réception peut être utilisé pour :
- Vérifier que le message de mesure a été reçu avec succès.
- Vérifier que le message de mesure contenait toutes les données nécessaires.
Réception de commandes
Pour recevoir des commandes du SmartgridOne Controller, abonnez-vous au sujet 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": "<Timestamp Unix>",
"fields": {
"solar_policy": "<policy>",
"solar_power_setpoint_w": 5000,
"storage_policy": "<policy>",
"storage_power_setpoint_w": -5000
}
}La liste des politiques qui peuvent être reçues se trouve ici : Liste des Politiques Potentielles
