Komendy danych MQTT#

Komendy pozwalające zewnętrznym programom zmieniać dane w GbbOptimizer. Każda komenda wysyła dane na dedykowany temat i otrzymuje wynik na {PlantId}/ha_gbb/api/result.

Wynik komend#

PUB {PlantId}/ha_gbb/api/result

Wynik każdej komendy danych — OK lub opis błędu

PoleTypOpis
OrderIdstring?Skopiowany z zapytania
Resultstring"OK" lub opis błędu
DataobjectDane z oryginalnego zapytania

SetManualPrices Ustaw ręczne ceny energii
{PlantId}/ha_gbb/api/setmanualprices
PoleTypWymaganeOpis
OrderIdstringnieTekst skopiowany do odpowiedzi
Datatablicatak
DatedatetakData ceny
StartHourint (0-23)takGodzina rozpoczęcia
StartMinuteint (0-59)nieMinuta (domyślnie 0)
PurchasePricedecimalnieCena zakupu
TransferPricedecimalnieCena przesyłu
SalePricedecimalnieCena sprzedaży

Przykład:

1
2
3
4
5
{
  "Data": [
    {"Date": "2024-04-20", "StartHour": 20, "PurchasePrice": 0.23}
  ]
}
SetExtraLoads Ustaw Extra Zużycie
{PlantId}/ha_gbb/api/setextraloads
PoleTypWymaganeOpis
OrderIdstringnieTekst skopiowany do odpowiedzi
Datatablicatak
DatedatetakData (dzisiaj lub jutro)
StartHourint (0-23)takGodzina
StartMinuteint (0-59)nieMinuta (domyślnie 0)
TypeNointtak0=EV, 1=Pompa ciepła, 2=Inne1, 3=Inne2, …, 7=Inne6
ExtraLoads_kWhdecimaltakkWh

Przykład:

1
2
3
4
5
{
  "Data": [
    {"Date": "2024-04-20", "StartHour": 20, "TypeNo": 1, "ExtraLoads_kWh": 1.23}
  ]
}
SetRealTemperature Ustaw rzeczywistą temperaturę
{PlantId}/ha_gbb/api/setrealtemperature
PoleTypWymaganeOpis
OrderIdstringnieTekst skopiowany do odpowiedzi
Datatablicatak
DatedatetakData (wczoraj, dzisiaj lub jutro). Jeśli brak Hour — godzina z daty
Hourint (0-23)nieGodzina temperatury
RealTemperaturedecimaltakTemperatura (°C)

Przykład:

1
2
3
4
5
{
  "Data": [
    {"Date": "2024-04-20", "Hour": 20, "RealTemperature": 1.23}
  ]
}
SetOptimizer Ustaw parametry optymalizatora
{PlantId}/ha_gbb/api/setoptimizer
PoleTypWymaganeOpis
OrderIdstringnieTekst skopiowany do odpowiedzi
Dataobiekttak
Opt2_3x100Requestintnie0 lub 1 — wymuszenie 3h×100%
CurrentLoadProfileIdintnieID Profilu Zużycia
CurrentLoadProfileNamestringnieNazwa Profilu Zużycia (wielkość liter nieistotna)

Przykład:

1
{"Data": {"Opt2_3x100Request": 1}}
SetCar Ustaw parametry samochodu EV
{PlantId}/ha_gbb/api/setcar

Samochód „HomeAssistant EV Car" musi być najpierw dodany w programie. Zmieniane są tylko podane parametry — ale program wymaga aktualnych: SOC, SOC_ChargeLimit, IsConnected, IsCharging, Position_Longitude, Position_Latitude.

PoleTypWymaganeOpis
OrderIdstringnieTekst skopiowany do odpowiedzi
DatatablicatakMożna aktualizować wiele samochodów
VINstringtakKlucz identyfikacyjny. Nowy VIN = nowy samochód (max 10)
BatteryKWhdecimalniePojemność baterii samochodu
ChargeAdecimalnieDomyślny prąd ładowania (A)
Phasesintnie1 lub 3 fazy
SOCintnieAktualny SOC
SOC_ChargeLimitintnieDocelowy SOC
InServiceboolnieCzy samochód jest w serwisie
IsConnectedboolnieCzy podłączony do ładowarki
IsChargingboolnieCzy aktualnie się ładuje
Position_LongitudedoublenieDługość geograficzna
Position_LatitudedoublenieSzerokość geograficzna

Przykład:

1
2
3
4
5
{
  "Data": [
    {"VIN": "vin1234", "SOC": 40, "SOC_ChargeLimit": 90}
  ]
}
SetAutoCharging Ustaw parametry automatycznego ładowania EV
{PlantId}/ha_gbb/api/setautocharging
PoleTypWymaganeOpis
OrderIdstringnieTekst skopiowany do odpowiedzi
DatatablicatakMożna aktualizować wiele wpisów
NamestringtakNazwa harmonogramu ładowania
Onintnie0 — wyłącz, 1 — włącz

Przykład:

1
2
3
4
5
{
  "Data": [
    {"Name": "Codziennie", "On": 1}
  ]
}
SetHP Ustaw parametry pompy ciepła
{PlantId}/ha_gbb/api/sethp
PoleTypWymaganeOpis
OrderIdstringnieTekst skopiowany do odpowiedzi
DataobiekttakZmieniane tylko podane parametry
HPForecast_Break_OnboolniePrzerwa w pracy PC: włącz/wyłącz
HPForecast_BreakFromDatedatenieData rozpoczęcia przerwy
HPForecast_BreakFromHourint (0-23)nieGodzina rozpoczęcia
HPForecast_BreakToDatedatenieData zakończenia (włączńie)
HPForecast_BreakToHourint (0-23)nieGodzina zakończenia (włączńie)

Przykład:

1
2
3
4
5
6
7
{
  "Data": {
    "HPForecast_Break_On": true,
    "HPForecast_BreakToDate": "2026-01-30",
    "HPForecast_BreakToHour": 23
  }
}
SetPVForecast Ustaw prognozę produkcji PV
{PlantId}/ha_gbb/api/setpvforecast
PoleTypWymaganeOpis
OrderIdstringnieTekst skopiowany do odpowiedzi
DatatablicatakTablica prognoz po dniach
DatedatetakData prognozy (dziś, jutro, do 7 dni)
NumberintnieNumer płaszczyzny PV (domyślnie 1)
HourstablicatakWartości godzinowe (patrz niżej)

Pola elementu Hours:

PoleTypWymaganeOpis
Hourdecimal (0-23)takGodzina prognozy
kWhdecimaltakPrognoza produkcji PV

Ta komenda pozwala na przesyłanie prognozy PV z zewnętrznych źródeł, np. z Home Assistant. Ustaw źródło prognozy PV na „HomeAssistant" w parametrach instalacji.

Przykład:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
{
  "Data": [
    {
      "Date": "2024-04-20",
      "Hours": [
        {"Hour": 6, "kWh": 0.5},
        {"Hour": 7, "kWh": 1.23},
        {"Hour": 8, "kWh": 2.45},
        {"Hour": 12, "kWh": 5.67},
        {"Hour": 18, "kWh": 1.10}
      ]
    }
  ]
}