Ga naar hoofdinhoud
Versie: 4.2.12

Home Assistant & MQTT

Je EMS heeft een eigen MQTT-broker op je thuisnetwerk. Daarmee kan je Home Assistant (of een andere domoticatoepassing) live meelezen met je energiegegevens en een beperkt aantal functies bedienen. Dit werkt volledig lokaal: er gaat niets via het internet.

Verbinden​

InstellingWaarde
BrokerHet IP-adres van je EMS op je thuisnetwerk
Poort1883 (gewoon) of 8883 (versleuteld met TLS)
Gebruikersnaamautomation
WachtwoordUniek voor jouw toestel, zie hieronder

Voorbeeld voor Home Assistant (configuration.yaml, of via de MQTT-integratie in de instellingen):

mqtt:
broker: 192.168.1.50 # IP-adres van je EMS
port: 1883
username: automation
password: <je wachtwoord>

Je wachtwoord​

Elk toestel heeft een eigen, willekeurig wachtwoord. Vraag het op bij je installateur of bij onze support; geef daarbij je installatienummer.

Oude wachtwoorden werken niet meer

Vroeger was het wachtwoord afgeleid van je toestelnummer (bijvoorbeeld EMS-501-mqtt-2025). Om veiligheidsredenen is dat vervangen door een willekeurig wachtwoord per toestel. Werkte je integratie tot een recente update en meldt ze nu "not authorised" of "connection refused", vraag dan je nieuwe wachtwoord op.

Deel je wachtwoord niet: wie het kent, kan op je thuisnetwerk je laadpaal en je thuisbatterij bedienen.

Gegevens lezen​

Verbind met een tool zoals MQTT Explorer om alle onderwerpen en hun live waarde te zien. De nuttigste staan onder sensor/<id>/, waarbij <id> het nummer van je installatie is zoals MQTT Explorer het toont:

OnderwerpBetekenisEenheid
sensor/<id>/netVermogen van of naar het netkW
sensor/<id>/pvZonnevermogenkW
sensor/<id>/batBatterijvermogenkW
sensor/<id>/socBatterijniveau%

Vermogen staat altijd in kW, niet in W.

Status van de EMS (alleen lezen)​

Naast sensor/# kan je ook volgen wat de EMS beslist en wat je in het portaal hebt ingesteld. Deze onderwerpen kan je alleen lezen: je wijzigt ze via het portaal of met de opdrachten verderop, niet door er zelf iets naar te sturen. De inhoud is JSON.

OnderwerpWat je zietWanneer het verschijnt
state/charger_connectedOf er een auto aan je laadpaal hangt (connected: true of false)Als je een laadpaal hebt; elke 2 minuten bijgewerkt
state/charger_user_overrideOf je eigen laadkeuze (portaal of MQTT) voorgaat op je laadplanAlleen als je een laadplan hebt
state/curtailing/pv_budget_wHoeveel zonnevermogen (in W) de EMS toelaat wanneer ze je panelen afremtAlleen wanneer de EMS je panelen afremt, bijvoorbeeld bij negatieve prijzen
desired/charging_planJe laadplan zoals je het in het portaal instelde (doeltijd, doel-%, voorkeur, dagen); null als er geen plan isWanneer je je laadplan in het portaal wijzigt
desired/ev_stateWat de EMS over je auto weet: batterijniveau, capaciteit, maximaal laadvermogen en of hij ingeplugd isAlleen als je auto via het portaal gekoppeld is

Zie je een onderwerp niet, dan geldt de voorwaarde in de laatste kolom voor jou niet.

Je laadpaal bedienen​

De gebruiker automation mag deze opdrachten sturen. Ze doen hetzelfde als de overeenkomstige keuze in het portaal (zie Auto laden).

OnderwerpInhoudEffectPakket
charger/set_mode6Slim ladenFull, en alleen met een energieplan Dag en nacht of Dynamisch
2Zon + minimumAltijd inbegrepen
3Nu ladenLight · Full
5Niet ladenLight · Full
charger/set_manualstroom in A, bv. 10Aangepast laden met die vaste stroomLight · Full
charger/set_number_of_phases1 of 3Aantal fasen; werkt alleen bij Aangepast ladenLight · Full
car/SoCbatterijniveau in %, bv. 64Vertelt de EMS hoe vol je auto is (bijvoorbeeld uit de integratie van je auto in Home Assistant)

Een modus die je via MQTT kiest, telt als je eigen keuze: een laadplan uit de cloud overschrijft hem niet.

Voorbeeld: een Home Assistant-script dat overschakelt naar Nu laden.

script:
ev_nu_laden:
sequence:
- action: mqtt.publish
data:
topic: charger/set_mode
payload: "3"

Je thuisbatterij bedienen​

Beschikbaar in

Light · Full · zie Pakketten

Je kan de EMS tijdelijk opdragen je thuisbatterij aan een vast vermogen te laden of te ontladen. Dit werkt voor alle merken omvormers, ook al begint het onderwerp met sofar.

OnderwerpInhoudEffect
sofar/setWorkingMode/passivevermogen in W, bv. 3000Laden aan 3000 W
negatief vermogen in W, bv. -2500Ontladen aan 2500 W
0Stopt je manuele opdracht: de EMS stuurt de batterij weer zelf
  • Het vermogen geldt voor je hele installatie. Heb je meerdere omvormers met een batterij, dan verdeelt de EMS het over die omvormers.
  • Je opdracht blijft actief tot je 0 stuurt. Vergeet dat niet aan het einde van je automatisering, anders blijft de batterij aan dat vermogen laden of ontladen.
  • De EMS kan het vermogen lager houden dan gevraagd, bijvoorbeeld om je capaciteitstarief te respecteren of als de omvormer minder aankan.
  • Gebruik sofar/setWorkingMode/auto niet om te stoppen. Dat zet de omvormer in zijn eigen ingebouwde modus en beëindigt je manuele opdracht niet. Stuur 0 naar sofar/setWorkingMode/passive: dan neemt de EMS de batterij weer over.
  • Reageert je installatie niet op je opdracht? Dan heeft ze nog een software-update nodig. Neem contact met ons op.

Voorbeeld: laden aan 3000 W en na een uur de sturing teruggeven aan de EMS.

script:
batterij_laden_1u:
sequence:
- action: mqtt.publish
data:
topic: sofar/setWorkingMode/passive
payload: "3000"
- delay: "01:00:00"
- action: mqtt.publish
data:
topic: sofar/setWorkingMode/passive
payload: "0"

Extern zonnevermogen doorgeven​

Heb je panelen op een omvormer die de EMS niet zelf uitleest, dan kan je het vermogen ervan vanuit Home Assistant doorsturen naar sensor-ha/1, in W (bv. 1850). De EMS telt het mee als zonnevermogen. Stuur het regelmatig, bijvoorbeeld elke minuut, en gebruik maar één onderwerp: elke waarde vervangt de vorige.

Wat je niet via MQTT kan bedienen​

Relais (bijvoorbeeld een boiler of warmtepomp op een slim relais) kan je niet via MQTT aan, uit of op automatisch zetten; dat gaat via het portaal. Alle onderwerpen die hierboven niet staan, zijn afgeschermd voor schrijven of worden genegeerd, zodat een fout in je domotica de energiesturing niet kan verstoren.

Problemen​

  • "not authorised" of "connection refused" bij het verbinden: het wachtwoord klopt niet. Vraag je huidige wachtwoord op (zie hierboven).
  • Verbonden, maar sommige waarden of bedieningen reageren niet: je integratie gebruikt een onderwerp dat niet in de lijst hierboven staat. Lezen of schrijven daarop wordt geweigerd.
  • Geen verbinding: controleer of je Home Assistant en je EMS op hetzelfde netwerk zitten en of je het juiste IP-adres gebruikt.