Homey Community Forum

[APP] Victron Energy

Blue Power


App Store Page



Monitor and control your Victron system equipped with a GX device.
ESS Mode 2 is what is currently supported.
The app relies on the Modbus TCP API of the GX Devices.

I have a Cerbo GX with firmware v2.63 and this is what the app is tested with.

Need to know before adding a GX Device to your Homey

  • You need to know the IP number and port of your GX Device. Port is 502 by default.
  • Your Homey needs to be able to connect to your GX Device via the network
  • You need to enable Modbus TCP in your GX Device

By default, Modbus-TCP is disabled. To enable it, go into the settings menu, scroll down to ‘Services’, and then enable the Modbus-TCP service.

  • The information is read and written via Modbus using two UnitId’s;
    100 which is for com.victronenergy.system, and to my understanding this is the same across all GX Devices. But for com.victronenergy.vebus, which the app also relies on, the UnitId differs depending on your setup. I have made a guess and listed three UnitId’s I think are relevant that you can choose. Do let me know if your system use a UnitId for com.victronenergy.vebus that is not listed as an option.

To see a list of available devices, and their Address, go to Settings → Services → Modbus/TCP → Available services

Navigate the list of Available services and find com.victronenergy.vebus and note the UnitId - you need to select this when adding a GX device to your Homey.

As of version 0.9.5 of the app the UnitId for com.victronenergy.vebus is validated when you add a new GX device. It is no longer possible to add a device with an invalid UnitId.

Victron GX device type


  • Consumption
    Sum of all phases. Calculated by the formula: solar - battery + grid

  • Grid
    Sum of all phases. A negative value means export, positive import.
    You need to have a meter added to your system. I use this project to simulate an EM24 meter using my SMA Home Manager 2.0.

  • Battery
    A negative value means discharge, positive charge

  • Solar
    Sum of all phases. You need to have either Victron PV equipment part of your system or a 3rd party PV inverter that Victron supports. I have added my SMA Tripower.

  • VE Bus status
    10+ different statuses possible, for instance Bulk

  • Alarm
    The capability shows statuses; Ok, Warning or Alarm. This is calculated by checking the following alarms and warnings; Temperature, Low battery, Overload, Temperature sensor, Voltage sensor, Phase rotation, Grid lost and for each phase; Temperature, Low battery, Overload, and Ripple.

  • Battery status
    Idle, Charging or Discharging

  • Battery SoC
    State of Charge in %

  • Battery voltage

  • Battery current
    A negative value means discharge, positive charge

  • Switch position
    Charger Only, Inverter Only, On or Off


  • Switch position changed
  • Battery status changed
  • VE Bus status changed
  • Alarm status changed
  • SoC changed
  • Battery voltage changed


  • Switch position is
  • Battery status is
  • VE Bus status is
  • Battery SoC is
  • Consumption power is
  • Grid power is
  • Battery power is
  • Solar power is
  • Excess solar power is
    PV power - consumption power
  • Grid setpoint is
  • Max charge current is
  • Max discharge power is
  • Max grid feed-in power is
  • Min SoC is


  • Set switch position
    Allows you to turn off or on the system, or charger vs inverter only.

    Modbus info
    UnitId: com.victronenergy.vebus
    Address: 33

  • Update grid setpoint (W)
    A positive value means import from the grid, a negative value export to the grid. Default is 30W.

    Modbus info
    UnitId: com.victronenergy.system
    Address: 2700

  • Limit inverter power (W)
    Maximum power in Watt that the Multi will feed to the loads.
    (docs says -1 sets it back to unlimited, I don’t get this to work.)

    Modbus info
    UnitId: com.victronenergy.system
    Address: 2704

  • Limit charger current (A)
    Only works when DVCC is turned on.

    • -1: No limit.
      Solar Chargers and the Multi will charge to their full capacity or individual configured limits.
    • Any positive number: Maximum combined current in Ampere for battery charging. This limits the solar chargers and the multi, and takes loads into account. Solar chargers take priority over the Multi.

    Modbus info
    UnitId: com.victronenergy.system
    Address: 2705

  • Limit grid feed-in power
    Maximum power in Watt to feed into the grid.
    (docs says -1 sets it back to unlimited, I don’t get this to work.)

    Modbus info
    UnitId: com.victronenergy.system
    Address: 2706

  • Update minimum SoC (%)
    Minimum state of charge in %, unless grid fails.

    Modbus info
    UnitId: com.victronenergy.system
    Address: 2901


Use this app at your own risk.
Please note that an ESS is pretty complex stuff and it is easy to get lost and forget you had a flow that did this or that. You need to pay attention to the actions you use and if your system for instance is configured to charge using max 40 amps, then you shouldn’t set that to 200 amps and hope for the best.

As usual, any feedback is welcome :smile:


Screenshot from the app

1 Like

That´s what i was waiting for :+1: :+1: :+1:


Excellent app for Homey.

Any chance that you can add “Time since last full charge” to trigger or condition? This way I would be able to force a full charge every XX hours from the grid - I combine that with Tibber integration in homey so that I only charge up the batterybank when its Very Cheap price on the grid.