Ga naar inhoud
slim laden

Gebruikersgedefinieerde apparaten

Bij het aanmaken van een lader, verwarmer, netmeter, thuisbatterij, zonnepanelensysteem, andere verbruiker, voertuig, tarief, opwekbegrenzingsapparaat of meldingsdienst kunt u in de lijst met apparaattypes de optie Gebruiker-gedefiniëerd apparaat kiezen en uw eigen logica beschrijven op basis van het pluginsysteem.

Zo kunt u apparaten koppelen waarvoor geen ingebouwde template bestaat, bijv. het actuele vermogen uit een HTTP-endpoint lezen of een doelstroom via Modbus schrijven.

In de gebruikersinterface bevat de templatekeuze van elk apparaattype een item Gebruiker-gedefiniëerd apparaat. Als u dit kiest, opent de editor voor uw eigen configuratie. Standaard wordt een apparaat met type: custom aangemaakt. Het type kan indien nodig door een andere waarde worden vervangen (bijv. type: heatpump).

power:
source: mqtt
topic: home/current/imsys/chn2/raw

U kunt de volledige configuratie ook direct in evcc.yaml schrijven, met name, type: custom en het attributenblok eronder:

meters:
- name: imsys
type: custom
power:
source: mqtt
topic: home/current/imsys/chn2/raw

Alle andere voorbeelden op deze pagina gebruiken de platte vorm van het attributenblok die u in de gebruikersinterface invoert.

De lijst met beschikbare pluginbronnen (http, mqtt, modbus, …) en hulpfuncties (calc, map, watchdog, …) vindt u in de pluginreferentie.

Elk gebruikersgedefinieerd apparaat wordt beschreven met drie soorten velden:

  • Leesattributen: plugins die evcc aanroept om een waarde op te halen (bijv. power, soc, status).
  • Schrijfattributen: plugins die evcc aanroept om een waarde in te stellen of een actie te starten (bijv. enable, maxcurrent, wakeup). De te schrijven waarde is in de plugin beschikbaar.
  • Features: de lijst features schakelt afwijkend gedrag in. De beschikbare features hangen af van het apparaattype.

Algemene opbouw:

# read attributes
power:
source: http
uri: http://meter.local/power
soc:
source: mqtt
topic: battery/soc
# write attributes
enable:
source: http
uri: "http://charger/relay?turn={{if .enable}}on{{else}}off{{end}}"
maxcurrent:
source: mqtt
topic: charger/maxcurrent
payload: ${maxcurrent:%d}
# features
features:
- heating
- integrateddevice

De beschikbare attribuutnamen en features verschillen per apparaattype en staan in de secties hieronder.

Vermogensmeters worden in de sectie meters geconfigureerd. Naar meters die onder meters: zijn gedefinieerd, kan vanuit site worden verwezen:

  • grid: Netmeter
  • pv: Meter voor zonne-energie
  • battery: Meter van de thuisbatterij
  • charge: Meter voor het laadvermogen van de lader
  • aux: Verbruiksmeter voor intelligente verbruikers
  • consumer: Meter voor een gewone verbruiker, die voor de verbruiksstatistieken wordt vastgelegd
  • ext: Extra meter die niet voor de regeling wordt gebruikt en niet in de gebruikersinterface verschijnt, maar alleen wordt gelogd en geëxporteerd

power is het enige verplichte attribuut. Niet elke meterrol ondersteunt alle attributen:

  • limitsoc en batterymode worden uitsluitend gebruikt voor batterijmeters (waarnaar vanuit site.battery wordt verwezen).
  • curtail en curtailed worden samen gebruikt voor pv-meters die opwekbegrenzing ondersteunen (§ 9 EEG).
  • currents, voltages en powers zijn faseattributen die elk met precies drie pluginitems (als YAML-array) moeten worden geconfigureerd en gelden voor netmeters (grid) en laders (charge).

Elke plugin moet het juiste datatype teruggeven. Gebruik voor de omzetting de leespijplijnen.

AttribuutTypeVerplichtContextBeschrijving
powerfloatjaalleActueel vermogen in W
energyfloatneealleMeterstand in kWh
returnenergyfloatneealleMeterstand in omgekeerde richting in kWh (zie hieronder)
maxpowerintneepv (hybride)Maximaal AC-vermogen in W
curtailedintneepvActuele terugleveringslimiet in % (0 tot 100). Alleen samen met curtail.
socintneebatteryLaadniveau in %
capacityfloatneebatteryCapaciteit in kWh
powers[float,float,float]neealleFasevermogens in W. Hiermee wordt de richting bepaald als de stromen zonder teken worden geleverd.
currents[float,float,float]neealleFasestromen in A. Voor het herkennen van actieve fasen.
voltages[float,float,float]neealleFasespanningen in V. Voor het herkennen van de aansluiting (1p/3p).

Wat een positieve power-waarde en de twee energierichtingen betekenen, hangt af van de meterrol:

Rolpower positiefenergyreturnenergy
gridNetafnameAfgenomenTeruggeleverd (aan het net)
pvProductieGeproduceerdVerbruikt (zelden)
batteryOntladen (negatief: laden)OntladenGeladen
chargeLadenGeladenOntladen (V2X)
aux, ext, consumerVerbruikVerbruiktGeproduceerd (zelden)

energy en returnenergy zijn oplopende meterstanden in kWh, idealiter totalen over de hele levensduur, zoals de afname- en terugleverregisters van een netmeter. De verschillen tussen de standen worden automatisch berekend, dus de plugin moet een meterstand teruggeven en geen verbruikswaarden per interval. Een teller die periodiek (bijv. dagelijks) wordt teruggezet, werkt ook, omdat het terugzetten automatisch wordt herkend. Een stand van 0 wordt als niet beschikbaar behandeld.

Beide attributen zijn optioneel. Zonder deze attributen wordt de energiegeschiedenis afgeleid uit het verloop van power. Echte meterstanden geven nauwkeurigere statistieken op de lange termijn.

AttribuutTypeVerplichtContextBeschrijving
limitsocintneebatteryLaaddoel voor de batterij in % instellen. Het laaddoel wordt berekend uit de geconfigureerde MinSoc, MaxSoc en het actuele laadniveau (attribuut soc).
curtailintneepvTerugleveringslimiet in % van het nominale opwekvermogen instellen (0 tot 100, 100 = geen limiet). Alleen samen met curtailed. Zie Opwekbegrenzingsapparaat.
batterymodeintneebatteryDe regelmodus van de batterij direct instellen. De modi staan hieronder.
WaardeModusGedrag
1normalNormale werking: laden met overschot, ontladen voor verbruik
2holdOntladen blokkeren, laden met overschot blijft toegestaan
3chargeLaden vanuit het net, niet ontladen
4holdchargeLaden blokkeren, ontladen voor verbruik blijft toegestaan
5dischargeOntladen naar het net

Alleen de batterijmodi die het apparaat ondersteunt, worden gebruikt. Als batterymode een switch is, worden de ondersteunde modi uit de case-waarden afgeleid. Dat werkt ook wanneer de switch in een watchdog is verpakt. Elke andere plugin heeft batterymodes nodig met de ondersteunde modi, bijv. batterymodes: ["normal", "hold", "charge"].

Lees het actuele netvermogen uit een HTTP-endpoint.

meters:
- name: grid
type: custom
power:
source: http
uri: http://zaehler.network.local:8080/api/data.json?from=now
jq: .data.tuples[0][1]

Lees vermogen en laadniveau van een thuisbatterij en stel de modus via HTTP in. De switch dekt de modi normal, hold en charge af, dus biedt evcc precies deze drie aan.

meters:
- name: battery
type: custom
capacity: 10 # kWh
power:
source: http
uri: http://battery.local/api/power
soc:
source: http
uri: http://battery.local/api/soc
batterymode:
source: switch
switch:
- case: 1 # normal
set:
source: http
uri: http://battery.local/api/mode
method: POST
body: '{"mode": "auto"}'
- case: 2 # hold
set:
source: http
uri: http://battery.local/api/mode
method: POST
body: '{"mode": "hold"}'
- case: 3 # charge
set:
source: http
uri: http://battery.local/api/mode
method: POST
body: '{"mode": "charge"}'

Het standaardtype type: custom dekt laders met traploze stroomregeling af. Gespecialiseerde ladertypes voor andere apparaten staan beschreven onder Schakelbaar stopcontact en Warmtepompen.

AttribuutTypeVerplichtBeschrijving
statusstringjaStatus (A..F)
enabledbooljaIs laden ingeschakeld?
powerfloatneeLaadvermogen in W
energyfloatneeMeterstand in kWh
returnenergyfloatneeMeterstand in omgekeerde richting in kWh (ontladen energie, V2X)
identifystringneeActuele RFID-identificatie
socintneeLaadniveau in %
limitsocintneeLaadlimiet in %
tempfloatneeActuele temperatuur in °C (verwarming, alias voor soc)
limittempintneeTemperatuurlimiet in °C (verwarming, alias voor limitsoc)
finishtimestringneeGeschatte eindtijd van het laden (RFC3339, Go-duur, Unix-tijdstempel of resterende seconden)
phasesintneeAantal fysieke fasen (1..3)
powers[float,float,float]neeFasevermogens in W. Hiermee wordt de richting bepaald als de stromen zonder teken worden geleverd.
currents[float,float,float]neeFasestromen in A. Voor het herkennen van actieve fasen.
voltages[float,float,float]neeFasespanningen in V. Voor het herkennen van de aansluiting (1p/3p).
AttribuutTypeVerplichtBeschrijving
enablebooljaLaden in- of uitschakelen
maxcurrentintjaMaximale laadstroom in A instellen
maxcurrentmillisfloatneeMaximale laadstroom in A instellen (met decimalen)
phases1p3pintneeFasen omschakelen (vereist tos: true)
wakeupboolneeVoertuig wekken
FeatureBeschrijving
integrateddeviceGeen voertuigselectie. Het apparaat werkt zonder aangesloten voertuig en zonder laadsessies (bijv. warmtepomp, verwarmingselement, vast geïnstalleerde verbruiker).
heatingApparaat als verwarming behandelen: laadniveau en limieten worden in °C in plaats van % weergegeven.
continuousHet apparaat blijft in de eigen normale werking draaien wanneer het “uitgeschakeld” is. De gebruikersinterface toont “Normale werking” in plaats van “Stand-by”. Een verzoek om meer vermogen (bijv. bij een zonneoverschot of goedkope netstroom) heet “Boost”. De modi heten Normaal, Slim en Boost in plaats van Uit, Slim en Snel.
switchdeviceHet apparaat kan alleen aan/uit worden geschakeld (geen traploze stroomregeling). Maximale stroom en de optie Altijd laden worden niet getoond. Minimale stroom en fasen bepalen het inschakelvermogen voor zonne-energie. Zonder continuous heten de modi Uit, Slim en Aan.

Gebruikelijke combinaties van features in ingebouwde templates:

Elektrische verwarming:

features:
- integrateddevice
- heating

Stopcontact:

features:
- switchdevice
- integrateddevice # optional, when the socket drives a fixed load
- heating # optional, when it controls a heating device

Warmtepomp:

features:
- integrateddevice
- heating
- continuous
- switchdevice # optional, when no current control is available (SG Ready)

Vraag de laadstatus van een lader op via Modbus.

features:
- integrateddevice
enabled:
source: modbus
id: 4711
uri: modbus.local:502
rtu: false
register:
address: 100
type: holding
decode: uint16

Schakel een Tasmota-stopcontact via een MQTT-bericht.

enable:
source: mqtt
broker: mosquitto.local:883
topic: cmd/unu-switch/Power
payload: ON

type: switchsocket

Voor slimme stopcontacten en vergelijkbare relaisapparaten die alleen aan/uit kunnen worden geschakeld, zonder traploze stroomregeling. De laadstatus wordt afgeleid uit het actuele vermogen (een vermogen boven standbypower betekent dat er geladen wordt). Alle details over het instellen staan onder Slimme schakelaars.

AttribuutTypeVerplichtBeschrijving
enabledbooljaStatus van het stopcontact lezen (aan/uit)
powerfloatjaActueel vermogen in W
energyfloatneeMeterstand in kWh
socfloatneeLaadniveau in %
enablebooljaStopcontact aan/uit schakelen
standbypowerfloatneeVermogensdrempel in W. Daarboven: laden, daaronder: stand-by. Negatief: statisch (geen meting)

Warmtepompen en vergelijkbare verwarmingstoestellen gebruiken eigen ladertypes, elk met eigen attributen. Hoe u dit instelt, staat beschreven onder Warmtepompen, elektrische verwarming.

type: heatpump

Voor invertergestuurde warmtepompen die een traploze vermogensinstelwaarde via Modbus, HTTP of iets vergelijkbaars accepteren. Het gewenste verwarmingsvermogen wordt direct via setmaxpower geschreven.

AttribuutTypeVerplichtBeschrijving
powerfloatneeActueel vermogen in W
energyfloatneeMeterstand in kWh
tempfloatneeActuele temperatuur in °C
limittempintneeApparaatinterne temperatuurlimiet in °C
setmaxpowerintjaMaximaal verwarmingsvermogen in W instellen
getmaxpowerfloatneeActueel maximaal verwarmingsvermogen in W

Ook voertuigparameters kunnen via plugins worden gelezen.

AttribuutTypeVerplichtBeschrijving
socintjaLaadniveau in %
limitsocintneeLaadlimiet in %
statusstringneeStatus (A..F)
rangeintneeActieradius in km
odometerintneeKilometerstand in km
climaterboolneeKlimaatregeling actief?
getmaxcurrentfloatneeMaximale laadstroom in A
finishtimestringneeGeschatte eindtijd van het laden (RFC3339, Go-duur, Unix-tijdstempel of resterende seconden)
AttribuutTypeVerplichtBeschrijving
wakeupboolneeVoertuig wekken
chargeenableboolneeLaadproces starten/stoppen
maxcurrentintneeMaximale laadstroom in A instellen
AttribuutTypeVerplichtBeschrijving
titlestringneeWeergavenaam van het voertuig
capacityfloatneeBatterijcapaciteit in kWh
iconstringneePictogram in de gebruikersinterface
FeatureBeschrijving
coarsecurrentHet voertuig accepteert laadstroom alleen in hele stappen van 1 A. De regeling wordt beperkt tot grove stappen van 1 A, ook als de lader fijner zou kunnen regelen.
streamingHet voertuig stuurt zelf gegevens in plaats van te worden opgevraagd (bijv. BMW Cardata). Updates van het laadniveau worden ook als betrouwbaar behandeld wanneer er niet geladen wordt.
welcomechargeHet voertuig verwacht dat de lader bij het aansluiten actief is om de verbinding als werkend te registreren. Anders meldt het een fout.

Lees de actuele actieradius uit MQTT-berichten.

title: Green Mazda # display name (optional)
capacity: 50 # battery capacity in kWh (optional)
features:
- coarsecurrent
range:
source: mqtt
topic: mazda2mqtt/c53/chargeInfo/drivingRangeKm

Wek een auto via een HTTP-ping voordat verdere opvragingen worden verstuurd.

wakeup:
source: http
uri: http://teslalogger.local:5000/command/08154711/wake_up

onIdentify stelt de laadmodus automatisch in wanneer het voertuig wordt herkend.

soc:
source: mqtt
topic: car/soc
onIdentify:
mode: smart

Beschikbare modi: off, smart, now. De verouderde waarden pv en minpv worden nog geaccepteerd en activeren smart met Altijd laden uit of aan.

Een gebruikersgedefinieerd tarief koppelt evcc via het pluginmechanisme aan een eigen waardebron. Het attribuut tariff bepaalt wat de bron weergeeft en welke eenheid de waarden hebben.

Precies één van price en forecast moet zijn geconfigureerd.

AttribuutTypeBeschrijving
pricefloatActuele waarde. Float die de plugin teruggeeft.
forecaststringVoorspelling als JSON-string met een lijst van tijdvakken en waarden (zie schema hieronder). Wordt elk uur opgevraagd.
AttribuutTypeVerplichtBeschrijving
tariffstringneeprice (standaard), co2, solar of temperature. Bepaalt de eenheid van de teruggegeven waarden: prijs in de ingestelde valuta per kWh, CO₂-intensiteit in g/kWh, voorspelling van zonne-energie in W, temperatuur in °C.
chargesfloatneeVaste opslag per kWh die bij elke waarde wordt opgeteld. Standaard 0.
chargesZoneslistneeTijdsafhankelijke opslagen (bijv. netbeheerkosten) die charges voor bepaalde periodes vervangen. Zie tijdsafhankelijke netbeheerkosten.
taxfloatneeBelastingpercentage dat op het resultaat wordt toegepast, bijv. 0.2 voor 20%. Standaard 0.
formulastringneeGo-expressie voor een eigen berekening, waarin price, charges en tax beschikbaar zijn. Zie voorbeelden.
intervaldurationneeOpvraaginterval voor forecast. Standaard 1h.
cachedurationneeCacheduur voor price. Standaard 15m.
FeatureBeschrijving
averageMiddelt fijnmazige prijsvakken (bijv. kwartierwaarden) tot uurgemiddelden.
cacheableSlaat opgehaalde waarden op. Wordt na een herstart of een storing bij de aanbieder als terugvaloptie gebruikt (tot 24 uur).

Actuele prijs via HTTP:

price:
source: http
uri: https://example.com/api/price

Voorspelling via HTTP:

forecast:
source: http
uri: https://api.allinpower.nl/troodon/api/p/spot_market/prices/?product_type=ELK
jq: '[.timestamps, .prices] | transpose | map({ "start": (.[0] | strptime("%Y-%m-%dT%H:%M:%S.%f%z") | strftime("%Y-%m-%dT%H:%M:%SZ")), "end": (.[0] | strptime("%Y-%m-%dT%H:%M:%S.%f%z") | mktime + 3600 | strftime("%Y-%m-%dT%H:%M:%SZ")), "value": .[1] }) | tostring'

De plugin moet een JSON-structuur teruggeven met een lijst van tijdvakken en prijzen. Datumvelden moeten de vorm YYYY-MM-DDTHH:MM:SSZ hebben en de prijs moet in de juiste valuta-eenheid staan (bijv. EUR). evcc werkt intern met intervallen van 15 minuten; plugins mogen ook uurwaarden teruggeven, die automatisch worden omgezet.

[
{
"start": "2025-01-01T00:00:00Z",
"end": "2025-01-01T00:15:00Z",
"value": 25.0
},
{
"start": "2025-01-01T00:15:00Z",
"end": "2025-01-01T00:30:00Z",
"value": 26.5
},
{
"start": "2025-01-01T00:30:00Z",
"end": "2025-01-01T00:45:00Z",
"value": 24.8
},
{
"start": "2025-01-01T00:45:00Z",
"end": "2025-01-01T01:00:00Z",
"value": 27.2
}
]

Het veld formula accepteert een Go-expressie waarin price, charges, tax en het tijdstempel van het tijdvak ts beschikbaar zijn. De math-bibliotheek en de methoden van time.Time op ts zijn beschikbaar. De formule wordt uitgevoerd voor de actuele prijs en voor elk tijdvak van de voorspelling.

Prijsplafond:

charges: 0.22
tax: 0.19
formula: math.Min(0.5, (price + charges) * (1 + tax))

Begrenst het resultaat tot 50 ct/kWh.

Geen terugleververgoeding bij negatieve day-aheadprijzen (Duitse zonnepanelensystemen die na 25 februari 2025 in gebruik zijn genomen):

formula: factor := 1.0; if price < 0 { factor = 0.0 }; factor * 0.07

Betaalt een vaste terugleververgoeding van 7 ct/kWh, behalve wanneer de prijs op de day-aheadmarkt negatief is.

Een gebruikersgedefinieerde integratie voor de functie Externe limiet koppelt een stuurbox of energiebeheersysteem dat niet door een ingebouwde integratie wordt ondersteund. Kies in de gebruikersinterface Gebruiker-gedefiniëerde integratie onder Configuratie → Externe limiet.

Het type bepaalt op welke van vier manieren het limietsignaal binnenkomt: relay (één schakelcontact), fnn (FNN-stuurbox met meerdere schakelcontacten), eebus (EEBUS-protocol) of custom (dynamische limietwaarden via plugins). Elk signaal wordt gelezen via een pluginconfiguratie (GPIO, MQTT, HTTP, Modbus). Zie ook de configuratiereferentie voor hems.

De aansluiting via één schakelcontact is de eenvoudigste oplossing. De stuurbox activeert een contact dat door uw evcc-installatie wordt uitgelezen.

AttribuutTypeVerplichtBeschrijving
maxPowerint (W)jaTotale vermogenslimiet die wordt toegepast zolang het signaal actief is.
limitpluginjaPluginconfiguratie voor het lezen van het schakelcontact. true/1 = begrensd, false/0 = normaal.
passthroughpluginneeGeeft het begrenzingssignaal door aan een extern systeem.
intervaldurationneeOpvraaginterval voor het schakelcontact. Standaard 10s.

De vermogenslimiet krijgt u van de netbeheerder. Bij meerdere aanstuurbare verbruiksapparaten (SteuVE) wordt rekening gehouden met de gelijktijdigheidsfactor. U kunt de limiet ook zelf berekenen met de formule: Totale limiet = aantal SteuVE × 4,2 kW × gelijktijdigheidsfactor. Details over de berekening vindt u hier.

Bij gebruik van een Raspberry Pi kan de GPIO-pin direct worden gelezen:

type: relay
maxPower: 8400 # Example for 2 SteuVE
limit:
source: gpio
function: read
pin: 17 # Read GPIO pin 17
# Return value: false = not limited, true = limited

Meer details over de GPIO-plugin vindt u in de plugindocumentatie.

Stuurboxen volgens de FNN-standaard signaleren dimmen en opwekbegrenzing via afzonderlijke schakelcontacten. Het dimmen van het verbruik (W4) en de opwekbegrenzing (W3, S2, S1) werken onafhankelijk van elkaar. Minstens één van de signalen w4 en w3 moet zijn geconfigureerd.

AttribuutTypeVerplichtBeschrijving
maxDimPowerint (W)ja¹Verbruikslimiet zolang het dimsignaal (W4) actief is.
maxCurtailPowerint (W)ja²Geïnstalleerd vermogen van het zonnepanelensysteem, basiswaarde voor de begrenzingsstappen.
w4pluginneeLeest het dimsignaal. Begrenst het verbruik tot maxDimPower.
w3pluginneeLeest het begrenzingssignaal. Begrenst de teruglevering tot 0% van maxCurtailPower.
s2pluginneeLeest het begrenzingssignaal. Begrenst de teruglevering tot 30% van maxCurtailPower.
s1pluginneeLeest het begrenzingssignaal. Begrenst de teruglevering tot 60% van maxCurtailPower.
intervaldurationneeOpvraaginterval voor de schakelcontacten. Standaard 10s.

¹ verplicht wanneer w4 is geconfigureerd, ² verplicht wanneer w3 is geconfigureerd.

type: fnn
maxDimPower: 4200 # Consumption limit while dimmed (in watts)
maxCurtailPower: 10000 # Installed solar power, base for curtailment steps (in watts)
w4:
source: gpio
function: read
pin: 17 # Read GPIO pin 17
# Return value: false = normal, true = active
w3:
source: gpio
function: read
pin: 27
s2:
source: gpio
function: read
pin: 22
s1:
source: gpio
function: read
pin: 23

De digitale aansluiting via het EEBUS-protocol. De stuurbox communiceert direct met uw evcc-installatie en geeft de vermogenslimiet automatisch door. Stuurbox en evcc moeten eenmalig worden gekoppeld.

AttribuutTypeVerplichtBeschrijving
skistringjaSKI (Subject Key Identifier) van de stuurbox.
contractualConsumptionNominalMaxint (W)neeContractueel maximaal verbruiksvermogen.
failsafeConsumptionActivePowerLimitint (W)neeFailsafe-limiet voor het verbruiksvermogen.
productionNominalMaxint (W)neeGeïnstalleerd opwekvermogen (Wp).
failsafeProductionActivePowerLimitint (W)neeFailsafe-limiet voor het terugleveringsvermogen.
failsafeDurationMinimumdurationneeMinimale failsafe-duur, bijv. 2h.
passthroughpluginneeGeeft het begrenzingssignaal door aan een extern systeem.
type: eebus
ski: "1234-5678-90AB-CDEF" # SKI of the control box

De generieke integratie voor aansturingssystemen die dynamische limietwaarden leveren in plaats van schakelcontacten. Verbruikslimiet en opwekbegrenzing worden via plugins gelezen en werken onafhankelijk van elkaar. Minstens één van maxConsumptionPower en curtailedPercent moet zijn geconfigureerd.

AttribuutTypeVerplichtBeschrijving
maxConsumptionPowerpluginnee¹Leest de totale vermogenslimiet in watt. 0 = geen limiet.
curtailedPercentpluginnee¹Leest de toegestane teruglevering als percentage van productionNominalMax (0 tot 100). 100 = geen opwekbegrenzing.
productionNominalMaxint (W)nee²Geïnstalleerd opwekvermogen (Wp).
intervaldurationneeOpvraaginterval voor de plugins. Standaard 10s.

¹ minstens één van beide is verplicht, ² verplicht wanneer curtailedPercent is geconfigureerd.

type: custom
maxConsumptionPower:
source: http
uri: http://steuerbox.local/api/limit
jq: .maxPower # Power limit in watts, 0 = no limit
curtailedPercent:
source: mqtt
topic: hems/curtail/percent # Allowed feed-in in percent, 100 = no curtailment
productionNominalMax: 10000 # Installed generator power (Wp)

Een gebruikersgedefinieerd opwekbegrenzingsapparaat begrenst de teruglevering van het zonnepanelensysteem op verzoek van de netbeheerder (§ 9 EEG) wanneer de omvormer niet via zijn meterconfiguratie kan worden begrensd. Kies in de gebruikersinterface Gebruiker-gedefiniëerd apparaat onder Configuratie → Netaansluiting → Voeg opwekbegrenzingsapparaat toe. Zie ook de configuratiereferentie voor curtailers en Externe limiet.

Het apparaat ontvangt de toegestane teruglevering als percentage van het geïnstalleerde opwekvermogen en moet deze op de omvormer toepassen. 100 betekent geen limiet.

AttribuutTypeVerplichtBeschrijving
curtailpluginjaStelt de terugleveringslimiet in % van het nominale opwekvermogen in (0 tot 100). Moet schrijftoegang ondersteunen.
curtailedpluginjaLeest de actuele terugleveringslimiet in %. Als het apparaat die niet kan melden, gebruikt u de plugin error (zie voorbeeld).
curtail:
source: http
uri: http://inverter.local/api/limit?percent={{ .curtail }}
method: POST
curtailed:
source: http
uri: http://inverter.local/api/limit
jq: .percent

Een gebruikersgedefinieerde meldingsdienst verwerkt meldingen via een willekeurige plugin met schrijftoegang, bijv. een shellscript, HTTP-verzoek of MQTT-bericht. Kies in de gebruikersinterface Gebruiker-gedefiniëerde dienst onder Configuratie → Meldingen → Diensten.

Het bericht wordt aan de plugin doorgegeven in de parameter ${send} (of als templateparameter {{.send}}).

AttribuutTypeVerplichtBeschrijving
sendpluginjaPlugin die voor elk bericht wordt aangeroepen. Moet schrijftoegang ondersteunen.
encodingstringneeFormaat van de waarde in ${send}. Zie hieronder.

De mogelijke waarden voor encoding zijn:

EncodingInhoud van ${send}
jsonJSON-object { "msg": msg, "title": title }. Het veld title wordt alleen toegevoegd als het voor de gebeurtenis is gedefinieerd.
csvtitle en msg als kommagescheiden lijst
tsvZoals csv, maar gescheiden door tabs
titleAlleen de titel
(geen)Alleen het bericht (msg)
messaging:
events:
connect:
title: "${vehicleTitle} connected"
msg: "${vehicleTitle} was connected (charging mode: ${mode})."
services:
- type: custom
encoding: json
send:
# plugin type
source: script
# plugin-specific configuration;
# {{.send}} contains the JSON message
cmd: /usr/local/bin/evcc_message "{{.send}}"

In dit voorbeeld wordt een shellscript (cmd) aangeroepen met het argument {"title": "...", "msg": "..."}.