ES32 flashing error

I have flashed my ESP32 with ESP Web Tools, I have adopted it in HA but it tells me there is a update available. When I try update using wither method OTA or USB plugged into the PI, I get this error

INFO Reading configuration /config/esphome/esp-web-tools-example-e3ff90.yaml...
Failed config

improv_serial: [source /config/esphome/.esphome/packages/ee679354/esp-web-tools/esp32.yaml:23]
  
  Component not found: improv_serial.

I cannot move past this point.

First time using ESPHome.

Thanks in advance.

Looks like you have tried to include a component that does not exist. Sharing your ESP config would help.

Oh I dont think I have one yet. Do I need a valid config just to update?

No config?

What did you flash the ESP with?

I flashed the node using ESP Web Tools from the website via USB

Not how.

What was the file you actually flashed to the ESP?

It honestly didn’t ask me for a file. Just wifi details, then connected to wifi.

I can browse it, and select a file to flash from the web-ui, however I cannot find any binaries to flash as a base starting config to use with HA.

You probably need to read this:

Great thanks for that.

Im trying to control the sending of IR commands from the ESP32, do I need custom configuration in the ESP32 itself or can all my configuration be put in my configuration.yaml for the IR control itself such as pins and ir codes to be sent.

Thanks

Have a read of these projects:

Cool, im catching on now.

Thanks for your help bud.

Its telling me my configuration is not valid.

Can you see why?

esphome:
  name: ircontrol
  platform: ESP32
  board: esp32dev

# Enable logging
logger:

# Enable Home Assistant API
api:

ota:
  password: ""

wifi:
  ssid: ""
  password: ""

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Ircontrol Fallback Hotspot"
    password: "HvRilsGwWmlE"

captive_portal:

remote_transmitter:
  # D2
  pin: 
  number: GPIO4
  carrier_duty_percent: 50%
  dump: raw
  
switch:
  - platform: template
	name: "Light - Fan Light On"
	id: fan_light_on
	turn_on_action:
	 - remote_transmitter.transmit_raw:
		  code: [-4532, 4447, -604, 1647, -583, 557, -573, 1624, -606, 561, -559, 554, -556, 556, -574, 538, -582, 531, -579, 1645, -585, 555, -575, 1622, -608, 559, -550, 562, -558, 555, -576, 536, -584, 529, -581, 531, -579, 1645, -605, 535, -585, 527, -583, 530, -580, 532, -577, 536, -585, 527, -582, 1643, -608, 531, -579, 1646, -604, 1647, -583, 1642, -609, 1642, -608, 1644, -576, 1649, -633]
		  carrier_frequency: 38kHz

Thanks

If you open the file in the ESPHome addon it will highlight the issue.

Otherwise share the error.

Using Validate, I get

INFO Reading configuration /config/esphome/ircontrol.yaml...
ERROR Error while reading config: Invalid YAML syntax:

while scanning for the next token
found character '\t' that cannot start any token
  in "/config/esphome/ircontrol.yaml", line 35, column 1:
    	name: "Light - Fan Light On"
    ^

Thanks

You used tabs instead of spaces. Do not use tabs.

Here:

	name: "Light - Fan Light On"
  ^
  |

Thanks ill try this now. Ive always struggled with YAML formatting

Now I receive this.

INFO Reading configuration /config/esphome/ircontrol.yaml...
ERROR Error while reading config: Invalid YAML syntax:

while scanning for the next token
found character '\t' that cannot start any token
  in "/config/esphome/ircontrol.yaml", line 34, column 1:
    	  - remote_transmitter.transmit ... 
    ^

Exactly the same issue. This:

tells you it is a tab \t and where to find it.

There should be an option to convert tabs to spaces automatically in whatever text editor you are using. But it is best to get out of the habit of using them.

Im using HA built in editor.