-
-
Notifications
You must be signed in to change notification settings - Fork 8k
Initial Victron Venus documentation. #35739
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from 5 commits
2748278
0349389
1fe2278
9b256db
e8683e7
de31e2c
0b6657d
93c642b
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change | ||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| @@ -0,0 +1,134 @@ | ||||||||||||||||
| --- | ||||||||||||||||
| title: "Victron Venus OS Integration" | ||||||||||||||||
| description: "Documentation for the Victron Venus integration" | ||||||||||||||||
| ha_release: "2025.2" | ||||||||||||||||
| ha_category: Energy | ||||||||||||||||
| ha_iot_class: "Local Push" | ||||||||||||||||
| ha_config_flow: true | ||||||||||||||||
| ha_codeowners: | ||||||||||||||||
| - '@JohansLab' | ||||||||||||||||
| ha_domain: victronvenus | ||||||||||||||||
|
|
||||||||||||||||
| --- | ||||||||||||||||
|
|
||||||||||||||||
| The [Victron](https://www.victronenergy.com/) Venus OS integration allows connection to | ||||||||||||||||
| a [Victron Venus OS device](https://www.victronenergy.com/monitoring). | ||||||||||||||||
| that has local MQTT enabled. This add-on will automatically configure the | ||||||||||||||||
| integration through UPnP/Simple Service Discovery Protocol if possible. | ||||||||||||||||
|
|
||||||||||||||||
| ## Installation and Configuration | ||||||||||||||||
|
|
||||||||||||||||
| ### Prerequisites | ||||||||||||||||
|
|
||||||||||||||||
| This integration requires a Venus OS device configured to expose its MQTT interface. | ||||||||||||||||
| To configure it on your device the following steps can be followed: | ||||||||||||||||
|
|
||||||||||||||||
| 1. Open the Venus local web console. It is typically available at | ||||||||||||||||
| [http://venus.local.](http://venus.local./). | ||||||||||||||||
| 2. Navigate to Settings > Services and activate MQTT on LAN. | ||||||||||||||||
|
|
||||||||||||||||
| ### Setup in Home Assistant | ||||||||||||||||
|
|
||||||||||||||||
| If MQTT is enabled the installation should be picked up automatically with | ||||||||||||||||
| UPnP/Simple Service Discovery Protocol. In case the device is not picked up automatically | ||||||||||||||||
| it can be added manually. | ||||||||||||||||
|
|
||||||||||||||||
| To add the integration manually, add the integration using Home Assistant's | ||||||||||||||||
| menu. It will prompt for the following information: | ||||||||||||||||
|
|
||||||||||||||||
| 1. Host name - Default venus.local. You can also enter an IP address | ||||||||||||||||
| 2. Port - the default MQTT port is 1883. | ||||||||||||||||
| 3. User name - this is optional and the default is empty. | ||||||||||||||||
| 4. Password - this is optional and the default is empty. | ||||||||||||||||
| 5. Use SSL - indicates whether the connection should be made via SSL. | ||||||||||||||||
|
|
||||||||||||||||
| Not that the Venus settings on the device does not allow you to configure | ||||||||||||||||
| a username and password via the Venus web console. | ||||||||||||||||
|
Comment on lines
+45
to
+46
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Fix typo in configuration note. -Not that the Venus settings on the device does not allow you to configure
+Note that the Venus settings on the device do not allow you to configure📝 Committable suggestion
Suggested change
|
||||||||||||||||
|
|
||||||||||||||||
| +{% warning %} | ||||||||||||||||
| +Using default empty credentials is not recommended if your device is accessible from the internet. | ||||||||||||||||
| +Consider implementing network isolation or firewall rules to restrict access to your local network. | ||||||||||||||||
| +{% endwarning %} | ||||||||||||||||
|
|
||||||||||||||||
| The connection typically fail for the following reasons: | ||||||||||||||||
|
|
||||||||||||||||
|
Comment on lines
+53
to
+54
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Fix grammar in error description. -The connection typically fail for the following reasons:
+The connection typically fails for the following reasons:📝 Committable suggestion
Suggested change
🧰 Tools🪛 LanguageTool[grammar] ~53-~53: Possible subject-verb agreement error. (SINGULAR_NOUN_ADV_AGREEMENT) |
||||||||||||||||
| 1. Device is not configured for MQTT, please see [Prerequisites] | ||||||||||||||||
| 2. The network connection to the device is unstable (e.g. due to weak WiFi signal | ||||||||||||||||
| or similar). This can cause name look-up failures. For unstable connections using | ||||||||||||||||
| the IP address of the device can alleviate the problem. | ||||||||||||||||
|
|
||||||||||||||||
|
|
||||||||||||||||
| ## Removing the integration | ||||||||||||||||
|
|
||||||||||||||||
| This integration follows standard integration removal. No extra steps are required. | ||||||||||||||||
|
|
||||||||||||||||
| {% include integrations/remove_device_service.md %} | ||||||||||||||||
|
|
||||||||||||||||
| ## Integration Functionality | ||||||||||||||||
|
|
||||||||||||||||
| The integration currently only provides sensors. | ||||||||||||||||
|
|
||||||||||||||||
| ### List of exposes sensors | ||||||||||||||||
|
|
||||||||||||||||
| #### Grid Sensors | ||||||||||||||||
|
|
||||||||||||||||
| - The number of grid phases e.g. 1 for single-phase, or 3 for three-phase. | ||||||||||||||||
| If there is a grid failure then the number of phases will be 0. This can be used | ||||||||||||||||
| detect grid failure. | ||||||||||||||||
|
Comment on lines
+75
to
+77
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Fix grammar in grid sensors description. -The number of grid phases e.g. 1 for single-phase, or 3 for three-phase.
-If there is a grid failure then the number of phases will be 0. This can be used
-detect grid failure.
+The number of grid phases (e.g., 1 for single-phase, or 3 for three-phase).
+If there is a grid failure, then the number of phases will be 0. This can be used
+to detect grid failure.📝 Committable suggestion
Suggested change
🧰 Tools🪛 LanguageTool[uncategorized] ~75-~75: Possible missing comma found. (AI_HYDRA_LEO_MISSING_COMMA) [uncategorized] ~76-~76: Possible missing comma found. (AI_HYDRA_LEO_MISSING_COMMA) [uncategorized] ~76-~76: Possible missing preposition found. (AI_HYDRA_LEO_MISSING_TO) |
||||||||||||||||
| - The AC voltage, current and power for each of the available grid phases. | ||||||||||||||||
| - The combined voltage, current and power for the combined grid input. | ||||||||||||||||
| - The lifetime running total of all energy consumed from the grid, or fed back | ||||||||||||||||
| to the grid. These figures generally only makes sense as delta values. | ||||||||||||||||
|
|
||||||||||||||||
| #### Solar Panels | ||||||||||||||||
|
|
||||||||||||||||
| - The DC voltage, current and power of the solar panels. | ||||||||||||||||
| - The lifetime running total yield of the solar panels. These figures generally | ||||||||||||||||
| only makes sense as delta values. | ||||||||||||||||
| - The maximum power produced by the solar panels for the current day. | ||||||||||||||||
|
|
||||||||||||||||
| #### Batteries | ||||||||||||||||
|
|
||||||||||||||||
| - The DC voltage, current and power of the batteries. | ||||||||||||||||
| - The temperature of the battery. | ||||||||||||||||
| - The lifetime running total of energy charged and discharged from the battery. | ||||||||||||||||
| These figures generally only makes sense as delta values. | ||||||||||||||||
| - The current capacity and installed capacity of the batteries in Ampere-Hours (Ah). | ||||||||||||||||
| - The state of charge of the batteries. | ||||||||||||||||
|
|
||||||||||||||||
| #### Consumption | ||||||||||||||||
|
|
||||||||||||||||
| - The AC Load in watts on the inverter input. | ||||||||||||||||
| - The Critical Loads in watts on the inverter output. | ||||||||||||||||
|
|
||||||||||||||||
| ## Limitations | ||||||||||||||||
|
|
||||||||||||||||
| The integration currently has the following limitations: | ||||||||||||||||
|
|
||||||||||||||||
| - The integration was built and tested against an installation consisting of a | ||||||||||||||||
| single-phase grid-tied Multiplus Inverter, with a single MPPT Solar Charger and | ||||||||||||||||
| a battery that contains its own BMS. Your installation might have a different | ||||||||||||||||
| configuration. | ||||||||||||||||
| - The integration does not currently support generators and other configuration | ||||||||||||||||
| options. | ||||||||||||||||
| - The integration currently only exposes sensors, it does not yet allow changing | ||||||||||||||||
| Venus OS settings from Home Assistant. | ||||||||||||||||
| - This integration was not tested with MQTT with SSL. | ||||||||||||||||
|
|
||||||||||||||||
|
|
||||||||||||||||
| ## Advanced Troubleshooting Options | ||||||||||||||||
|
|
||||||||||||||||
| ### Verify that the Venus device is visible on your network: | ||||||||||||||||
|
|
||||||||||||||||
| ```bash | ||||||||||||||||
| ping venus.local. | ||||||||||||||||
| ``` | ||||||||||||||||
|
Comment on lines
+121
to
+125
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Refine Advanced Troubleshooting Heading and Ping Command
-### Verify that the Venus device is visible on your network:
+### Verify that the Venus device is visible on your network-ping venus.local.
+ping venus.local📝 Committable suggestion
Suggested change
🧰 Tools🪛 markdownlint-cli2 (0.17.2)121-121: Trailing punctuation in heading (MD026, no-trailing-punctuation) |
||||||||||||||||
|
|
||||||||||||||||
| #### Verify that MQTT is working and available | ||||||||||||||||
|
|
||||||||||||||||
| 1. Download an application like [MQTT Explorer](http://mqtt-explorer.com/) and | ||||||||||||||||
| connect to your venus device. | ||||||||||||||||
| 2. Find your serial number under the topic hierarchy e.g. "N/<serial>/system/0/Serial" | ||||||||||||||||
| 3. Publish the number "1" to the topic "R/<serial>/keepalive" | ||||||||||||||||
| 4. You should see various parameters of your system reflected under the "N/<serial>" | ||||||||||||||||
| hierarchy. | ||||||||||||||||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🛠️ Refactor suggestion
Add security warning about default empty credentials
Please add a security warning about using default empty credentials, especially when the device is exposed to the internet. Consider adding:
📝 Committable suggestion
🧰 Tools
🪛 LanguageTool
[style] ~41-~41: It’s more common nowadays to write this noun as one word.
Context: ...ort - the default MQTT port is 1883. 3. User name - this is optional and the default is e...
(RECOMMENDED_COMPOUNDS)
[uncategorized] ~41-~41: Use a comma before “and” if it connects two independent clauses (unless they are closely connected and short).
Context: ...is 1883. 3. User name - this is optional and the default is empty. 4. Password - th...
(COMMA_COMPOUND_SENTENCE_2)
[uncategorized] ~42-~42: Use a comma before “and” if it connects two independent clauses (unless they are closely connected and short).
Context: ...s empty. 4. Password - this is optional and the default is empty. 5. Use SSL - indi...
(COMMA_COMPOUND_SENTENCE_2)
🪛 Markdownlint (0.37.0)
41-41: Expected: 0 or 2; Actual: 1
Trailing spaces
(MD009, no-trailing-spaces)