Sorry, your browser does not support JavaScript!

Integrating IAMMETER Energy Meters with Victron Venus OS

Integrating IAMMETER Energy Meters with Victron Venus OS

Victron Energy's Venus OS is the central operating system for energy monitoring and management in Victron systems. It runs on GX devices like the Cerbo GX and can also be installed on a Raspberry Pi via its open-source version. Venus OS connects inverters, batteries, charge controllers, and other components into one smart system. It enables real-time monitoring, automated energy control, and remote access via the Victron Remote Management (VRM) portal. With support for MQTT and Modbus-TCP, it easily integrates with third-party platforms like Home Assistant, making it ideal for advanced solar and off-grid setups.

About the Contributor

The integration of IAMMETER with Victron Energy's Venus OS was developed by MiWyf.

Special thanks to MiWyf for contributing the code.

The following content is mainly sourced from the README of the integration project (https://github.com/lewei50/dbus-iammeter).

dbus-iammeter

Project page: https://github.com/lewei50/dbus-iammeter

Integrate IAMMETER WEM3080/WEM3080T/WEM3050T/WEM3046T smart meters into Victron Energy's Venus OS.

Purpose

The scripts in this repo provide an easy way to install, uninstall, and manage a service that connects IAMMETER smart meters (WEM3080/WEM3080T/WEM3050T/WEM3046T) to Venus OS and GX devices from Victron. The idea is based on the work of @fabian-lauer & @vikt0rm.

Inspiration

This is my first project on GitHub and with the Victron Venus OS. I drew inspiration from these great projects:

How it Works

My Setup

  • IAMMETER WEM3080/WEM3080T/WEM3050T/WEM3046T
    • 1-Phase/3-Phase installation
    • Connected to Wi-Fi network "A"
    • IP: 192.168.1.6
  • Venus OS on Raspberry Pi 4 (4GB, version 1.1, Firmware v2.84)
    • No other Victron devices connected
    • Connected to Wi-Fi network "A"
    • IP: 192.168.1.10

Details / Process

As mentioned above, the script is inspired by @RalfZim's Fronius smart meter implementation. Here's what the script does:

  • Runs as a service
  • Connects to DBus on Venus OS at com.victronenergy.grid.http_40 or com.victronenergy.pvinverter.http_40
  • Uses REST-API to call /status on the IAMMETER device and retrieves JSON data
  • Serial/MAC is extracted from the response and used as the device serial
  • DBus paths are initialized with default values (0) and some settings like name
  • A loop starts, polling data from the IAMMETER every 3000ms and updating the DBus accordingly
image-20250321144319164 image-20250321144340491 image-20250321144509359

Installation & Configuration

Get the Code

Download the main branch and copy it to /data/dbus-iammeter. Then run the install.sh script:

wget https://github.com/lewei50/dbus-iammeter/archive/refs/heads/main.zip
unzip main.zip "dbus-iammeter-main/*" -d /data
mv /data/dbus-iammeter-main /data/dbus-iammeter
chmod a+x /data/dbus-iammeter/install.sh
/data/dbus-iammeter/install.sh
rm main.zip

⚠️ After installation, check the configuration. The service starts immediately, and incorrect connection data (host, username, password) will flood the log file.

Edit config.ini

The config file is located at /data/dbus-iammeter/config.ini. Modify the values as needed, especially host, username, and password in the "ONPREMISE" section.

Section Config Value Explanation
DEFAULT AccessType Fixed value: 'OnPremise'
DEFAULT SignOfLifeLog Interval (minutes) for logging service status with log level INFO
DEFAULT CustomName Device name (useful for multiple script instances)
DEFAULT DeviceInstance Device instance number, e.g., 40
DEFAULT Role 'grid' or 'pvinverter' to define IAMMETER's role
DEFAULT Position 0 = AC input 1; 1 = AC output; 2 = AC input 2
DEFAULT LogLevel Logging level (see: https://docs.python.org/3/library/logging.html#levels)
ONPREMISE Host IP or hostname of IAMMETER's local web interface
ONPREMISE Username Username for HTTP access (leave blank if not required)
ONPREMISE Password Password for HTTP access (leave blank if not required)
ONPREMISE L1Position IAMMETER input phase used for L1 (see remapping section)

Remapping L1

In a 3-phase grid with a single Multi, Venus OS expects L1 to supply the Multi. This is not always the case. For example, if your Multi is supplied by L3 (Input C on the IAMMETER), the GX device will show AC Loads on both L1 and L3.

By setting L1Position, you can remap phases to ensure the GX shows correct data:

  • If your Multi is connected to Input A, no changes are needed
  • L1Position = 2 swaps B and A
  • L1Position = 3 swaps C and A

Documentation References

About IAMMETER

IAMMETER is a company focused on energy management products and services, offering smart energy meters, management apps, and cloud platforms.

Our goal is to help customers manage, utilize, and save energy effectively, reducing electricity bills through smart monitoring and analysis.

Solutions

Products

System

Top