Astuce
Le protocole VPP est basé sur le protocole Live MQTT. Veuillez consulter cette page avant cela. Voir Live MQTT Control.
Astuce
La configuration initiale du VPP DOIT être effectuée par SmartgridOne. Veuillez contacter SmartgridOne avant de suivre les étapes suivantes.
Connexion au courtier MQTT
Veuillez vous référer à la section suivante pour savoir comment se connecter au courtier MQTT SmartgridOne : MQTT Broker Connection
Fonctionnalités du VPP
Le VPP est conçu pour recevoir un point de consigne/une stratégie par groupe d’appareils (par exemple, solaire, stockage), et agréger le point de consigne entre les contrôleurs connectés au VPP.
Alors que le protocole Live MQTT envoie une commande à un seul contrôleur, le VPP permet à l’utilisateur d’envoyer une commande à un groupe de contrôleurs.

Ajout de contrôleurs au VPP




Lors de l’ajout du signal MQTT SmartgridOne, un champ vpp/{MQTT Username}/{VPP ID}/warning est affiché. Entrez ici l’ID du VPP reçu.


Algorithme d’agrégation
Les points de consigne sont agrégés en fonction de la capacité des appareils relevant des contrôleurs individuels.
Sujets MQTT
Une fois la configuration initiale terminée, un ID VPP et un nom d’utilisateur MQTT (ainsi que le mot de passe) seront fournis.
Sujet entrant
Sujet : vpp/{MQTT Username}/{VPP ID}
Ce sujet est utilisé par l’utilisateur pour envoyer une commande agrégée au VPP.
VPP en direct
Corps :
{
"msg_id": <Incremental message id>(int),
"vpp_id": <VPP ID>(str)
"time": "<Unix Timestamp>(int)",
"fields": {
"<Component Policy>": "<Policy Type>",
"<Component Power Setpoint>": <Setpoint in watts>
}
}Les politiques et points de consigne des composants sont disponibles ici : MQTT Components and Policies
VPP Planifié
Corps :
{
"msg_id": <Incremental message id>(int),
"vpp_id": <VPP ID>(str)
"time": "<Unix Timestamp>(int)",
"message_type": "<Type of message>(str)",
"fields": {
"<Component Policy>": "<Policy Type>",
"<Component Power Setpoint>": <Setpoint in watts>
}
}Les politiques et points de consigne des composants sont disponibles ici : MQTT Components and Policies
Sujet d’accusé de réception
Sujet : vpp/{MQTT Username}/{VPP ID}/warning
Après l’envoi d’une commande, le VPP répondra avec un accusé de réception, indiquant si la commande a été reçue avec succès ou non.
Corps :
{
"payload": {
"fields": {
"responseCode": <Success/Failure Code>(int),
"ack": <Acknowledgement Message>(str)
},
"target": <VPP ID>(str)
},
"message_type": <Type of Message>(str)
}Sujet de retour d’information
Sujet : vpp/{MQTT Username}/{VPP ID}/warning
Le sujet de retour d’information contient le retour des contrôleurs individuels.
Corps :
{
"payload": {
"updated_on": <Unix Timestamp of the data>(str)
"feedback_dict": {
<Feedback Dict>(dict)
},
"target": <Site Node ID>(str)
},
"message_type": <Type of Message>(str)
}La structure du dictionnaire de retour d’information est disponible ici : MQTT Feedback Payload Structure
Sujet de retour d’information agrégé
Sujet : vpp/{MQTT Username}/{VPP ID}/warning
Le VPP agrège les retours reçus par chaque contrôleur individuel.
Corps :
{
"payload": {
"updated_on": <Unix Timestamp of the data>(str)
"feedback_dict": {
<Aggregated Feedback Dict>(dict)
},
},
"message_type": <Type of Message>(str)
}Le dictionnaire de retour d’information agrégé est structuré de manière similaire à la structure de la charge utile de retour MQTT. Cependant, les valeurs de type chaîne, telles que les stratégies exécutées, ne peuvent pas être agrégées et ne sont donc pas incluses.
Sujet des commandes envoyées
Sujet : vpp/{MQTT Username}/{VPP ID}/warning
Lorsqu’une commande est envoyée aux contrôleurs par le VPP, cela est rapporté via ce sujet.
Corps :
{
"payload": {
"aggregated": {
<Component Name>(str): <CommandPower Value>(float)...
},
"dispatched_commands": [
<List of individual commands sent to the controllers>
],
},
"message_type": <Type of Message>(str)
}La structure de la charge utile des commandes individuelles envoyées peut être consultée ici : MQTT Feedback Payload Structure.
Sujet d’alerte
Sujet : vpp/{MQTT Username}/{VPP ID}/warning
Si une erreur ou un avertissement survient dans le VPP, un message sera envoyé sur ce sujet MQTT.
Corps :
{
"payload": {
"fields": {
<Field Dictionary>(dict)
},
"target": <VPP ID>(str)
},
"message_type": <Type of Message>(str)
}