assembly12 / Foxess-T-series-ESPHome-Home-Assistant

Read out Foxess T-Series Inverter to Home Assistant by using ESPHome
34 stars 7 forks source link

Failed to prepare configuration #5

Closed PiotrRowinski closed 1 year ago

PiotrRowinski commented 1 year ago

Hi!

I'm not able to prepare the configuration when trying to include foxess_t_series.h:

INFO Reading configuration /config/esphome/esp32-foxess.yaml... INFO Generating C++ source... INFO Compiling app... Processing esp32-foxess (board: esp32dev; framework: arduino; platform: platformio/espressif32 @ 3.5.0)

HARDWARE: ESP32 240MHz, 320KB RAM, 4MB Flash LDF: Library Dependency Finder -> https://bit.ly/configure-pio-ldf Dependency Graph |-- AsyncTCP-esphome @ 1.2.2 |-- WiFi @ 1.0 |-- FS @ 1.0 |-- Update @ 1.0 |-- ESPAsyncWebServer-esphome @ 2.1.0 | |-- AsyncTCP-esphome @ 1.2.2 |-- DNSServer @ 1.1.0 |-- ESPmDNS @ 1.0 |-- noise-c @ 0.1.4 | |-- libsodium @ 1.10018.1 Compiling /data/esp32-foxess/.pioenvs/esp32-foxess/src/main.cpp.o In file included from src/main.cpp:22:0: src/foxess_t_series.h:3:63: error: expected class-name before ',' token class foxesscomponent : public PollingComponent, public Sensor, public UARTDevice { ^ src/foxess_t_series.h:3:83: error: expected class-name before '{' token class foxesscomponent : public PollingComponent, public Sensor, public UARTDevice { ^ src/foxess_t_series.h:5:35: error: expected ')' before '' token foxesscomponent(UARTComponent parent) : PollingComponent(600), UARTDevice(parent) {} ^

Any ideas?

Thanks in advance!

assembly12 commented 1 year ago

Are you sure you didn't change anything, like renaming the component? Just try using the Github files without changing anything.

PiotrRowinski commented 1 year ago

I repeated all the steps again using the files directly from GitHub and leaving the same names and now I'm able to prepare the configuration and include foxess_t_series.h without any errors- thanks!

But unfortunately, all the values of the sensors are in an unknown state :(

Everything is connected as shown on the Hardware Setup diagram and the output of the buck converter is 5V. Logs from the ESP32 with additional UART debugging:

INFO Reading configuration /config/esphome/foxess-inverter.yaml... WARNING GPIO4 is a Strapping PIN and should be avoided. Attaching external pullup/down resistors to strapping pins can cause unexpected failures. See https://esphome.io/guides/faq.html#why-am-i-getting-a-warning-about-strapping-pins INFO Starting log output from foxess-inverter.local using esphome API INFO Successfully connected to foxess-inverter.local [15:46:25][I][app:102]: ESPHome version 2022.11.3 compiled on Nov 28 2022, 15:40:04

[15:46:25][C][wifi:362]: Local MAC: 40:22:D8:75:FA:A8 [15:46:25][C][wifi:363]: SSID: [redacted] [15:46:25][C][wifi:364]: IP Address: 192.168.168.57 [15:46:25][C][wifi:366]: BSSID: [redacted]

[15:46:25][C][wifi:369]: Signal strength: -89 dB ▂▄▆█ [15:46:25][C][wifi:373]: Channel: 13 [15:46:25][C][wifi:374]: Subnet: 255.255.255.0 [15:46:25][C][wifi:375]: Gateway: 192.168.168.1 [15:46:25][C][wifi:376]: DNS1: 192.168.168.1 [15:46:25][C][wifi:377]: DNS2: 0.0.0.0

[15:46:25][C][logger:294]: Level: DEBUG [15:46:25][C][logger:295]: Log Baud Rate: 115200 [15:46:25][C][logger:296]: Hardware UART: UART0 [15:46:26][C][uart.arduino_esp32:108]: UART Bus 1: [15:46:26][C][uart.arduino_esp32:109]: TX Pin: GPIO16 [15:46:26][C][uart.arduino_esp32:110]: RX Pin: GPIO17 [15:46:26][C][uart.arduino_esp32:112]: RX Buffer Size: 256 [15:46:26][C][uart.arduino_esp32:114]: Baud Rate: 9600 baud [15:46:26][C][uart.arduino_esp32:115]: Data Bits: 8 [15:46:26][C][uart.arduino_esp32:116]: Parity: NONE [15:46:26][C][uart.arduino_esp32:117]: Stop bits: 1 [15:46:26][C][switch.gpio:050]: GPIO Switch 'T-Series sending mode' [15:46:26][C][switch.gpio:051]: Pin: GPIO4 [15:46:26][C][switch.gpio:073]: Restore Mode: Restore (Defaults to OFF) [15:46:26][C][restart.button:017]: Restart Button 'Foxess inverter restart' [15:46:26][C][captive_portal:088]: Captive Portal: [15:46:26][D][uart_debug:114]: <<< 01:04:00:4A:00:02:50:1D:01:04:00:4A:00:02:50:1D:01:04:00:4A:00:02:50:1D

[15:46:26][C][mdns:104]: Hostname: foxess-inverter [15:46:26][C][ota:093]: Over-The-Air Updates: [15:46:26][C][ota:094]: Address: foxess-inverter.local:3232 [15:46:26][C][ota:097]: Using Password. [15:46:26][C][api:138]: API Server: [15:46:26][C][api:139]: Address: foxess-inverter.local:6053 [15:46:26][C][api:141]: Using noise encryption: YES [15:46:26][D][uart_debug:114]: <<< 01:04:00:4A:00:02:50:1D:01:04:00:4A:00:02:50:1D:01:04:00:4A:00:02:50:1D [15:46:27][D][uart_debug:114]: <<< 01:04:00:4A:00:02:50:1D:01:04:00:4A:00:02:50:1D:01:04:00:4A:00:02:50:1D [15:46:27][D][uart_debug:114]: <<< 01:04:00:4A:00:02:50:1D:01:04:00:4A:00:02:50:1D:01:04:00:4A:00:02:50:1D [15:46:28][D][uart_debug:114]: <<< 01:04:00:4A:00:02:50:1D:01:04:00:4A:00:02:50:1D:01:04:00:4A:00:02:50:1D [15:46:29][D][uart_debug:114]: <<< 01:04:00:4A:00:02:50:1D:01:04:00:4A:00:02:50:1D:01:04:00:4A:00:02:50:1D [15:46:29][D][uart_debug:114]: <<< 01:04:00:4A:00:02:50:1D:01:04:00:4A:00:02:50:1D:01:04:00:4A:00:02:50:1D [15:46:30][D][uart_debug:114]: <<< 01:04:00:4A:00:02:50:1D:01:04:00:4A:00:02:50:1D:01:04:00:4A:00:02:50:1D

assembly12 commented 1 year ago

What model inverter do you have? Those serial messages look nothing like what a Foxess T-Series would transmit.

PiotrRowinski commented 1 year ago

It is a Foxess T5 PV Grid-tied inverter - https://static.fox-ess.pro/upload/T_G2_PL_f9fb5ece7a.pdf. Maybe some additional rs-485 configuration is required on the inverter side?

BTW would You be able to share examples of expected serial messages?

assembly12 commented 1 year ago

This is what a typical output looks like: 7E 7E 02 63 23 ED AC 00 E8 00 00 17 E8 00 00 09 5B 00 55 13 87 07 F1 09 53 00 55 13 87 07 EA 09 63 00 55 13 87 07 F8 14 DA 00 60 00 00 0E 7F 00 1B 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 2C 00 2C 00 2C 00 82 00 00 55 5A 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 03 50 78 00 10 00 00 00 00 00 1A 00 00 00 00 00 00 00 00 00 00 02 21 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 02 00 00 00 00 03 E7 FF 64 17 EA 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 FF FF 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 3F E5 00 00 00 00 00 00 00 00 00 00 00 00 C6 63 E7 E7

It always starts with 7E 7E and ends with E7 E7. Most of the Info is in the beginning of the message. In the middle there are a lot of zeros. Total length is either 165 or 245 bytes, depending on the firmware installed on the inverter.

PiotrRowinski commented 1 year ago

After changing the CT/Meter setting (from Disable to Comm), I started getting similar serial messages (with 7E 7E at the beginning), and everything is working fine now!

Thanks for your support!