Switches not visible in VRM dashboard — but GUI offers "Only on VRM" option?

Hi all,

I’m developing a custom Venus OS driver that creates com.victronenergy.switch services via dbus (similar to how dbus-shelly works for switches without energy metering). Everything works perfectly on the local GUI v2 switch pane — toggle, dimmable, RGB lights, CCT, and RGBW types all show up and work bidirectionally.

However, I noticed that none of these switch devices appear anywhere in the VRM portal dashboard — no widget, no historical data, nothing. The only way to interact with them remotely is through VRM Remote Console (which just mirrors the local GUI).

What puzzles me is this: the Venus OS GUI itself offers a visibility setting for each switch with four options (see screenshot):

  • Off

  • Always

  • Only local

  • Only on VRM

If com.victronenergy.switch is not supported by VRM, why does the GUI offer “Only on VRM” as an option? This seems like either:

  1. VRM switch support is planned/in progress but not yet implemented

  2. It works for official devices (Shelly, GX relays) but not for third-party drivers

  3. The GUI option is there but VRM simply ignores the data

Questions:

  • Is there any plan to add switch/light device support to the VRM dashboard?

  • Does vrmlogger intentionally exclude com.victronenergy.switch, or is it an oversight?

  • Is there a specific ProductId or dbus path that would make switches visible in VRM?

  • Do official Shelly switches (without energy metering) appear in VRM?

For context: Venus OS v3.72 on Cerbo GX. Driver based on mr-manuel’s dbus-mqtt pattern.

Thanks for any insight.

You know that you can do virtual switches with nodered?
These appear in both the UI and VRM.

I can’t seem to find the VRM switch pane, but they are on the remote console.

Only present in real-time mode, to the left of the ESS controls button.

Thanks Nick, that’s really useful — but I can’t find my custom switches there, see attached screenshots. The VRM Controls panel only shows the GX internal relays, not my custom com.victronenergy.switch devices (which do appear correctly in the local GUI switch pane).

Interestingly, the devices do show up in the VRM Device List (as “Expansion IO”), so VRM is aware of them — it’s just not exposing them in the Controls panel or any dashboard widget.

Quick follow-up: do third-party com.victronenergy.switch services (created via dbus from a custom driver) also appear in that real-time switch pane? Or is it limited to officially supported hardware (GX relays, Shelly, etc.)?

I’ll test more later and report back — might be useful info for others building custom drivers.

Regarding Node-RED virtual switches: good to know they appear in VRM. My use case involves bidirectional MQTT sync with ESP32 devices (dimmable lights, RGB, CCT, RGBW), so I need the full LightControls dbus path support that com.victronenergy.switch provides. Node-RED could be a bridge, but I’d rather avoid adding it to the stack — the direct driver approach is simpler. I prefer not tu run Node red on my old Cerbo GX MK1 (also running signal k already with some speed issues if I mess too mucho)

Driver is open source if anyone’s interested: https://github.com/alnavasa/venus-os_dbus-mqtt-switch

Yea I don’t have that. First time I’ve really looked tho, maybe a dbus serialbattery issue?

If you create the switch device in nodered it will create all the relevant paths that you can still control externally.
Once created a new switch panel will appear in VRM, the switches do not appear in the inverter control panel, that is relays only.

Thanks for clarifying — good to know the switch panel is separate from the inverter controls.

The interesting part is that my driver already creates com.victronenergy.switch services with the same dbus paths that Node-RED would use. So either:

  1. VRM shows the switch panel for any com.victronenergy.switch service regardless of origin (Node-RED, custom driver, etc.) — in which case mine should appear but doesn’t, or

  2. Node-RED registers the switch differently (different ProductId, extra path, specific flag) that triggers VRM to show the panel

Do you know if it’s path/structure specific, or does VRM key off something like the ProductId? I’ll dig into what paths Node-RED’s virtual switch creates versus mine and compare.

Is there any button to “make switchs tab visible” or something like that, can’t seem to make them show in VRM

Not that I am aware of.

1 Like

Update: I just created a Node-RED Virtual Switch node (Toggle type, deployed successfully — showing “Toggle switch (100)” status in NR) and it still doesn’t appear in the VRM switch panel either. It shows on Venus OS. So the issue isn’t specific to my custom driver.

I compared the dbus paths between the Node-RED virtual switch and my driver — they’re nearly identical (same ProductId 0xC069, same ShowUIControl=1, same path structure). The only notable differences: Node-RED uses SwitchableOutput/output_1/ while mine uses SwitchableOutput/0/, and Mgmt/ProcessName is dbus-victron-virtual vs my script path.

Could the VRM switch panel require a specific Venus OS version, or perhaps a VRM account setting / installation flag to enable it? My Cerbo is on Venus OS 3.72. Is there something that needs to be enabled on the VRM side to make the panel appear?

My bad, it is not functionality pushed on production VRM yet. My panel is also missing on prod.

1 Like

Okey! thanks! good to know.

Do you need testers?

Any estimated date?

I have asked. Usually doesn’t take too long to be pushed.

1 Like

The VRM beta version does show virtual switches.

1 Like

It does indeed