Home Assistant-automatisering#

Nadat je de Mosquitto Bridge hebt geconfigureerd, kun je automatiseringen in Home Assistant maken die:

  • Gegevens versturen van HA-sensoren naar GbbOptimizer
  • Reageren op commando’s ontvangen van GbbOptimizer

Gegevens naar GbbOptimizer versturen#

GbbOptimizer verwacht gegevens op het topic ha_gbb/sensor (lokaal in HA; via de bridge wordt het <PlantId>/ha_gbb/sensor).

Verplichte velden#

VeldBeschrijving
soc_percSOC van de batterij in procenten (of V als aansturing via spanning is ingesteld)
loads_total_kWhVerbruiksteller (kWh, cumulatief)
fromgrid_total_kWhTeller van uit het net genomen energie (kWh)
togrid_total_kWhTeller van naar het net gestuurde energie (kWh)
pv_total_kWhPV-productieteller (kWh)

Optionele velden#

VeldBeschrijving
ev_charge_total_kWhEV-laadteller
hp_total_kWhWarmtepompteller
other1_total_kWhother6_total_kWhAanvullende tellers

Meerdere PV-installaties#

Gebruik het veld more om gegevens van meerdere PV-vlakken te versturen:

1
2
3
4
5
6
7
{
  "pv_total_kWh": 10.5,
  "more": [
    {"number": 2, "pv_total_kWh": 5.2},
    {"number": 3, "pv_total_kWh": 3.1}
  ]
}

De hoofdwaarde pv_total_kWh komt overeen met number: 1. Gebruik ofwel pv_total_kWh, ofwel number: 1 in more — niet beide tegelijk. Het bijbehorende nummer moet zijn geconfigureerd in de PV-vlakinstellingen -> HomeAssistant.

Voorbeeld van automatisering — gegevens publiceren#

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
alias: mqtt_publicatie
trigger:
  - platform: time_pattern
    minutes: /5
action:
  - service: mqtt.publish
    data:
      qos: "0"
      retain: false
      topic: ha_gbb/sensor
      payload: >-
        {
          "soc_perc": {{ states.sensor.battery_soc.state | float(-1) }},
          "loads_total_kWh": {{ states.sensor.loads_daily.state | float(-1) }},
          "fromgrid_total_kWh": {{ states.sensor.grid_import_daily.state | float(-1) }},
          "togrid_total_kWh": {{ states.sensor.grid_export_daily.state | float(-1) }},
          "pv_total_kWh": {{ states.sensor.pv_daily.state | float(-1) }}
        }

Waarden kleiner dan 0 worden behandeld als ontbrekende gegevens (null). Tellers mogen worden gereset — je kunt bijvoorbeeld dagelijkse tellers versturen.

Opmerkingen over gedeeltelijke import#

  • Je kunt alleen optionele velden versturen als de hoofdgegevens (SOC, verbruik enz.) rechtstreeks uit de omvormer worden geïmporteerd. Voeg in dat geval in het menu IoT het HomeAssistant-systeem toe en een teller voor elk type optionele gegevens.
  • Het veld pv_total_kWh kan apart worden verstuurd — het wordt opgeteld bij de PV uit de omvormer als in PV-prognose -> Corrigeren -> Bron van daadwerkelijke PV-productie HomeAssistant is ingesteld.

Opmerkingen voor Solarman / DeyeCloud#

  • De velden soc_perc, fromgrid_total_kWh en togrid_total_kWh kunnen apart worden verstuurd als de optie „FromGrid-, ToGrid- en SOC-gegevens worden verzonden via HomeAssistant/SolarAssistant" is aangevinkt
  • Het veld loads_total_kWh kan apart worden verstuurd als „Verbruiksgegevens worden verzonden door HomeAssistant/SolarAssistant" is aangevinkt

Commando’s van GbbOptimizer ontvangen#

GbbOptimizer verstuurt commando’s naar de volgende topics (lokaal in HA zonder PlantId-prefix):

TopicBewerking
ha_gbb/Start_ChargeStart het laden van de batterij vanuit PV/net tot de ingestelde SOC
ha_gbb/Start_DischargeStart het ontladen van de batterij naar het net tot de ingestelde SOC
ha_gbb/Start_DisableChargeLaden van de batterij uitschakelen, PV gaat naar huis en net
ha_gbb/Start_NormalTerug naar normale werking
ha_gbb/EMSVerzameltopic met dezelfde gegevens als de bovenstaande commando’s

Commando-payload#

Elk commando verstuurt JSON met de volgende velden:

VeldTypeBeschrijving
HourintUur
FromMinuteintBeginminuut
ToMinuteintEindminuut
DischargeLimitWintOntlaadlimiet (W)
ChargeLimitWintLaadlimiet (W)
InputLimitWintLimiet voor opname uit het net (W)
PriceLessZeroint0 = normale prijs, 1 = prijs < 0
Operationstring"Normal", "Discharge", "DisableCharge", "Charge"
SOCintDoel-SOC-niveau
VfloatSOC omgerekend naar spanning (indien aansturing via V)

Voorbeeld van automatisering — reageren op een commando#

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
alias: mqtt_start_charge
trigger:
  - platform: mqtt
    topic: ha_gbb/Start_Charge
action:
  - service: switch.turn_on
    target:
      entity_id: switch.inverter_charge_from_grid
    data: {}
mode: single

Je moet zelf voor elk commando automatiseringen schrijven, afgestemd op jouw omvormer en configuratie. Het bovenstaande voorbeeld dient alleen ter illustratie.