[APP][Pro] Victron Energy

I checked the Victron spec for version 3.60. For the EV Charger Mode there is only 0=Manual;1=Auto available.

Without a VEBus you can’t add a GX device, but I don’t see that you need a GX device for what you want to do. Add a battery device to start with.

Everything connects to the IP address of your cerbo, not the ip address of the ev charger.

ah. thanks

Aha, that explains that Unknown mode appears in the device when I set scheduuler in Victron. Another issue is that the Charging state does not correspond to reality. The value does not change, in the streenshot you can see that there is no charging, therefore Status (Waiting for start) is correct but Mode is not.

Hi @Richard_B ,

I use a Victron MPPT charge controller. Whenever my actual solar power exceeds high value (for example, it reached 7147 W today), the power value in Homey suddenly drops and shows incorrect low numbers (e.g., around 958 W). The native Victron app shows the correct high values at the exact same time.

Could you please update the solar power value?

I can provide a diagnostic report from the app settings if you need it.

Thanks for your great work on the app!

Hi, i have Battery device added in the Victron app. Any thoughts why Charged data are missing in Energy tab, while having the battery device recognized and displayed?

Also, what do i need to display “Self consumed” data?

Hey! I recently started setting up some Victron devices that are in my Campervan. I have a Cerbo GX Mk.2 with 2 tank level sensors directly connected to the Cerbo. But when I have 1 sensor connected to Homey it won’t find the other one.

When I delete one, it is able to find the other one but then the original connected one is unreachable as well. So you are only allowed to connect 1 tank sensor..?

Hope this can be fixed somehow <3

v1.5.3 test release - what’s new

Several changes are coming in 1.5.3, now available as a test release. Most users won’t need to do anything; existing VRM devices need a one-time repair.

New flow action: Dynamic ESS green/trade mode

Thanks to the user request - there’s now a flow action on the VRM device to toggle Dynamic ESS between Green mode and Trade mode. It uses the official VRM API (/installations/{siteId}/dynamic-ess-settings), reads your current Dynamic ESS configuration, flips isGreenModeOn, and writes the full configuration back. Your other DESS settings (battery costs, schedules, price formulas, etc.) are preserved.

You’ll find it under “Then…” → “Set Dynamic ESS to Green mode / Trade mode” on flows that target your VRM device.

VRM authentication migrated to personal access tokens

Victron is deprecating Bearer token authentication on the VRM API as of June 1, 2026. The app has been updated to use the new personal access token scheme.

What this means in practice:

New VRM devices will automatically create a personal access token at pair time. You’ll see them in your VRM portal under access tokens, named something like “Homey - 2026-05-27 14:30”. You can revoke them from VRM at any time.
Existing VRM devices need to be repaired once to upgrade to the new token. Open the VRM device → three dots → Repair → re-enter your VRM credentials. After June 1, devices that haven’t been repaired will start failing with auth errors and mark themselves unavailable until repaired.
The device shows a warning before the deadline if it’s still on the old token.
Deleting a VRM device from Homey now also revokes its access token in VRM, so nothing lingers in your account.
The pair and repair UI is unchanged — same email/password/MFA prompt as before. The token swap happens automatically behind the scenes.

Charging schedule actions: SSH replaced with MQTT

Only relevant if you use the four scheduled-charging flow cards (Enable charging schedule, Disable charging schedule, Create charging schedule, the scheduled charging condition).

These previously required pasting an SSH private key into the GX device settings, which was clunky and stored a sensitive credential in plain text. They now use the local MQTT broker on the GX device instead. The benefits:

No more private key in device settings.
Significantly smaller install (the SSH stack pulled in a native build).
Same DBus paths under the hood, same behavior.
What you need to do:

Make sure “MQTT on LAN” is enabled on the GX (Settings → Services → MQTT on LAN). It’s enabled by default on current firmware.
If you’ve enabled the GX “Local Security Profile” (which adds username/password protection to the broker), enter those in the new MQTT group in the GX device settings. Most users haven’t enabled this and don’t need to do anything.
The old SSH settings group is gone. Your SSH private key is no longer used and you can clear it from the GX device’s ~/.ssh/authorized_keys if you want.
If you don’t use these actions, no action needed.

(Side note: if you’re on Dynamic ESS, the legacy scheduled charging feature is largely obsolete now - DESS handles charge/discharge planning automatically based on your buy/sell price schedules and forecasts. The flow cards still work for those who want manual control.)

Stability and logging fixes

Fixed a “Not Found: Device with ID …” crash that could happen when a GX device was being deleted while a Modbus poll was still in flight. Event listeners are now properly torn down.
Errors that previously logged as [object Object] now show actual error content (mostly Modbus rejection objects from polling hiccups). Easier to tell what’s actually going wrong.
Removed an unused Sentry telemetry dependency.

Feedback welcome

If you hit anything weird - especially around the VRM repair flow, the new green/trade action, or the MQTT-based schedule actions - drop a note here or in a GitHub issue. Confirmation from anyone with multiple VRM installations, MFA enabled, or the GX MQTT Local Security Profile would be especially appreciated.

The home battery required fields were missing. Added now in test version 1.5.4. Victron says it doesnt work on CAN.Bus BMS batteries though.

Solved in test version 1.5.4, need to use the unitId as they device id

Hi, I wonder what I am missing here,
I am on v1.5.4 (test release) and getting the 401 Unauthorized error. I am using the correct email and password. Note: I do NOT have MFA/2FA enabled on my VRM account. Could the new automated token-exchange logic be failing for accounts without MFA?

Thanks in advance for any help :slight_smile:

Update 12th June: I activated 2FA, but authorization still failing.

When trying to add Cerbo GX (trying both port 100 and 227) I get this error.

Note that my Multi RS communicate with Cerbo GX thru VE.Can, not VE,Bus

Just login with username and password when you do a repair. The great app will create new tokens automatically.

Screenshot from 2026-06-13 10-41-51

How to connect Victron Multi RS to Homey

Recently I have installed a Victron Multi RS Solarsystem (3 phase) , Cerbo GX (version 3.73), Smart BMS (PowerIn and Distributor) and Battery (JK BMS, 3x16kWh).
As VE.Can is used to communicate (and VE.Bus is not used), the Victron App does not work.
I have solved this issue by communicating with ModBus.
This was much more easy to do as I thought is would be.

So simple install the ModBus App (of Ronny Winkler).
Add for every device a ModBus device.

IP address can be found in:
VRM → Remote console .. Settings → Connectivity → Ethernet → IP address

Activate ModBus on Cerbo GX:
VRM → Remote console .. Settings → Integrations → Modbus TCP server → Enable Modbus TCP Server

Determine Unit ID
VRM → Remote console .. Settings → Integrations → Modbus TCP server → Available services

For me
Cerbo GX: com.victronenergy.system → Unit ID: 100
Multi RS: com.victronenergy.mulit-> Unit ID: 100, 1, 2
Battery (BMS): com.victronenergy.battery → Unit ID: 225 (for the battery I use Cerbo GX (100)

Create a card for:
Battery Power: Register 842 (from Cerbo GX, 100)
Battery State of Charge: Register 843 (from Cerbo GX, 100)

PV Power from Multi RS Solar: Register 4540

Set the Set Gridpoint: Write to register 4922 (on Cerbo GX, 100)

Modbus responds quick (even quicker than the Victron Homey App). I read the values every second

The Grid Setpoint I write every 30 seconds.
You need to write this register at least every 60 seconds, otherwise it wil return to the default setting.

The full list for Modbus register can be found

And download the Modbus-TCP register list XLSX

Hope this helps, any additions are very welcome.