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