Sorry, your browser does not support JavaScript!

A smart Thermostat “Helper” with Linear Power Adjustment, “Wi-Fi Voltage Controller”

Open Source Project: Creating a Smart Thermostat “Helper” with Linear Power Adjustment, “Wi-Fi Voltage Controller”

Abstract: Create a device that can control linear power output, adjusting the power output in real-time based on the live grid power from the photovoltaic system, aiming to minimize the amount of power that the photovoltaic system exports to the grid.


IAMMETER has been committed to helping customers optimize the efficiency of their photovoltaic systems. With the increasing gap between feed-in electricity prices and electricity costs, there is a desire to minimize grid electricity consumption and maximize the self-consumption rate of photovoltaic systems.

There are generally two approaches to increasing the self-consumption rate:

  1. Introducing a battery storage system. (IAMMETER offers a feature that helps customers assess whether it is cost-effective to introduce a battery storage system Report: Predicting Benefits of Battery Storage Based on Actual Usage)
  2. Rationally controlling the load, ideally adjusting in real-time based on grid power.

This article mainly addresses the second approach, creating a device capable of controlling power output linearly, equipped with the following features:

  1. Provides Wi-Fi functionality (using ESP32) to control power output via Wi-Fi.
  2. Controls the maximum power output linearly through voltage regulation mode (since it controls voltage, it is recommended for purely resistive loads, such as a boiler's heating element).
  3. Supports a maximum single-phase 3.5kW resistive load, which can be used in series with a thermostat.
  4. Supports manual mode, allowing manual setting of maximum output power. Supports automatic mode, which adjusts the maximum output power setting in real-time based on other meters or system grid power data.

System Diagram

Diagram displaying the layout and connections of the power value control system

Voltage Regulation Module (Supports up to 3.5kW resistive load)

We have adopted a standard voltage regulation module that can support up to a 3.5kW resistive load in a single-phase 220V system.

This module also provides standard analog signal input (4-20mA, 1-5V) and an RS485 digital control interface.

We have integrated the Wi-Fi module (ESP32) inside the voltage regulator module.

Images showing the internal and external views of the voltage regulator with Wi-Fi module

After adding the Wi-Fi module, the entire voltage regulation module appears as follows (the Wi-Fi module has already been installed inside a plastic casing).

Voltage regulator


To make the solution more open, we initially tested it using ESP Home firmware.

After simple configuration, you can directly control the maximum output power in Home Assistant, with power adjustment steps of 10W.

Later, we will post the relevant ESP Home configuration files on Github.

control the power value output in linear

Integration with IAMMETER Products

One main purpose of creating this “Wi-Fi Voltage Controller” is to provide a load that can linearly control power output for the IAMMETER system.

Later, this “Wi-Fi Voltage Controller” can be integrated with all IAMMETER smart meters (WEM3080, WEM3080T,WEM3046T,WEM3050T) via the unified IAMMETER API interface, reading real-time grid power data (1s/s) via modbus/tcp interface, and adjusting the maximum power output provided to the heater in real-time to maximize the use of the photovoltaic system's feed-in power.

Of course, this “Wi-Fi Voltage Controller” is not limited to use with IAMMETER products only; theoretically, it can be used in conjunction with any hardware that can be integrated into Home Assistant.

Request for Test Samples

If you have a controllable device at home, such as a boiler that uses a resistive heater, and you are interested in this device, you can contact us to apply for a sample test.

We will charge a fee of $100 USD, which includes shipping and product costs.


ESP32 + SCR module: Linearly adjust the power output of resistive loads, such as heaters in home assistant

Activities - Apply for the Linear Power Controller (SCR-485)

IAMMETER`s products