ESP32 CH340C USB-C and ESPHome
Poor WIFI signal
CH340C has an issue with WLAN when powered from USB-C connector. Board seems to receive signal just OK, but access points can't hear sent signal well. Thiss will lead to connection losses and missing information in Home Assistant.
By powering board from VCC / GND pins, signal level in access points will raise about 20 - 45 dB (-90 dBm to -70 ... -45 dBm). More info: community.home-assistant.io
[13:33:06][C][wifi:613]: WiFi: [13:33:06][C][wifi:434]: Local MAC: [redacted] [13:33:06][C][wifi:439]: SSID: [redacted] [13:33:06][C][wifi:442]: IP Address: [redacted] [13:33:06][C][wifi:446]: BSSID: [redacted] [13:33:06][C][wifi:446]: Hostname: 'esphome-1wire' [13:33:06][C][wifi:446]: Signal strength: -66 dB [13:33:06][C][wifi:455]: Channel: 11
Solis 5S PV inverter statistics via Modbus
Solis 5S solar inverter can be monitored via Modbus protocol and ESP32. You will need standard RS485 adapter, I used MAX485-based board. Connector for Solis is Exceedconn EC04681-2023-BF or EC04681-2014-BF and can be bought from eBay. Physically these should be same connector, but with different voltage ratings. You won't need to install any other integrations than ESPHome.

# Base config from: https://github.com/DeveloperDIY/solis-s6-home-assistant/blob/main/solis-inverter.txt uart: id: mod_bus tx_pin: GPIO17 rx_pin: GPIO16 baud_rate: 9600 stop_bits: 1 modbus: id: modbus1 flow_control_pin: GPIO18 modbus_controller: - id: inverter address: 0x1 modbus_id: modbus1 setup_priority: -10 sensor: - platform: modbus_controller modbus_controller_id: inverter id: solis_temp name: "Solis Temperature" address: 3041 unit_of_measurement: C register_type: read value_type: U_WORD accuracy_decimals: 1 filters: - multiply: 0.1 - platform: modbus_controller modbus_controller_id: inverter id: solis_ac_power name: "Solis AC power" address: 3004 unit_of_measurement: W register_type: read value_type: U_DWORD - platform: modbus_controller modbus_controller_id: inverter id: solus_dc_power name: "Solis DC power" address: 3006 unit_of_measurement: W register_type: read value_type: U_DWORD - platform: modbus_controller modbus_controller_id: inverter id: solis_total_power name: "Solis total generated" address: 3008 unit_of_measurement: kWh register_type: read value_type: U_DWORD - platform: modbus_controller modbus_controller_id: inverter id: solis_today_power name: "Solis power generated today" address: 3014 device_class: energy state_class: total_increasing unit_of_measurement: kWh register_type: read value_type: U_WORD accuracy_decimals: 2 filters: - multiply: 0.1 - platform: modbus_controller modbus_controller_id: inverter id: solis_yesterday_power name: "Solis power generated yesterday" address: 3015 unit_of_measurement: kWh register_type: read value_type: U_WORD accuracy_decimals: 1 filters: - multiply: 0.1 - platform: modbus_controller modbus_controller_id: inverter id: solis_month_power name: "Solis power generated this month" address: 3010 device_class: energy state_class: total_increasing unit_of_measurement: kWh register_type: read value_type: U_DWORD - platform: modbus_controller modbus_controller_id: inverter id: solis_last_month_power name: "Solis power generated last month" address: 3012 unit_of_measurement: kWh register_type: read value_type: U_DWORD - platform: modbus_controller modbus_controller_id: inverter id: solis_year_power name: "Solis power generated this year" address: 3016 device_class: energy state_class: total_increasing unit_of_measurement: kWh register_type: read value_type: U_DWORD # This has been disabled because of performance issues. # Error message: Component modbus_controller took a long time for an operation (180 ms). # - platform: modbus_controller # modbus_controller_id: inverter # id: last_year_power # device_class: energy # name: "Power generated last year" # address: 3018 # unit_of_measurement: kWh # register_type: read # value_type: U_DWORD