packages: - !include common/wifi.yaml - !include common/felicityinverter.yaml substitutions: name: sthome-ut11 friendly_name: "sthome-ut11" esphome: name: "${name}" friendly_name: "${friendly_name}" external_components: - source: github://pr#8103 components: [uart] - source: github://pr#8032 components: [modbus, modbus_controller, growatt_solar] refresh: 1h esp32: board: esp32dev framework: type: esp-idf # Enable logging logger: level: VERY_VERBOSE initial_level: DEBUG logs: uart: VERY_VERBOSE modbus: VERY_VERBOSE modbus_controller: VERY_VERBOSE # Enable Home Assistant API api: encryption: key: "00DjAYGOMycWGWLC8J8XbOzwFcptjKQxOtzh+jKY8SQ=" ota: - platform: esphome password: "b9ce27902daee1bc1dda748d0c8c68ef" wifi: manual_ip: static_ip: 10.0.2.11 # Enable fallback hotspot (captive portal) in case wifi connection fails ap: ssid: "${name} Fallback Hotspot" password: "CUcx85qCyekn" captive_portal: uart: - id: inv_uart1 rx_pin: GPIO16 tx_pin: GPIO17 baud_rate: 2400 stop_bits: 1 parity: NONE debug: direction: BOTH dummy_receiver: false after: delimiter: "\r" sequence: - lambda: UARTDebug::log_hex(direction, bytes, ','); sun: id: sun_sensor latitude: !secret latitude longitude: !secret longitude time: - platform: homeassistant id: time_source switch: - platform: restart name: "${name} Restart" id: "restart_switch" modbus: - id: modbus1 uart_id: inv_uart1 flow_control_pin: GPIO4 send_wait_time: 1000ms #250ms disable_crc: false role: client modbus_controller: - id: modbus_device1 modbus_id: modbus1 address: 0x01 allow_duplicate_commands: False command_throttle: 0ms update_interval: 4s #30s offline_skip_updates: 2 max_cmd_retries: 0 setup_priority: -10 sensor: - platform: modbus_controller modbus_controller_id: modbus_device1 name: "Inverter1 Type" register_type: holding address: ${Felicity_Inv_Type} # 0xF800 value_type: U_DWORD register_count: 1 - platform: modbus_controller modbus_controller_id: modbus_device1 name: "Inverter1 Sub Type" register_type: holding address: ${Felicity_Inv_SubType} # 0xF801 value_type: U_DWORD register_count: 3 - platform: modbus_controller modbus_controller_id: modbus_device1 name: "Inverter1 CPU1 F/W Version" register_type: holding address: ${Felicity_Inv_CPU1_FW_Version} # 0xF80B value_type: U_DWORD register_count: 1 - platform: modbus_controller modbus_controller_id: modbus_device1 name: "Inverter1 CPU2 F/W Version" register_type: holding address: ${Felicity_Inv_CPU2_FW_Version} # 0xF80C value_type: U_DWORD register_count: 3 - platform: modbus_controller modbus_controller_id: modbus_device1 name: "Inverter1 Working Mode" register_type: holding address: ${Felicity_Inv_WorkingMode} # 0x1101 value_type: U_WORD register_count: 1 - platform: modbus_controller modbus_controller_id: modbus_device1 name: "Inverter1 Charge Mode" register_type: holding address: ${Felicity_Inv_BatteryChargingStage} # 0x1102 value_type: U_WORD register_count: 1 - platform: modbus_controller modbus_controller_id: modbus_device1 name: "Inverter1 Fault Code" register_type: holding address: ${Felicity_Inv_FaultCode} # 0x1103 value_type: U_WORD register_count: 1 - platform: modbus_controller modbus_controller_id: modbus_device1 name: "Inverter1 Power Flow" register_type: holding address: ${Felicity_Inv_PowerFlowMsg} # 0x1104 value_type: U_WORD register_count: 4 - platform: modbus_controller modbus_controller_id: modbus_device1 name: "Inverter1 Battery Voltage" register_type: holding address: ${Felicity_Inv_BatteryVoltage} # 0x1108 value_type: U_WORD register_count: 1 - platform: modbus_controller modbus_controller_id: modbus_device1 name: "Inverter1 Battery Current" register_type: holding address: ${Felicity_Inv_BatteryCurrent} # 0x1109 value_type: U_WORD register_count: 1 - platform: modbus_controller modbus_controller_id: modbus_device1 name: "Inverter1 BatteryPower" register_type: holding address: ${Felicity_Inv_BatteryPower} # 0x110A value_type: U_WORD register_count: 7 - platform: modbus_controller modbus_controller_id: modbus_device1 name: "Inverter1 AC Output Voltage" register_type: holding address: ${Felicity_Inv_ACOutputVoltage} # 0x1111 value_type: U_WORD register_count: 6 - platform: modbus_controller modbus_controller_id: modbus_device1 name: "Inverter1 AC Input Voltage" register_type: holding address: ${Felicity_Inv_ACInputVoltage} # 0x1117 value_type: U_WORD register_count: 2 - platform: modbus_controller modbus_controller_id: modbus_device1 name: "Inverter1 AC Input Frequency" register_type: holding address: ${Felicity_Inv_ACInputFrequency} # 0x1119 value_type: U_WORD register_count: 5 - platform: modbus_controller modbus_controller_id: modbus_device1 name: "Inverter1 AC Output Active Power" register_type: holding address: ${Felicity_Inv_ACOutputActivePower} # 0x111E value_type: U_WORD register_count: 1 - platform: modbus_controller modbus_controller_id: modbus_device1 name: "Inverter1 AC Output Apparent Power" register_type: holding address: ${Felicity_Inv_ACOutputApparentPower} # 0x111F value_type: U_WORD register_count: 1 - platform: modbus_controller modbus_controller_id: modbus_device1 name: "Inverter1 Load Percentage" register_type: holding address: ${Felicity_Inv_LoadPercentage} # 0x1120 value_type: U_WORD register_count: 6 - platform: modbus_controller modbus_controller_id: modbus_device1 name: "Inverter1 PV Input Voltage" register_type: holding address: ${Felicity_Inv_PVInputVoltage} # 0x1126 value_type: U_WORD register_count: 4 - platform: modbus_controller modbus_controller_id: modbus_device1 name: "Inverter1 PV Input Power" register_type: holding address: ${Felicity_Inv_PVInputPower} # 0x112A value_type: U_WORD register_count: 1 text_sensor: - platform: modbus_controller modbus_controller_id: modbus_device1 name: "Inverter1 SerialNo" register_type: holding address: ${Felicity_Inv_SerialNo} # 0xF804 response_size: 14 register_count: 7 raw_encode: HEXBYTES