Note: The PIN name is translated from the physical D number printed on the ESP to the addressable name used in configurations and programming. E.g. pin D7 is referred to as GPIO13, all mappings can be found in the image in the ESP Intro section.
UPDATE (thanks Petr): “Fortunately ESPHome knows the mapping from the on-board pin numbers to the internal pin numbering, but you need to prefix the pin numbers with D as in the image below in order for this automatic mapping to occur. In general, it is best to just use the D0, D1, … pin numbering to avoid confusion”
We are adding three switches of the platform type GPIO, this means that the switch will 1:1 control the GPIO pins. For every switch we define the GPIO pin that is controlled, and we provide a name and ID.
Flash the firmware Over The Air (OTA)
That’s it, now flash the firmware of the ESP with the updated firmware based on our new configuration. We do not need to use the flasher tool anymore, we can use the Over-The-Air flash feature to flash the chip with the new firmware over the WiFi Connection. It is as easy as clicking the UPLOAD button.
ESPHome will compile the new firmware, send it over to the ESP that will than flash itself. After flashing the ESP will come back online with the new firmware. It does not get much easier!
Control the relay from Home Assistant
Wait till the ESP has been flashed successful and is connected to the WiFi.
Find your device in Home Assistant, noticed that the device now has 3 entities. Click on the device and you’ll see that it has three switches, called IN1, IN2 and IN3.
Press the switches and enjoy the sound of clicking relays. Every switch should control the matching relay.
Create timing to control the fireplace
To control the fireplace I need to match following sequences with the switches:
Ignition, close contacts 1 and 3 simultaneously for 2 seconds
Fire off, clos contact 1,2, and 3 simultaneously for 1 second
We need to control the relays in these sequences with the ESP board. We can do this by extending the ESP configuration. We’ll add an Ignition switch that will execute sequences above when turned on and off.
Open ESP home and click edit on the node to go to the configuration editor.
Add a new Switch (right under IN3) with following configuration.
Serial port: select COM port where the board is connected (there is probably only one option 😊).
Firmware: Browse to the location where you downloaded your compiled firmware and select your firmware.
Click Flash ESP and wait
The ESP will be flashed now, you can follow the progress in the console window. When finished writing the firmware the ESP will restart and connect to your WiFi.
All good so far, now configure the device in Home Assistant.
Configure device in Home Assistant
Home Assistant will automatically recognize the ESP on the network and notify you about the new device found. Click on the notification or click Configuration, Integrations. Find the new discovered device and click configure.
Provide the OTA password that you set during step 3 when you created the node in ESPHome.
Home Assistant will now add your ESP as a new device, there is not much you can do with the device as there are no entities to control.