esphome-docs/cookbook/sonoff-t1-3.rst
2021-11-03 19:55:26 +01:00

256 lines
4.8 KiB
ReStructuredText

Sonoff T1/T2/T3 UK
==================
.. seo::
:description: An example of how to integrate a T1 T2 or T3 Sonoff light switch into Home Assistant
using ESPHome
:image: sonoff_1t_t3.png
:keywords: Relay, Sonoff Basic, Sonoff Dual Dual R1, Light, HASS, Home Assistant, ESPHome
Please make sure you have read up about :doc:`the Sonoff T1 / T2 / T3 and how to flash it with ESPHome </devices/sonoff_t1_uk_3gang_v1.1>`.
So let's get straight on with the code!
T1
--
.. code-block:: yaml
esphome:
name: my_t1
platform: ESP8266
board: esp01_1m
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
use_address: xxx.xxx.xxx.xxx
logger:
api:
ota:
binary_sensor:
- platform: gpio
pin:
number: GPIO0
mode:
input: true
pullup: true
inverted: true
id: button_1
on_press:
then:
- light.toggle: light_1
- platform: status
name: "T1 Status"
output:
- platform: gpio
pin: GPIO12
id: relay_1
light:
- platform: binary
name: "T1"
id: light_1
output: relay_1
status_led:
pin:
number: GPIO13
inverted: yes
In the above code block, there is a *secrets.yaml* file so that you have just one place to change WiFi
details for all your devices.
The use_address is required because the Sonoff T series don't work with mDNS properly. This means that it will
show as off line in the dashboard, and you will need to use the IP address to view the logs or upload new versions
of the firmware. You will also need to manually add the device in integrations by IP address. You will need to
assign a fixed IP in the above configuration, or use a fixed IP assigned by your DHCP server.
See `issue #810 <https://github.com/esphome/issues/issues/810>`__ for further details.
T2
--
.. code-block:: yaml
esphome:
name: my_t2
platform: ESP8266
board: esp01_1m
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
use_address: xxx.xxx.xxx.xxx
logger:
api:
ota:
binary_sensor:
- platform: gpio
pin:
number: GPIO0
mode:
input: true
pullup: true
inverted: true
id: button_1
on_press:
then:
- light.toggle: light_1
- platform: gpio
pin:
number: GPIO9
mode:
input: true
pullup: true
inverted: true
id: button_2
on_press:
then:
- light.toggle: light_2
- platform: status
name: "T2 Status"
output:
- platform: gpio
pin: GPIO12
id: relay_1
- platform: gpio
pin: GPIO5
id: relay_2
light:
- platform: binary
name: "T2 L1"
id: light_1
output: relay_1
- platform: binary
name: "T2 L2"
id: light_2
output: relay_2
status_led:
pin:
number: GPIO13
inverted: yes
T3
--
.. code-block:: yaml
esphome:
name: my_t3
platform: ESP8266
board: esp01_1m
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
use_address: xxx.xxx.xxx.xxx
logger:
api:
ota:
binary_sensor:
- platform: gpio
pin:
number: GPIO0
mode:
input: true
pullup: true
inverted: true
id: button_1
on_press:
then:
- light.toggle: light_1
- platform: gpio
pin:
number: GPIO9
mode:
input: true
pullup: true
inverted: true
id: button_2
on_press:
then:
- light.toggle: light_2
- platform: gpio
pin:
number: GPIO10
mode:
input: true
pullup: true
inverted: true
id: button_3
on_press:
then:
- light.toggle: light_3
- platform: status
name: "T3 Status"
output:
- platform: gpio
pin: GPIO12
id: relay_1
- platform: gpio
pin: GPIO5
id: relay_2
- platform: gpio
pin: GPIO4
id: relay_3
light:
- platform: binary
name: "T3 L1"
id: light_1
output: relay_1
- platform: binary
name: "T3 L2"
id: light_2
output: relay_2
- platform: binary
name: "T3 L3"
id: light_3
output: relay_3
status_led:
pin:
number: GPIO13
inverted: yes
See Also
--------
- :doc:`/cookbook/sonoff-light-switch`
- :doc:`/guides/automations`
- :doc:`/devices/sonoff_t1_uk_3gang_v1.1`