Hi to all!
i’m using since two years ago pip inverter syssi integration
Hardware is esp01s + 3,3 ttl / rs232 interface all is working very nice
yaml loaded in esphome is this:
esphome:
name: voltronic-a
friendly_name: Voltronic A
esp8266:
board: esp01_1m
logger:
api:
encryption:
key: “P4kFvrMK3JQK5Q6RUqnHux3Bt5UynFD02mWq2+JIEgQ=”
ota:
- platform: esphome
password: “f469303af66280ecfba5bbd0d79acc41”
wifi:
ssid: centro casa
password: bebobestione
output_power: 10
manual_ip:
static_ip: 192.168.2.204
gateway: 192.168.2.1
subnet: 255.255.255.0
uart:
-
id: uart_0
tx_pin: GPIO1
rx_pin: GPIO3
baud_rate: 2400
rx_buffer_size: 1024
parity: none
pipsolar: -
uart_id: uart_0
id: inverter0
update_interval: 1.5s
text_sensor: -
platform: pipsolar
pipsolar_id: inverter0last_qpigs:
id: inverter0_last_qpigs
name: inverter0_last_qpigs
sensor: -
platform: pipsolar
pipsolar_id: inverter0ac_output_voltage:
id: inverter0_ac_output_voltage
name: Inv.A Tensione uscitaac_output_active_power:
id: inverter0_pv_ac_output_active_power
name: Inv.A Potenza attiva uscitaoutput_load_percent:
id: inverter0_pv_output_load_percent
name: Inv.A Potenza % uscitabattery_capacity_percent:
id: inverter0_battery_capacity_percent
name: Inv.A Capacita % batteriabattery_voltage:
id: inverter0_battery_voltage
name: Inv.A Tensione batteriabattery_charging_current:
id: inverter0_battery_charging_current
name: Inv.A Corrente carica batteriabattery_discharge_current:
id: inverter0_battery_discharge_current
name: Inv.A Corrente scarica batteriapv_input_voltage:
id: inverter0_pv1_voltage
name: Inv.A Tensione pannelli PV1pv_charging_power:
id: inverter0_pv1_power
name: Inv.A Potenza pannelli PV1
grid_voltage:
id: inverter0_grid_voltage
name: Inv.A Tensione entrata rete
Inverters are voltronic axpert max 7200W original
1 mount ago , a my dear friend had a present for me: a 11KW inverter same as voltronic , same case cpu display etc, but i’m sure it is a clone…
in fact internal wifi interface is missed and i have an external RS232/WIFI dongle working on a non official cloud.
First i loaded original voltronic firmware .
RS 232 interface works and correctly respond to watch power windows application , now i can read all parameters, modify and so on , exacly the same of the original inverter
It also reports to QPIGS command from axpert tools…
this is qpigs response from original 7k2 from axpert tools:
[2025-10-28 17:51:34] Send: QPIGS
[2025-10-28 17:51:35] [1704ms] Return: (000.0 00.0 229.9 49.9 1194 1190 016 387 53.00 000 089 0034 00.0 000.0 00.00 00024 00010000 00 00 00000 010È
this is qpigs reports from 11k clone from axpert tools:
[2025-10-28 17:45:36] Send: QPIGS
[2025-10-28 17:45:38] [1766ms] Return: (229.6 50.0 000.0 00.0 00000 00000 000 000 00.00 000 000 0030 00.0 000.0 00.00 00000 00000000 00 00 00000 000 0 00 0000
**(this last one only powered with grid no battery no load … seems correct only last part of string is different …longer) **
PROBLEM IS THAT ESP01 on ESPHome DOES NOT WORK in HOME ASSISTANT : it returns UNKNOWN in the entities values ( not NOT AVAILABLE…)… and the log reports “timeout to poll” after QPIGS command from ESP01
esp01 interface is the same interface that runs correctly with other 7k2 inverters.
Also yaml file is similar
THIS IN LOG : (FROM ESP HOME LOG)
resetting boot loop counter [13:11:06.517][D][sensor:131]: ‘Uptime’: Sending state 1.22760 minutes with 0 decimals of accuracy [13:11:09.268][D][pipsolar:758]: timeout command to poll: QPIGS [13:11:09.347][D][pipsolar:842]: Sending polling command : QPIGS with length 5 [13:11:14.275][D][pipsolar:758]: timeout command to poll: QPIGS [13:11:14.355][D][pipsolar:842]: Sending polling command : QPIGS with length 5 [13:11:19.282][D][pipsolar:758]: timeout command to poll: QPIGS [13:11:19.361][D][pipsolar:842]: Sending polling command : QPIGS with length 5 [13:11:24.300][D][pipsolar:758]: timeout command to poll: QPIGS [13:11:24.379][D][pipsolar:842]: Sending polling command : QPIGS with length 5
This is also the log from protocol test yaml CODE installed on esp01:
INFO ESPHome 2025.10.3
INFO Reading configuration /config/esphome/voltronic-11k.yaml…
INFO Starting log output from 192.168.2.170 using esphome API
INFO Successfully resolved voltronic-11k @ 192.168.2.170 in 0.000s
INFO Successfully connected to voltronic-11k @ 192.168.2.170 in 0.003s
INFO Successful handshake with voltronic-11k @ 192.168.2.170 in 2.333s
[07:18:12.515][I][app:185]: ESPHome version 2025.10.3 compiled on Oct 27 2025, 07:09:05
[07:18:12.653][C][wifi:679]: WiFi:
[07:18:12.903][C][wifi:458]: Local MAC: BC:DD:C2:24:27:90
[07:18:13.128][C][wifi:465]: IP Address: 192.168.2.170
[07:18:14.242][C][wifi:469]: SSID: ‘centro casa’[redacted]
[07:18:14.242][C][wifi:469]: BSSID: 74:4D:28:62:CA:38[redacted]
[07:18:14.242][C][wifi:469]: Hostname: ‘voltronic-11k’
[07:18:14.242][C][wifi:469]: Signal strength: -68 dB ▂▄▆█
[07:18:14.242][C][wifi:469]: Channel: 1
[07:18:14.242][C][wifi:469]: Subnet: 255.255.255.0
[07:18:14.242][C][wifi:469]: Gateway: 192.168.2.1
[07:18:14.242][C][wifi:469]: DNS1: 0.0.0.0
[07:18:14.242][C][wifi:469]: DNS2: 0.0.0.0
[07:18:14.590][I][main:605]: Testing PI41 split phase / multiple strings commands…
[07:18:14.833][D][uart_debug:158]: >>> “QPIGS2h-\r”
[07:18:15.169][C][logger:261]: Logger:
[07:18:15.169][C][logger:261]: Max Level: DEBUG
[07:18:15.169][C][logger:261]: Initial Level: DEBUG
[07:18:15.481][C][logger:267]: Log Baud Rate: 115200
[07:18:15.481][C][logger:267]: Hardware UART: UART0
[07:18:15.703][C][uart.arduino_esp8266:124]: UART Bus:
[07:18:15.952][C][uart.arduino_esp8266:125]: TX Pin: GPIO1
[07:18:16.203][C][uart.arduino_esp8266:126]: RX Pin: GPIO3
[07:18:16.466][C][uart.arduino_esp8266:128]: RX Buffer Size: 256
[07:18:16.927][C][uart.arduino_esp8266:130]: Baud Rate: 2400 baud
[07:18:16.927][C][uart.arduino_esp8266:130]: Data Bits: 8
[07:18:16.927][C][uart.arduino_esp8266:130]: Parity: NONE
[07:18:16.927][C][uart.arduino_esp8266:130]: Stop bits: 1
[07:18:17.253][C][uart.arduino_esp8266:137]: Using hardware serial interface.
[07:18:18.059][W][uart.arduino_esp8266:151]: You’re using the same serial port for logging and the UART component. Please disable logging over the serial port by setting logger->baud_rate to 0.
[07:18:18.329][D][uart_debug:158]: >>> “QP2GS0\x14\x05\r”
[07:18:18.746][C][esphome.ota:093]: Over-The-Air updates:
[07:18:18.746][C][esphome.ota:093]: Address: 192.168.2.170:8266
[07:18:18.746][C][esphome.ota:093]: Version: 2
[07:18:18.976][C][esphome.ota:100]: Password configured
[07:18:19.442][C][safe_mode:018]: Safe Mode:
[07:18:19.442][C][safe_mode:018]: Successful after: 60s
[07:18:19.442][C][safe_mode:018]: Invoke after: 10 attempts
[07:18:19.442][C][safe_mode:018]: Duration: 300s
[07:18:19.700][D][uart_debug:158]: >>> “QP2GS1\x04$\r”
[07:18:20.149][C][api:222]: Server:
[07:18:20.149][C][api:222]: Address: 192.168.2.170:6053
[07:18:20.149][C][api:222]: Listen backlog: 1
[07:18:20.149][C][api:222]: Max connections: 4
[07:18:20.348][C][api:229]: Noise encryption: YES
[07:18:20.592][C][mdns:179]: mDNS:
[07:18:20.592][C][mdns:179]: Hostname: voltronic-11k
[07:18:20.865][I][main:629]: Testing unsupported PI18 commands…
[07:18:21.127][D][uart_debug:158]: >>> “^P005PIq\x8B\r”
[07:18:22.141][D][uart_debug:158]: >>> “^P005GSX\x14\r”
[07:18:23.158][D][uart_debug:158]: >>> “^P006MOD\xDD\xBE\r”
[07:18:24.175][I][main:653]: Testing unsupported PI17 commands…
[07:18:24.177][D][uart_debug:158]: >>> “^P003PI\r”
[07:18:25.193][D][uart_debug:158]: >>> “^P004MOD\r”
[07:18:26.210][D][uart_debug:158]: >>> “^P005FLAG\r”
[07:18:27.229][I][main:677]: Testing unsupported PI16 commands…
[07:18:27.231][D][uart_debug:158]: >>> “QPI\r”
[07:18:28.244][D][uart_debug:158]: >>> “QMOD\r”
[07:18:29.260][D][uart_debug:158]: >>> “QPIGS\r”
[07:18:30.278][D][uart_debug:158]: >>> “QPIRI\r”
[07:18:31.293][D][uart_debug:158]: >>> “QMOD\r”
[07:18:31.314][I][main:711]: Testing unsupported Qx commands…
[07:18:31.424][D][uart_debug:158]: >>> “Q1\r”
[07:18:32.441][D][uart_debug:158]: >>> “Q2\r”
[07:18:33.457][D][uart_debug:158]: >>> “Q4\r”
[07:18:34.475][D][uart_debug:158]: >>> “Q6\r”
[07:18:35.491][I][main:742]: Done. Repeating…
[07:19:20.067][I][main:515]: Testing PI30/PI30MAX/PI30REVO/PI41 commands…
[07:19:20.216][I][main:518]: This is the set of commands supported by the pipsolar component!
[07:19:20.460][D][uart_debug:158]: >>> “QPI\xBE\xAC\r”
[07:19:21.477][D][uart_debug:158]: >>> “QDIq\e\r”
[07:19:22.495][D][uart_debug:158]: >>> “QFLAG\x98t\r”
[07:19:23.510][D][uart_debug:158]: >>> “QMN\xBBd\r”
[07:19:24.526][D][uart_debug:158]: >>> “QMODI\xC1\r”
[07:19:25.544][D][uart_debug:158]: >>> “QPIGS\xB7\xA9\r”
[07:19:26.558][D][uart_debug:158]: >>> “QPIRI\xF8T\r”
[07:19:27.575][D][uart_debug:158]: >>> “QPIWS\xB4\xDA\r”
[07:19:28.590][D][uart_debug:158]: >>> “QT'\xFF\r”
[07:19:29.607][D][uart_debug:158]: >>> “QPGS0?\xDA\r”
[07:19:30.623][D][uart_debug:158]: >>> “QPGS1/\xFB\r”
[07:19:31.638][D][uart_debug:158]: >>> “QPGS2\x1F\x98\r”
[07:19:32.664][I][main:605]: Testing PI41 split phase / multiple strings commands…
[07:19:32.711][D][uart_debug:158]: >>> “QPIGS2h-\r”
[07:19:33.729][D][uart_debug:158]: >>> “QP2GS0\x14\x05\r”
[07:19:34.745][D][uart_debug:158]: >>> “QP2GS1\x04$\r”
[07:19:35.762][I][main:629]: Testing unsupported PI18 commands…
[07:19:35.764][D][uart_debug:158]: >>> “^P005PIq\x8B\r”
[07:19:36.777][D][uart_debug:158]: >>> “^P005GSX\x14\r”
[07:19:37.792][D][uart_debug:158]: >>> “^P006MOD\xDD\xBE\r”
[07:19:38.811][I][main:653]: Testing unsupported PI17 commands…
[07:19:38.814][D][uart_debug:158]: >>> “^P003PI\r”
[07:19:39.827][D][uart_debug:158]: >>> “^P004MOD\r”
[07:19:40.845][D][uart_debug:158]: >>> “^P005FLAG\r”
[07:19:41.859][I][main:677]: Testing unsupported PI16 commands…
[07:19:41.863][D][uart_debug:158]: >>> “QPI\r”
[07:19:42.873][D][uart_debug:158]: >>> “QMOD\r”
[07:19:43.886][D][uart_debug:158]: >>> “QPIGS\r”
[07:19:44.902][D][uart_debug:158]: >>> “QPIRI\r”
[07:19:45.918][D][uart_debug:158]: >>> “QMOD\r”
[07:19:45.939][I][main:711]: Testing unsupported Qx commands…
[07:19:46.050][D][uart_debug:158]: >>> “Q1\r”
[07:19:47.065][D][uart_debug:158]: >>> “Q2\r”
[07:19:48.081][D][uart_debug:158]: >>> “Q4\r”
[07:19:49.100][D][uart_debug:158]: >>> “Q6\r”
[07:19:50.120][I][main:742]: Done. Repeating…
seems somehow like crc and so on,
but i’m sorry i’m not computer scientist !!
some ideas?
Thank you in advance
Mauro
