MQTT-requests en -responses#

GbbOptimizer ondersteunt request/response-queries via MQTT. Een extern programma stuurt een request en GbbOptimizer antwoordt met de gegevens.

Verbinding#

Het externe programma moet verbinding maken met MQTT met de volgende parameters:

ParameterWaarde
AdresZie MQTT-servers
Poort8883
Gebruiker{PlantId}
Wachtwoord{PlantToken}
UseTLStrue
ClientIDmoet eindigen op _{PlantId}

Topics#

RichtingTopic
Request →{PlantId}/ha_gbb/dataserver/serverrequest
← Response{PlantId}/ha_gbb/dataserver/serverresponse

Voor achterwaartse compatibiliteit ondersteunt het programma ook {PlantId}/dataserver/serverrequest en {PlantId}/dataserver/serverresponse (niet aanbevolen).

Foutresponse#

Elke request kan een fout retourneren:

1
2
3
4
5
{
  "Operation": "xxx",
  "Status": "ERROR",
  "ErrDesc": "foutbeschrijving"
}
VeldTypeBeschrijving
OperationstringOperatie uit de request
Statusstring"ERROR"
ErrDescstringFoutbeschrijving voor de gebruiker

Beschikbare operaties#

REQ RESBatteryForecast_GetChartData Batterijprognosegegevens ophalen
REQ {PlantId}/ha_gbb/dataserver/serverrequest
RES {PlantId}/ha_gbb/dataserver/serverresponse

Request:

1
{"Operation": "BatteryForecast_GetChartData"}

Response — array van objecten in het veld BatteryForecast_GetChartData:

VeldTypeBeschrijving
DaydateDag
Hourint (0-23)Uur
StartBattery_PercdecimalSOC aan het begin van het uur
StartBattery_kWhdecimalkWh aan het begin (DC)
StartBattery_kWhACdecimalkWh aan het begin (AC)
PVForecast_Percdecimal?PV-prognose (%)
PVForecast_kWhdecimal?PV-prognose (kWh DC)
PVForecast_kWhACdecimal?PV-prognose (kWh AC)
Loads_Percdecimal?Verbruik (%)
Loads_kWhdecimal?Verbruik met ExtraLoad (kWh DC)
Loads_kWhACdecimal?Verbruik (kWh AC)
GridCharge_Percdecimal?Laden uit het net (%)
GridCharge_kWhdecimal?Laden uit het net (kWh DC)
GridCharge_kWhACdecimal?Laden uit het net (kWh AC)
Discharge_Percdecimal?Ontladen (%)
Discharge_kWhdecimal?Ontladen (kWh DC)
Discharge_kWhACdecimal?Ontladen (kWh AC)
EndBattery_PercdecimalSOC aan het einde van het uur
EndBattery_kWhdecimalkWh aan het einde (DC)
EndBattery_kWhACdecimalkWh aan het einde (AC)
EndBattery_Pricedecimal?Waarde van de energie in de batterij
Profit_Amountdecimal?Winstbedrag
FromGrid_kWhdecimal?Import uit het net
Purchase_Pricedecimal?Inkoopprijs
Purchase_Amountdecimal?Inkoopbedrag
ToGrid_kWhdecimal?Export naar het net
Sale_Pricedecimal?Verkoopprijs
Sale_Amountdecimal?Verkoopbedrag
Consumption_kWhdecimal?Verbruik (= Loads_kWh)
Consumption_Pricedecimal?Verbruiksprijs
Consumption_Amountdecimal?Verbruiksbedrag
ExtraLoadsKWdecimal?Extra verbruik (totaal)
ExtraLoadsKW_ElectricVehicledecimal?EV
ExtraLoadsKW_HeatingPumpdecimal?Warmtepomp
ExtraLoadsKW_Generic1Generic6decimal?Andere 1–6
REQ RESHistory_GetHours Uurgeschiedenis uit de module Winsten ophalen
REQ {PlantId}/ha_gbb/dataserver/serverrequest
RES {PlantId}/ha_gbb/dataserver/serverresponse

Request — vorm 1 (datumbereik):

1
{"Operation": "History_GetHours", "FromDate": "2024-01-01", "ToDate": "2024-01-01"}
VeldTypeBeschrijving
Operationstring"History_GetHours"
FromDatedate?Standaard: vandaag
ToDatedate?Standaard: vandaag

Request — vorm 2 (periode):

VeldTypeBeschrijving
Operationstring"History_GetHours"
Periodstring"curr_day", "prev_day" of "today_yesterday"
AddPeriodToPropertyint?Indien 1 → responssleutel met suffix, bijv. "History_Hours_curr_day"

Response — array in History_Hours:

VeldTypeBeschrijving
HourdecimalUur
DaydateDag
FromGrid_kWhdecimal?Import uit het net
FromGrid2_kWhdecimal?Gesaldeerde import
PurchaseAmountdecimal?Inkoopbedrag
ToGrid_kWhdecimal?Export naar het net
ToGrid2_kWhdecimal?Gesaldeerde export
SaleAmountdecimal?Verkoopbedrag
Consumption_kWhdecimal?Verbruik
ConsumptionAmountdecimal?Verbruiksbedrag
ProfitAmountdecimal?Winstbedrag
Solar_kWhdecimal?PV-productie
ToBattery_kWhdecimal?Naar de batterij
SOC_Min / SOC_Maxdecimal?Min/Max SOC
SOC_Start / SOC_Enddecimal?Begin / eind SOC
BattChange_kWhdecimal?Batterijverandering
LostPower_kWhdecimal?Verliezen
ChargeFromGrid_kWhdecimal?Laden uit het net
ChargeFromPV_kWhdecimal?Laden uit PV
DischargeToGrid_kWhdecimal?Ontladen naar het net
DischargeToLoads_kWhdecimal?Ontladen naar verbruik
Start_kWh / End_kWhdecimal?Begin / eind kWh in de batterij
ValueStartAmount / ValueEndAmountdecimal?Beginwaarde / eindwaarde
ValueChangeAmountdecimal?Waardeverandering
REQ RESHistory_GetDays Daggeschiedenis uit de module Winsten ophalen
REQ {PlantId}/ha_gbb/dataserver/serverrequest
RES {PlantId}/ha_gbb/dataserver/serverresponse

Request — vorm 1:

1
{"Operation": "History_GetDays", "FromDate": "2024-01-01", "ToDate": "2024-01-03"}

Request — vorm 2:

VeldTypeBeschrijving
Periodstring"curr_month", "prev_month", "curr_year" of "prev_year"
AddPeriodToPropertyint?Indien 1 → suffix in de responssleutel

Response — identieke structuur als History_GetHours, maar in de array History_Days.

REQ RESHistory_GetMonths Maandgeschiedenis uit de module Winsten ophalen
REQ {PlantId}/ha_gbb/dataserver/serverrequest
RES {PlantId}/ha_gbb/dataserver/serverresponse

Request — vorm 1:

1
{"Operation": "History_GetMonths", "FromYear": 2024, "FromMonth": 1, "ToYear": 2024, "ToMonth": 2}
VeldTypeBeschrijving
FromYear / FromMonthint?Standaard: huidig jaar/maand
ToYear / ToMonthint?Standaard: huidig jaar/maand

Request — vorm 2:

VeldTypeBeschrijving
Periodstring"curr_month", "prev_month", "curr_year" of "prev_year"

Response — identieke structuur + velden Year en Month, in de array History_Months.