vZEV (Zusammenschluss zum Eigenverbrauch) lets multiple, separately-metered sites - each with their
own SofarEMS - pool their grid import/export into one shared "virtual" energy
community. Instead of every site optimizing its own self-consumption in isolation, a site with a battery
automatically reacts to what the whole community is doing on the grid right now, not just its own
consumption/production - so one participant's surplus can be absorbed by another participant's battery,
and vice versa.
Typical use case: a group of neighbouring buildings (e.g. an apartment block, a business park, a few
households on the same street) that want to share their solar production and battery capacity instead of
each optimizing on their own.
Solar inverters are not curtailed for the community's benefit - instead, once a site joins with a solar
inverter, that inverter is kept at full production for as long as the site participates, so the
community always gets the maximum available solar rather than having a battery elsewhere compensate for
production that was curtailed for the site's own economics.
vZEV is currently only offered to sites whose configured address is in Switzerland. If you can't
find the "Setup vZEV" option on a site, check that site's configured address first - that's the only
gate. See Prerequisites below.
Community self-consumption. Multiple sites share their solar surplus and battery capacity instead of
each buying/selling independently.
No extra hardware or cloud contract. Participants only need a grid energy meter that's already added
to the SofarEMS; the community itself needs no separate subscription or gateway.
Live, automatic balancing. No manual scheduling - a site with a battery reacts to the community's
current net exchange with the grid, in real time.
The site's configured address is in Switzerland (see Supported Countries
above) - otherwise the "Setup vZEV" option won't appear.
The site has a grid energy meter added and configured. Without one, the setup wizard will stop and
offer you a shortcut to add one.
Any battery or solar inverter that should participate is already
added to the controller beforehand.
There is no separate device-selection step during vZEV setup - every compatible battery and solar
inverter already on the site joins the community automatically. You'll be shown the list of devices
that will participate before you confirm.
On the Settings page (also shown on the Home page), sites in Switzerland that aren't part of a
community yet show a "Setup vZEV (Energy Community)" button. This starts a short wizard:
A short introduction screen explaining what vZEV is.
Choose whether you want to create a new community or join an existing one.
Choose a unique energy community ID - this is shared with everyone you invite, so pick something
recognizable (e.g. based on the street or building name) but not easily guessable by strangers.
Review the list of devices that will participate (every battery/solar inverter already on the site).
Confirm. You'll immediately be shown a join token - see The join token below.
You must save this before continuing; it is never shown again.
The join token is a one-time secret generated when a community is created. Think of it as the
community's password:
Anyone with the energy community ID + join token can add a new site to the community.
It is shown exactly once, right after creation. Save it somewhere secure immediately (e.g. a
password manager) - it cannot be retrieved again afterwards, by anyone, including support.
If the token is lost, existing participants keep working normally, but no new site can be added to
that community until you create a new one instead (see Difficulties).
Pick one site to go first. On its controller, run through Setup vZEV → Create a new community,
choose the community ID, and save the join token securely (e.g. share it with your team through a
password manager, not through plain chat/email if you can avoid it).
For every other site: on that site's own controller, run through Setup vZEV → Join an existing
community, and enter the same community ID and join token from step 1.
Repeat for as many sites as should participate. There's no fixed limit on the number of participants.
A site does not need a battery to join - a site with only a grid meter (and optionally solar) still
contributes its consumption/production to the community and benefits from it, it just isn't steered
itself. A site with a battery actively helps balance the whole community.
Each site's setup is independent and self-service - there's no central dashboard where one installer
manages every participant's controller. Every participant needs someone with access to that specific
controller to run the join step there.
Once set up, the Settings/Home page shows the community ID and how many other participants are known,
with a "View community overview" button. This opens the vZEV Map: a live diagram of the power
currently flowing between the grid, this site (highlighted, broken down into its own devices), and every
other participant, plus a chart of every participant's net energy exchanged since the start of the current
15-minute interval. On a well-balanced community, the community-wide line on that chart stays close to
zero.
On the Settings page, the vZEV panel has a "Remove vZEV" button. Removing vZEV only affects the site
you're on - it stops that site's own participation (reporting and, if applicable, battery steering) and
returns you to the Settings page. It does not affect any other participant, and does not delete the
community itself.
Pools multiple independently-metered sites into one shared, live-balanced energy community.
Automatic, real-time battery steering that reacts to the whole community's net grid exchange, not just
the local site's.
A slower, periodic correction that keeps nudging the community's net exchange back toward zero over time,
on top of the fast, live reaction - so small moment-to-moment mismatches don't add up over an interval.
Automatically respects each site's own grid connection limits - a site is never asked to charge/discharge
its battery harder than its own grid connection safely allows, even if the community needs more.
Solar production is kept uncurtailed for participating sites, so the community benefits from the maximum
available solar rather than losing it to price-based curtailment.
Passive participation for sites without a battery - they still contribute and benefit, without being
steered.
A software-version safety check: if a participant's controller software falls behind the rest of the
community, it automatically stops steering its battery and shows a clear on-screen message until it's
updated, instead of silently behaving differently from everyone else.
A live map and historical chart to visualize how the community is doing.
The join token is shown once and cannot be recovered or regenerated. Losing it doesn't break the
community, but blocks adding new participants until a new community is created.
There is currently no way to remove another participant - removal is self-service only, done by that
participant on their own controller. If a participant becomes unreachable or should be excluded, that
needs to be arranged with whoever manages that site directly.
If a participant is removed or permanently goes offline, other participants may keep showing its
last-known contribution for a while rather than immediately reflecting its absence.
All compatible batteries and solar inverters on a site join automatically - there is currently no way to
select only some of a site's devices to participate.
A site can only be part of one vZEV community at a time.
The battery reaction is purely live/reactive (plus the periodic correction above) - it does not forecast
or pre-schedule charging/discharging ahead of time.
Check that the site's configured address is in Switzerland - this is the only requirement that gates
visibility of the option (see Prerequisites).
Check that the site isn't already part of a community - the option is replaced by the community's status
once set up.
The setup wizard tells me a grid meter is required.
Add and configure a grid energy meter on the site first, then restart the vZEV setup. The wizard offers a
shortcut button straight to adding one.
A participant's status shows 'Update this controller to participate in the energy community.'
This means that controller's software is behind at least one other participant in the same community.
The battery on that site is not being steered while this message is shown (same as a site without a
battery) - it will resume automatically once the controller is updated to a version that's no longer
behind, no manual reset needed.
A participant's net energy on the vZEV Map / chart stays stuck at 0 kWh, even though that site is clearly consuming or producing.
The site's grid meter is reporting live power correctly, but not real cumulative imported/exported
energy. Check that site's grid meter configuration and connection - if the meter itself looks healthy and
this persists, contact support.
A battery isn't reacting even though the community clearly has a surplus/deficit.
Check the general checklist under "Control problems" first
(device online, remote control enabled, no active faults, no other higher-priority external signal
overriding vZEV).
Check that the battery still has room to charge/discharge - the community can't ask more of a battery
than its own state of charge and grid connection limits allow at that moment.
I lost the join token for our community.
It cannot be recovered by support or anyone else. Existing participants are unaffected and keep working
normally, but no new site can join that community. To add more participants going forward, create a new
community and have every site join that one instead.