victron-vrm
victron-vrm
Victron Energy VRM API -- monitor and control solar installations, batteries, inverters, and energy systems via the Victron Remote Management portal
Source: Victron Energy VRM REST API v2
Coverage
82% (41 of ~50 endpoints)
Focus: auth, users, installations, stats, widgets, diagnostics, alarms, data export, GPS, tags, dynamic ESS, firmware, data attributes
Missing: admin endpoints, access token CRUD, installation settings write, alarm acknowledgement
Setup
- Log in to the VRM Portal at https://vrm.victronenergy.com
- Navigate to Preferences → Integrations → Access tokens
- Click 'New token', give it a descriptive name
- Copy the generated token immediately -- it is shown only once
- Store the token prefixed with 'Token ' (e.g. 'Token abc123def456') in the credential store
Environment variable: CREDENTIAL_VICTRON_VRM_TOKEN
Personal Access Tokens bypass the login flow entirely. Use /users/me to get your idUser, then /users/{idUser}/installations to discover your sites. The token has full access to all installations the VRM user can see.
Install
Add to your backends.yaml:
- name: victron-vrm
transport: rest
dadl: /app/dadl/victron-vrm.dadl
Set the credential:
CREDENTIAL_VICTRON_VRM_TOKEN=your-token-here Tools (44)
POST login Authenticate with username/password and receive a bearer token. Prefer Personal Access Tokens for automation. GET login_as_demo Log in as the demo user to explore the API without credentials GET logout Invalidate the current session token GET get_current_user Get the current authenticated user's profile and idUser. Essential first call when using Personal Access Tokens. GET list_installations List all installations accessible to a user. Returns idSite, name, and system overview for each. GET get_installation Get high-level system overview for a specific installation including current power flow GET search_installations Search through the user's installations by name, notes, or address GET get_installation_tags Get tags/labels assigned to an installation GET get_stats Get time-series statistics for an installation. Types: venus, live_feed, consumption, kwh, solar_yield, forecast. GET get_overall_stats Get aggregated lifetime totals for an installation (total kWh generated, consumed, etc.) GET download_data Download historical data as CSV or Excel for an installation GET download_gps_data Download GPS tracking data for a mobile installation (e.g. boat, RV) GET get_alarms Get active and historical alarms for an installation. Also returns device list and user notification settings. GET get_diagnostics Get the most recent diagnostic data points for all devices at an installation GET get_widget Get widget data for a specific device category. See hints for available widget types. GET get_widget_graph Get graph widget data with time-series values for specific device instances and attributes GET get_widget_battery Get battery summary: voltage, current, state of charge (SoC), temperature, and health GET get_widget_solar_charger Get MPPT solar charger data: PV voltage, current, yield, and charger state GET get_widget_vebus_state Get VE.Bus system state: inverter/charger mode, input voltage, output power GET get_widget_inverter_charger_state Get inverter/charger operational mode and status GET get_widget_status Get general system status overview for the installation GET get_widget_pv_inverter Get PV inverter AC output: power, voltage, current per phase GET get_widget_ev_charger Get EV charger status: charging power, session energy, and state GET get_widget_tank Get tank level and capacity for fuel, water, or waste tanks GET get_widget_temperature Get temperature sensor readings and graphical data GET get_widget_dc_meter Get DC power meter readings (voltage, current, power) GET get_widget_motor Get motor drive summary: RPM, power, and temperature GET get_widget_gps Get current GPS position for mobile installations (boats, RVs) GET get_widget_global_link Get GlobalLink 520 device summary and connectivity status GET get_widget_vebus_warnings Get VE.Bus system warnings and alarm conditions GET get_widget_inverter_warnings Get inverter/charger warning and alarm conditions GET get_widget_bms_diagnostics Get BMS cell voltages, balancing data, and battery management diagnostics GET get_widget_lithium_bms Get lithium battery BMS details: cell voltages, temperatures, and balancing GET get_widget_historic_data Get historic data trend analysis for device performance over time GET get_widget_io_extender Get IO extender digital and analog input/output signals GET get_widget_charger_relay Get charger relay switching status GET get_widget_solar_charger_relay Get solar charger relay state GET get_widget_gateway_relay Get primary gateway (GX device) relay state GET get_widget_gateway_relay_two Get secondary gateway (GX device) relay state GET get_widget_custom Get custom widget configuration and data GET get_dynamic_ess Get Dynamic ESS (Energy Storage System) settings and schedule for optimized battery usage GET get_data_attributes Get all available data attribute definitions (codes, labels, units) used across the VRM API GET get_firmwares List available firmware versions for Victron devices GET reset_forecasts Get forecast reset timestamps for recalculation scheduling