SolaX Power - Single phase string inverter X1~
This feature is not included in precompiled binaries
When compiling your build add the following to
#ifndef USE_SOLAX_X1 #define USE_SOLAX_X1 #endif
There are additional
#define compiler directive parameters which can be used, if they are necessary for your setup.
Set an other serial speed than the default value of 9600:
#undef SOLAXX1_SPEED #define SOLAXX1_SPEED 9600
#ifndef SOLAXX1_PV2 #define SOLAXX1_PV2 #endif
ReadConfigcommand to save about 3k1 bytes of code. To do this, simply remove the compiler directive:
#ifndef USE_ENERGY_SENSOR #define USE_ENERGY_SENSOR #endif
This module reads runtime values from a Solax X1 device via RS485 Modbus interface and publishes them to MQTT.
The communication of this module is based on the description of the communication protocol version 1.7.
To connect the inverter to the Tasmota-device, you have to use a breakout board to adapt the RS485 interface of the inverter to serial interface of the ESP.
There are many RS485-to-TTL modules, aka breakout boards, available. They may work or not. You should have attention on the operation voltage. The ESP-devices work with 3 volts. Because of that be careful experimenting with 5 volts. In the best case nothing works. In the worst case it will destroy your ESP or breakout board. Here are two examples of tested breakout boards. Recommended is a board with a SP3485 chip, because it is designed for operating at 3 volts.
ESP ⬌ breakout board~
The RX-, TX- and RTS- (if needed) lines have to be connected to the ESP matching the module configuration.
Breakout board ⬌ inverter~
The RS485 interface is a 2-wire-connection. The wires are called
B-. The big advantage of the interface is, beside of needing only two wires, that it can reach a length up to 1200 meters. The inverter has a RJ45-jack, where the interface is accessible. Please consult the manual of your inverter where it is located.
Tip: You can use an ethernet cable and cut off one connector. The RS485 interface uses the blue wire pair.
|Breakout board||RJ45 inverter||Wire color (T568B)|
|A (+)||Pin 4||blue|
|B (-)||Pin 5||blue-white|
|G / Ground||Pin 7||brown-white|
In many cases two wires are enough to keep it working without errors. When your environment has electrical interferences or your cable is quiet long, you should use a third wire to establish a common signal reference. This wire has to be connected to the
You have to configure the module or the template. Select
SolaxX1 Tx and
SolaxX1 Rx for the RS485 communication. If you have a breakout board which needs the RTS line, you must also select
When every thing works you will see the current data on the main page. They are also provided via MQTT.
To send a MQTT telemetry message immediately on every change of power, you can set a
PowerDelta 101 for every change of at least 1 W.
There are two special console commands for the X1 converter:
EnergyConfig ReadIDinfo reads and displays ID-data from the inverter
EnergyConfig ReadConfig reads and displays the configuration from the inverter
The inverter status field represents the value reported by the inverter, when the inverter is sending data. In the case when no data is received, it will be display
off. As the converter is only working, when the sun is shining, you will see
off normally at night or too low light.
When the inverter is working and
off is displayed, so you have to check your hard- and software setup.