Astuce
Le protocole VPP est basé sur le protocole Live MQTT. Veuillez consulter cette page avant celle-ci. Voir Live MQTT Control.
Astuce
La configuration initiale du VPP DOIT être réalisée par Sofar. Veuillez contacter Sofar avant de suivre les étapes suivantes.
Connexion au broker MQTT
Veuillez vous référer à la section suivante pour savoir comment se connecter au broker MQTT Sofar : Connexion au broker MQTT
Fonctionnalités du VPP
Le VPP est conçu pour recevoir un point de consigne/stratégie par groupe d'appareils (ex. Solaire, Stockage), et agréger le point de consigne entre les contrôleurs connectés au VPP.
Alors que le protocole Live MQTT enverrait 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 Sofar, un champ standard1/outbound/remoteVppMetrics/warning/{MQTT Username}/{VPP ID} s’affiche. Entrez ici l’ID VPP reçu.


Algorithme d’agrégation
Les points de consigne sont agrégés en fonction de la capacité des appareils rattachés aux contrôleurs individuels.
Topics MQTT
Une fois la configuration initiale terminée, un ID VPP et un Nom d’utilisateur MQTT (et mot de passe) seront fournis.
Topic entrant
Topic : vpp/{MQTT Username}/{VPP ID}/warning
Topic (obsolète) : vpp/{MQTT Username}/{VPP ID}
Ce topic est utilisé par l’utilisateur pour envoyer une commande agrégée au VPP.
VPP en temps réel
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 de composants et les points de consigne se trouvent ici : MQTT Components and Policies
VPP programmé
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 de composants et les points de consigne se trouvent ici : MQTT Components and Policies
Topic d’acquittement
Topic : standard1/outbound/remoteVppMetrics/warning/{MQTT Username}/{VPP ID}
Topic (obsolète) : vpp/{MQTT Username}/{VPP ID}/warning
Après l’envoi d’une commande, le VPP répondra par un acquittement 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)
}Topic de feedback
Topic : standard1/outbound/remoteVppMetrics/warning/{MQTT Username}/{VPP ID}
Topic (obsolète) : vpp/{MQTT Username}/{VPP ID}/warning
Le topic de feedback 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 feedback se trouve ici : MQTT Feedback Payload Structure
Topic de feedback agrégé
Topic : standard1/outbound/remoteVppMetrics/warning/{MQTT Username}/{VPP ID}
Topic (obsolète) : vpp/{MQTT Username}/{VPP ID}/warning
Le VPP agrège les feedbacks reçus de 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 feedback agrégé est structuré de manière similaire à la MQTT Feedback Payload Structure. 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.
Topic des commandes dispatchées
Topic : standard1/outbound/remoteVppMetrics/warning/{MQTT Username}/{VPP ID}
Topic (obsolète) : vpp/{MQTT Username}/{VPP ID}/warning
Lorsque des commandes sont envoyées aux contrôleurs par le VPP, cela est signalé via ce topic.
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 du payload des commandes individuelles envoyées se trouve ici : MQTT Feedback Payload Structure.
Topic d’alerte
Topic : standard1/outbound/remoteVppMetrics/warning/{MQTT Username}/{VPP ID}
Topic (obsolète) : vpp/{MQTT Username}/{VPP ID}/warning
En cas d’erreur ou d’alerte dans le VPP, un message sera envoyé via ce topic MQTT.
Corps :
{
"payload": {
"fields": {
<Field Dictionary>(dict)
},
"target": <VPP ID>(str)
},
"message_type": <Type of Message>(str)
}