Merge branch 'current' into next
@ -53,6 +53,20 @@ with the time period you were using for the update interval (the default is 60s)
|
||||
sensor. The example in the sensor doc page has been updated to show this.
|
||||
|
||||
|
||||
Release 2024.2.1 - February 26
|
||||
------------------------------
|
||||
|
||||
- Add missing timeout to "async_request" :esphomepr:`6267` by :ghuser:`jesserockz`
|
||||
- Bump zeroconf timeout to 3000 :esphomepr:`6270` by :ghuser:`jesserockz`
|
||||
- web_server: Add a position property for cover entities that have the supports position trait :esphomepr:`6269` by :ghuser:`DanielBaulig`
|
||||
- allow multiple emc2101 :esphomepr:`6272` by :ghuser:`ssieb`
|
||||
- Fix RP2040 SPI pin validation :esphomepr:`6277` by :ghuser:`kbx81`
|
||||
- dashboard: move storage json update to a background task in edit save :esphomepr:`6280` by :ghuser:`bdraco`
|
||||
- make output optional for speed fan :esphomepr:`6274` by :ghuser:`ssieb`
|
||||
- fix throttle average nan handling :esphomepr:`6275` by :ghuser:`ssieb`
|
||||
- Fix thermostat supplemental actions :esphomepr:`6282` by :ghuser:`kbx81`
|
||||
|
||||
|
||||
Full list of changes
|
||||
--------------------
|
||||
|
||||
|
@ -21,7 +21,9 @@ to wake up on any RTC pin (``GPIO0``, ``GPIO2``, ``GPIO4``, ``GPIO12``, ``GPIO13
|
||||
``GPIO15``, ``GPIO25``, ``GPIO26``, ``GPIO27``, ``GPIO32``, ``GPIO39``).
|
||||
|
||||
While in deep sleep mode, the node will not do any work and not respond to any network traffic,
|
||||
even Over The Air updates.
|
||||
even Over The Air updates. If the device's entities are appearing as **Unavailable** while your device is actively
|
||||
sleeping, this component was likely added after the device was added to Home Assistant. To prevent this behavior,
|
||||
you can remove and re-add the device in Home Assistant.
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
@ -32,8 +34,8 @@ even Over The Air updates.
|
||||
|
||||
.. note::
|
||||
|
||||
Some ESP8266s have an onboard USB chip (e.g. D1 mini) on the chips' control line that is connected to the RST pin. This enables the flasher to reboot the ESP when required. This may interfere with deep sleep on some devices and prevent the ESP from waking when it's powered through its USB connector. Powering the ESP from a separate 3.3V source connected to the 3.3V pin and GND will solve this issue. In these cases, using a USB to TTL adapter will allow you to log ESP activity.
|
||||
|
||||
Some ESP8266s have an onboard USB chip (e.g. D1 mini) on the chips' control line that is connected to the RST pin. This enables the flasher to reboot the ESP when required. This may interfere with deep sleep on some devices and prevent the ESP from waking when it's powered through its USB connector. Powering the ESP from a separate 3.3V source connected to the 3.3V pin and GND will solve this issue. In these cases, using a USB to TTL adapter will allow you to log ESP activity.
|
||||
|
||||
Configuration variables:
|
||||
------------------------
|
||||
|
||||
|
@ -10,7 +10,7 @@ All-in-one e-paper display ``Inkplate 6``, ``Inkplate 10`` and ``Inkplate 6 Plus
|
||||
The Inkplate 6, 10 and 6 Plus are powerful, Wi-Fi enabled ESP32 based six-inch e-paper displays -
|
||||
recycled from a Kindle e-reader. Its main feature is simplicity.
|
||||
|
||||
Learn more at `Inkplate's website <https://inkplate.io/>`__
|
||||
Learn more at `Inkplate's documentation website <https://inkplate.readthedocs.io/en/stable/>`__
|
||||
|
||||
.. figure:: images/inkplate6.jpg
|
||||
:align: center
|
||||
|
@ -264,6 +264,29 @@ Stops the bluetooth scanning. It can be started again with the above start scan
|
||||
on_...:
|
||||
- esp32_ble_tracker.stop_scan:
|
||||
|
||||
Use on single-core chips
|
||||
------------------------
|
||||
|
||||
On dual-core devices the WiFi component runs on core 1, while this component runs on core 0.
|
||||
When using this component on single core chips such as the ESP32-C3 both WiFi and ``ble_tracker`` must run on
|
||||
the same core, and this has been known to cause issues when connecting to WiFi. A work-around for this is to
|
||||
enable the tracker only while the native API is connected. The following config will achieve this:
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
esp32_ble_tracker:
|
||||
scan_parameters:
|
||||
continuous: false
|
||||
|
||||
api:
|
||||
encryption:
|
||||
key: !secret encryption_key
|
||||
on_client_connected:
|
||||
- esp32_ble_tracker.start_scan:
|
||||
continuous: true
|
||||
on_client_disconnected:
|
||||
- esp32_ble_tracker.stop_scan:
|
||||
|
||||
See Also
|
||||
--------
|
||||
|
||||
|
@ -22,8 +22,7 @@ ESP8266 side. Bi-directional symmetric request / response protocol is implemente
|
||||
between ESP8266 and MCU. ``sonoff_d1`` component implements this protocol and
|
||||
translates between HA light commands and serial messages.
|
||||
|
||||
For detailed instructions on how to replace the stock firmware with ESPHome see :doc:`/devices/sonoff_s20`.
|
||||
You will need to locate GPIO0 pin and serial port. Photos below should help.
|
||||
To replace the stock firmware with ESPHome you will need to locate GPIO0 pin and serial port. Photos below should help.
|
||||
|
||||
.. figure:: images/sonoff_d1_gpio0.jpg
|
||||
:align: center
|
||||
|
@ -10,7 +10,7 @@ This repository/library allows you to create a custom wake word for your ESPHome
|
||||
|
||||
The training process is described on the `microWakeWord GitHub repository <https://github.com/kahrendt/microWakeWord>`__.
|
||||
|
||||
The ``micro_wake_word`` component requires an **ESP32-S3** to function.
|
||||
The ``micro_wake_word`` component requires an **ESP32-S3 with PSRAM** to function.
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
|
@ -97,9 +97,7 @@ Sonoff B1 configuration example
|
||||
This component can be used with a Sonoff B1 smart light bulb. To flash
|
||||
the Sonoff B1, open the plastic cover and connect/solder wires to the
|
||||
PCB pads (3.3V, RX, TX, GND, GPIO0). If you connect GPIO0 to GND
|
||||
during power up, the device enters flash mode. For more information
|
||||
about flashing Sonoff devices, see:
|
||||
:doc:`/devices/sonoff_s20`. All LEDs are connected to a
|
||||
during power up, the device enters flash mode. All LEDs are connected to a
|
||||
chain of two MY9321 chips that are connected to GPIO12 and GPIO14. A
|
||||
complete configuration for a Sonoff B1 looks like:
|
||||
|
||||
|
@ -281,6 +281,14 @@ advanced stuff (see the full API Reference for more info).
|
||||
auto state = id(my_select).state.c_str();
|
||||
ESP_LOGI("main", "Option of my select: %s", state);
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
# Check if a specific option is selected
|
||||
- if:
|
||||
condition:
|
||||
- lambda: 'return id(my_select).state == "my_option_value";'
|
||||
|
||||
|
||||
- ``.size()``: Retrieve the number of options in the select.
|
||||
|
||||
.. code-block:: cpp
|
||||
|
@ -324,5 +324,4 @@ spares I/Os.
|
||||
See Also
|
||||
--------
|
||||
|
||||
- :doc:`/devices/nodemcu_esp8266`
|
||||
- :ghedit:`Edit`
|
||||
|
@ -6,7 +6,7 @@ BME280 Environment
|
||||
:image: bme280.jpg
|
||||
:keywords: BME280
|
||||
|
||||
The :doc:`/components/sensor/bme280` is a simple temperature, humidity, and pressure sensor with communication over :ref:`I²C <i2c>`.
|
||||
The :doc:`/components/sensor/bme280` is a simple temperature, humidity, and pressure sensor with communication over :ref:`I²C <i2c>` or :ref:`SPI <spi>`.
|
||||
With some simple math it is possible to either determine the height of the sensor, or the current pressure at sea level.
|
||||
This guide can be applied to any sensor measuring temperature and pressure at the same time, like the
|
||||
:doc:`/components/sensor/bmp280`, or :doc:`/components/sensor/bme680`.
|
||||
@ -17,6 +17,7 @@ This guide can be applied to any sensor measuring temperature and pressure at th
|
||||
|
||||
The first step is to connect the sensor as described :doc:`here </components/sensor/bme280>`.
|
||||
After validating the sensor is working, we can proceed and add some formulas.
|
||||
In the example below, modify ``platform: bme280`` as appropriate for your hardware (either ``bme280_i2c`` or ``bme280_spi``). See :doc:`/components/sensor/bme280` for specific details.
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
|
Before Width: | Height: | Size: 4.9 KiB After Width: | Height: | Size: 5.1 KiB |
@ -162,8 +162,6 @@ Both options USB and OTA are done by running the command:
|
||||
|
||||
esphome <some-yaml-file> run
|
||||
|
||||
More details on programming can be found on :doc:`/devices/sonoff_basic`
|
||||
|
||||
3. Prepping and installing
|
||||
**************************
|
||||
|
||||
@ -213,6 +211,5 @@ You can now add your device to home assistant via the configurations page and un
|
||||
See Also
|
||||
--------
|
||||
|
||||
- :doc:`/devices/sonoff_basic`
|
||||
- `Flashing Sonoff Basic <https://randomnerdtutorials.com/how-to-flash-a-custom-firmware-to-sonoff/>`__.
|
||||
- `Adding ESPHome to Home Assistant <https://www.home-assistant.io/components/esphome/>`__.
|
||||
|
Before Width: | Height: | Size: 496 KiB |
Before Width: | Height: | Size: 236 KiB |
Before Width: | Height: | Size: 205 KiB |
Before Width: | Height: | Size: 169 KiB |
Before Width: | Height: | Size: 260 KiB |
Before Width: | Height: | Size: 34 KiB |
Before Width: | Height: | Size: 227 KiB |
Before Width: | Height: | Size: 375 KiB |
Before Width: | Height: | Size: 63 KiB |
Before Width: | Height: | Size: 96 KiB |
Before Width: | Height: | Size: 110 KiB |
Before Width: | Height: | Size: 207 KiB |
Before Width: | Height: | Size: 379 KiB |
Before Width: | Height: | Size: 22 KiB |
Before Width: | Height: | Size: 217 KiB |
Before Width: | Height: | Size: 226 KiB |
Before Width: | Height: | Size: 41 KiB |
Before Width: | Height: | Size: 286 KiB |
Before Width: | Height: | Size: 296 KiB |
Before Width: | Height: | Size: 359 KiB |
Before Width: | Height: | Size: 426 KiB |
Before Width: | Height: | Size: 5.2 KiB |
Before Width: | Height: | Size: 276 KiB |
Before Width: | Height: | Size: 387 KiB |
Before Width: | Height: | Size: 317 KiB |
Before Width: | Height: | Size: 449 KiB |
Before Width: | Height: | Size: 447 KiB |
Before Width: | Height: | Size: 11 KiB |
@ -1,7 +0,0 @@
|
||||
Devices
|
||||
========
|
||||
|
||||
.. toctree::
|
||||
:glob:
|
||||
|
||||
*
|
@ -1,66 +0,0 @@
|
||||
NodeMCU ESP32
|
||||
=============
|
||||
|
||||
.. seo::
|
||||
:description: Instructions for using NodeMCU ESP32 boards in ESPHome and a description of all their pins and uses.
|
||||
:image: nodemcu_esp32.jpg
|
||||
|
||||
The NodeMCU ESP32 board (in some cases also known as ESP32-DevkitC)
|
||||
is fully supported by ESPHome. Simply select ``ESP32`` when
|
||||
the ESPHome wizard asks you for your platform and |nodemcu-32s|_ as the board type.
|
||||
|
||||
.. |nodemcu-32s| replace:: ``nodemcu-32s``
|
||||
.. _nodemcu-32s: http://docs.platformio.org/en/latest/platforms/espressif32.html#nodemcu
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
# Example configuration entry
|
||||
esphome:
|
||||
name: livingroom
|
||||
|
||||
esp32:
|
||||
board: nodemcu-32s
|
||||
|
||||
The ESP32 boards often use the internal GPIO pin numbering on the board, this means that
|
||||
you don't have to worry about other kinds of pin numberings, yay!
|
||||
|
||||
.. figure:: images/nodemcu_esp32-full.jpg
|
||||
:align: center
|
||||
|
||||
Pins on the NodeMCU ESP32 development board.
|
||||
|
||||
Note that in certain conditions you *can* use the pins marked as ``INTERNAL`` in the above image.
|
||||
|
||||
- ``GPIO0`` is used to determine the boot mode on startup. It should therefore not be pulled LOW
|
||||
on startup to avoid booting into flash mode. You can, however, still use this as an output pin.
|
||||
- ``GPIO34``-``GPIO39`` can not be used as outputs (even though GPIO stands for "general purpose input
|
||||
**output**"...).
|
||||
- ``GPIO32``-``GPIO39``: These pins can be used with the :doc:`/components/sensor/adc` to measure
|
||||
voltages.
|
||||
- ``GPIO2``: This pin is connected to the blue LED on the board as seen in the picture above. It also supports
|
||||
the :doc:`touch pad binary sensor </components/binary_sensor/esp32_touch>` as do the other
|
||||
pins marked ``touch`` in the above image.
|
||||
- ``5V`` is connected to the 5V rail from the USB bus and can be used to power the board. Note that
|
||||
the UART chip is directly connected to this rail and you therefore **cannot** supply other voltages
|
||||
into this pin.
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
# Example configuration entry
|
||||
esphome:
|
||||
name: livingroom
|
||||
|
||||
esp32:
|
||||
board: nodemcu-32s
|
||||
|
||||
binary_sensor:
|
||||
- platform: gpio
|
||||
name: "Pin GPIO23"
|
||||
pin: GPIO23
|
||||
|
||||
See Also
|
||||
--------
|
||||
|
||||
- :doc:`/components/esp32`
|
||||
- :doc:`nodemcu_esp8266`
|
||||
- :ghedit:`Edit`
|
@ -1,78 +0,0 @@
|
||||
NodeMCU ESP8266
|
||||
===============
|
||||
|
||||
.. seo::
|
||||
:description: Instructions for using nodemcu ESP8266 boards in ESPHome together with a description of their pins and uses.
|
||||
:image: nodemcu_esp8266.jpg
|
||||
:keywords: NodeMCU, ESP8266
|
||||
|
||||
The NodeMCU board is fully supported by ESPHome. Simply select ``ESP8266`` when
|
||||
the ESPHome wizard asks you for your platform and |nodemcuv2|_ as the board type.
|
||||
|
||||
.. note::
|
||||
|
||||
Most NodeMCU that can be purchased now are version 2 or upwards. If you're using an
|
||||
original v1 board, set the board type to |nodemcu|_.
|
||||
|
||||
.. |nodemcuv2| replace:: ``nodemcuv2``
|
||||
.. _nodemcuv2: http://docs.platformio.org/en/latest/platforms/espressif8266.html#nodemcu
|
||||
.. |nodemcu| replace:: ``nodemcu``
|
||||
.. _nodemcu: http://docs.platformio.org/en/latest/platforms/espressif8266.html#nodemcu
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
# Example configuration entry
|
||||
esphome:
|
||||
name: livingroom
|
||||
|
||||
esp8266:
|
||||
board: nodemcuv2
|
||||
|
||||
The NodeMCU's pin numbering as seen on the board (the ``D0`` etc pins) is different from
|
||||
the internal pin numbering. For example, the ``D3`` pin number maps to the internal
|
||||
``GPIO0`` pin. 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
|
||||
|
||||
.. figure:: images/nodemcu_esp8266-full.jpg
|
||||
:align: center
|
||||
|
||||
Pins on the NodeMCU ESP8266 development board.
|
||||
|
||||
Note that in certain conditions you *can* use the pins marked as ``INTERNAL`` in above image.
|
||||
|
||||
- ``D0`` also can be used to wake the device up from :doc:`deep sleep </components/deep_sleep>` if
|
||||
the pin is connected to the ``RESET`` pin. On some boards ``D0`` is additionally connected to the LED
|
||||
next to the UART chip, but in an inverted mode.
|
||||
- ``D3``, ``D4`` and ``D8`` are used on startup to determine the boot mode, therefore these pins should
|
||||
not be pulled low on startup. You can, however, still use them as output pins.
|
||||
- ``D4`` additionally is connected to the blue LED next to the antenna, but in an inverted mode.
|
||||
- ``A0``: This pin can be used as a normal GPIO pin (like ``D1`` etc) but additionally can measure
|
||||
voltages from 0 to 1.0V using the :doc:`/components/sensor/adc`.
|
||||
- ``VIN``: This board can be powered by an external power supply by using this pin. Supply a voltage depends on the board you use. Some boards support up to 12V, some up to 5V.
|
||||
- ``ENABLE``/``RESET``: When these pins are triggered, the board resets. The difference between the pins
|
||||
is how they can handle voltages above 3.3V.
|
||||
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
# Example configuration entry
|
||||
esphome:
|
||||
name: livingroom
|
||||
|
||||
esp8266:
|
||||
board: nodemcuv2
|
||||
|
||||
binary_sensor:
|
||||
- platform: gpio
|
||||
name: "Pin D0"
|
||||
pin: D0
|
||||
|
||||
See Also
|
||||
--------
|
||||
|
||||
- :doc:`/components/esp8266`
|
||||
- :doc:`nodemcu_esp32`
|
||||
- :ghedit:`Edit`
|
@ -1,447 +0,0 @@
|
||||
Generic Sonoff
|
||||
==============
|
||||
|
||||
.. seo::
|
||||
:description: Instructions for using generic Sonoff devices with ESPHome.
|
||||
:image: sonoff.svg
|
||||
|
||||
ESPHome supports Sonoff devices with ESP based chips inside, but as these devices are quite cheap
|
||||
and shipping from China takes a long time, I've only set up dedicated guides for the
|
||||
:doc:`Sonoff S20 <sonoff_s20>` and :doc:`Sonoff 4CH <sonoff_4ch>`.
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
esphome:
|
||||
name: <NAME_OF_NODE>
|
||||
|
||||
esp8266:
|
||||
board: esp8285
|
||||
|
||||
After that use the following list of pin to function mappings to set up your Sonoff device.
|
||||
This list has been compiled from the Sonoff Tasmota pin source file which can be found `here <https://github.com/arendst/Tasmota/blob/development/tasmota/tasmota_template.h>`__.
|
||||
|
||||
|
||||
.. note::
|
||||
|
||||
SAFETY HAZARD: Some devices such as Sonoff POWs/Shelly/etc, have the digital GND connected directly to mains voltage so **the GPIOs become LIVE during normal operation**. Our advice is to mark these boards to prevent any use of the dangerous digital pins.
|
||||
|
||||
Sonoff RF
|
||||
---------
|
||||
|
||||
.. pintable::
|
||||
|
||||
GPIO0, Button (inverted),
|
||||
GPIO12, Relay and Red LED,
|
||||
GPIO13, Green LED (inverted),
|
||||
GPIO1, UART TX pin (for external sensors)
|
||||
GPIO3, UART RX pin (for external sensors)
|
||||
GPIO4, Optional sensor
|
||||
GPIO14, Optional sensor
|
||||
|
||||
Sonoff SV
|
||||
---------
|
||||
|
||||
.. pintable::
|
||||
|
||||
GPIO0, Button (inverted),
|
||||
GPIO12, Relay and Red LED,
|
||||
GPIO13, Green LED (inverted),
|
||||
GPIO17, Analog Input,
|
||||
GPIO1, UART TX pin (for external sensors)
|
||||
GPIO3, UART RX pin (for external sensors)
|
||||
GPIO4, Optional sensor
|
||||
GPIO5, Optional sensor
|
||||
GPIO14, Optional sensor
|
||||
|
||||
|
||||
Sonoff TH10/TH16
|
||||
----------------
|
||||
|
||||
.. pintable::
|
||||
|
||||
GPIO0, Button (inverted),
|
||||
GPIO12, Relay and Red LED,
|
||||
GPIO13, Green LED (inverted),
|
||||
GPIO1, UART TX pin (for external sensors)
|
||||
GPIO3, UART RX pin (for external sensors)
|
||||
GPIO4, Optional sensor
|
||||
GPIO14, Optional sensor
|
||||
GPIO2, Optional Pin EXP-LOG (TH16 Ver 2.1 2019)
|
||||
|
||||
Sonoff Dual R1
|
||||
--------------
|
||||
|
||||
.. pintable::
|
||||
|
||||
GPIO1, Relay #1,
|
||||
GPIO3, Relay #2,
|
||||
GPIO13, Blue LED (inverted),
|
||||
GPIO4, Optional sensor
|
||||
GPIO14, Optional sensor
|
||||
|
||||
Sonoff Dual R2
|
||||
--------------
|
||||
|
||||
.. pintable::
|
||||
|
||||
GPIO12, Relay #1,
|
||||
GPIO5, Relay #2,
|
||||
GPIO10, Button,
|
||||
GPIO13, Blue LED (inverted),
|
||||
GPIO4, Optional sensor
|
||||
GPIO14, Optional sensor
|
||||
|
||||
Sonoff Dual R2 v1.4
|
||||
-------------------
|
||||
|
||||
.. pintable::
|
||||
|
||||
GPIO00, Button #0(inside header board v1.4),
|
||||
GPIO09, Button #1(inside header board v1.4),
|
||||
GPIO12, Relay #1,
|
||||
GPIO5, Relay #2,
|
||||
GPIO10, Button on the case,
|
||||
GPIO13, Blue LED (inverted)
|
||||
|
||||
Sonoff Dual R3 v1.x, v2.x
|
||||
-------------------------
|
||||
|
||||
.. pintable::
|
||||
|
||||
GPIO27, Relay #1,
|
||||
GPIO14, Relay #2,
|
||||
GPIO0, Button,
|
||||
GPIO13, Blue LED (inverted),
|
||||
GPIO32, SW Input #1 (inverted),
|
||||
GPIO33, SW Input #2 (inverted),
|
||||
GPIO25, UART TX pin (for power sensor)
|
||||
GPIO26, UART RX pin (for power sensor)
|
||||
|
||||
For power measuring see :doc:`/components/sensor/cse7761` (v1.x) or :doc:`/components/sensor/bl0939` (v2.x)
|
||||
|
||||
Sonoff Pow R1
|
||||
-------------
|
||||
|
||||
(equivalent to Huafan SS)
|
||||
|
||||
.. pintable::
|
||||
|
||||
GPIO0, Button (inverted),
|
||||
GPIO12, Relay and Red LED,
|
||||
GPIO15, Blue LED,
|
||||
|
||||
GPIO5, HLW8012 SEL Pin
|
||||
GPIO13, HLW8012 CF1 Pin
|
||||
GPIO14, HLW8012 CF Pin
|
||||
|
||||
See :doc:`/components/sensor/hlw8012` for measuring power.
|
||||
|
||||
Sonoff Pow R2
|
||||
-------------
|
||||
|
||||
(equivalent to Huafan SS)
|
||||
|
||||
.. pintable::
|
||||
|
||||
GPIO0, Button (inverted),
|
||||
GPIO12, Relay and Red LED,
|
||||
GPIO13, Blue LED (inverted),
|
||||
|
||||
See :doc:`/components/sensor/cse7766` for measuring power.
|
||||
|
||||
Sonoff S20, Sonoff S22, Sonoff S26
|
||||
----------------------------------
|
||||
|
||||
See :doc:`sonoff_s20`.
|
||||
|
||||
Slampher
|
||||
--------
|
||||
|
||||
.. pintable::
|
||||
|
||||
GPIO0, Button (inverted),
|
||||
GPIO12, Relay and Red LED,
|
||||
GPIO13, Blue LED (inverted),
|
||||
GPIO1, UART TX pin (for external sensors)
|
||||
GPIO3, UART RX pin (for external sensors)
|
||||
|
||||
Sonoff Touch
|
||||
------------
|
||||
|
||||
.. pintable::
|
||||
|
||||
GPIO0, Button (inverted),
|
||||
GPIO12, Relay and Red LED,
|
||||
GPIO13, Blue LED (inverted),
|
||||
GPIO1, UART TX pin (for external sensors)
|
||||
GPIO3, UART RX pin (for external sensors)
|
||||
|
||||
Sonoff LED
|
||||
----------
|
||||
|
||||
.. pintable::
|
||||
|
||||
GPIO0, Button (inverted),
|
||||
GPIO13, Blue LED (inverted),
|
||||
GPIO5, Red Channel
|
||||
GPIO4, Green Channel
|
||||
GPIO15, Blue Channel
|
||||
GPIO12, Cold White Channel
|
||||
GPIO14, Warm White Channel
|
||||
|
||||
See :doc:`/components/light/rgbww` for controlling the lights together with
|
||||
:doc:`/components/output/esp8266_pwm`.
|
||||
|
||||
ElectroDragon
|
||||
-------------
|
||||
|
||||
.. pintable::
|
||||
|
||||
GPIO2, Button 1 (inverted),
|
||||
GPIO0, Button 2 (inverted),
|
||||
GPIO13, Relay 1 and Red LED,
|
||||
GPIO12, Relay 2 and Red LED,
|
||||
GPIO16, Green/Blue LED
|
||||
GPIO17, Analog Input
|
||||
|
||||
|
||||
Sonoff SC
|
||||
---------
|
||||
|
||||
.. pintable::
|
||||
|
||||
GPIO12, Light,
|
||||
GPIO13, Red LED (inverted)
|
||||
|
||||
See :doc:`/components/light/monochromatic` and :doc:`/components/output/esp8266_pwm`
|
||||
for controlling the light pin.
|
||||
|
||||
Sonoff 4CH Pro
|
||||
--------------
|
||||
|
||||
Same configuration as the :doc:`Sonoff 4CH <sonoff_4ch>`.
|
||||
|
||||
|
||||
Sonoff B1, Ai-Thinker AiLight
|
||||
-----------------------------
|
||||
|
||||
See :doc:`/components/output/my9231`.
|
||||
|
||||
Sonoff T1, Sonoff T3 (1CH, 2CH, 3CH)
|
||||
------------------------------------
|
||||
|
||||
.. pintable::
|
||||
|
||||
GPIO0, Button 1 (inverted),
|
||||
GPIO12, Relay 1 and Blue LED,
|
||||
GPIO9, Button 2 (inverted),
|
||||
GPIO5, Relay 2 and Blue LED,
|
||||
GPIO10, Button 3 (inverted),
|
||||
GPIO4, Relay 3 and Blue LED,
|
||||
GPIO13, Blue LED (inverted),
|
||||
|
||||
GPIO1, UART TX pin (for external sensors)
|
||||
GPIO3, UART RX pin (for external sensors)
|
||||
|
||||
Arilux LC10, Magic Home
|
||||
-----------------------
|
||||
|
||||
.. pintable::
|
||||
|
||||
GPIO2, Blue LED,
|
||||
GPIO14, Red Channel,
|
||||
GPIO5, Green Channel,
|
||||
GPIO12, Blue Channel,
|
||||
GPIO13, White Channel,
|
||||
|
||||
GPIO1, UART TX pin (for external sensors)
|
||||
GPIO3, UART RX pin (for external sensors)
|
||||
|
||||
See :doc:`/components/light/rgbw` for controlling the lights together with
|
||||
:doc:`/components/output/esp8266_pwm`.
|
||||
|
||||
Arilux LC01
|
||||
-----------
|
||||
|
||||
.. pintable::
|
||||
|
||||
GPIO0, Button (inverted),
|
||||
GPIO2, Blue LED,
|
||||
GPIO5, Red Channel,
|
||||
GPIO12, Green Channel,
|
||||
GPIO13, Blue Channel,
|
||||
GPIO14, White Channel,
|
||||
|
||||
GPIO1, UART TX pin (for external sensors)
|
||||
GPIO3, UART RX pin (for external sensors)
|
||||
|
||||
See :doc:`/components/light/rgbw` for controlling the lights together with
|
||||
:doc:`/components/output/esp8266_pwm`.
|
||||
|
||||
Arilux LC02
|
||||
-----------
|
||||
|
||||
.. pintable::
|
||||
|
||||
GPIO0, Button (inverted),
|
||||
GPIO2, Blue LED,
|
||||
GPIO5, Red Channel,
|
||||
GPIO14, Green Channel,
|
||||
GPIO12, Blue Channel,
|
||||
GPIO13, White Channel,
|
||||
|
||||
GPIO1, UART TX pin (for external sensors)
|
||||
GPIO3, UART RX pin (for external sensors)
|
||||
|
||||
See :doc:`/components/light/rgbw` for controlling the lights together with
|
||||
:doc:`/components/output/esp8266_pwm`.
|
||||
|
||||
Arilux LC11
|
||||
-----------
|
||||
|
||||
.. pintable::
|
||||
|
||||
GPIO0, Button (inverted),
|
||||
GPIO2, Blue LED,
|
||||
GPIO5, Red Channel,
|
||||
GPIO4, Green Channel,
|
||||
GPIO14, Blue Channel,
|
||||
GPIO13, Cold White Channel,
|
||||
GPIO12, Warm White Channel,
|
||||
|
||||
GPIO1, UART TX pin (for external sensors)
|
||||
GPIO3, UART RX pin (for external sensors)
|
||||
|
||||
See :doc:`/components/light/rgbww` for controlling the lights together with
|
||||
:doc:`/components/output/esp8266_pwm`.
|
||||
|
||||
Sonoff S31
|
||||
----------
|
||||
|
||||
.. pintable::
|
||||
|
||||
GPIO0, Button (inverted),
|
||||
GPIO12, Relay and Red LED,
|
||||
GPIO13, Green LED (inverted),
|
||||
|
||||
See :doc:`/components/sensor/cse7766` for measuring power
|
||||
|
||||
Sonoff S55
|
||||
----------
|
||||
|
||||
.. pintable::
|
||||
|
||||
GPIO0, Button (inverted),
|
||||
GPIO12, Relay and Red LED,
|
||||
GPIO13, Blue LED (inverted),
|
||||
GPIO1, UART TX pin (for external sensors)
|
||||
GPIO3, UART RX pin (for external sensors)
|
||||
|
||||
|
||||
Sonoff Mini
|
||||
-----------
|
||||
|
||||
.. pintable::
|
||||
|
||||
GPIO0, Button (inverted),
|
||||
GPIO4, SW Input (inverted),
|
||||
GPIO12, Relay and Red LED,
|
||||
GPIO13, Blue LED (inverted),
|
||||
GPIO16, Optional sensor
|
||||
|
||||
|
||||
Sonoff THR316D
|
||||
--------------
|
||||
|
||||
.. pintable::
|
||||
|
||||
GPIO0, Button,
|
||||
GPIO21, Relay 1,
|
||||
GPIO4, Relay 2,
|
||||
GPIO27, Optionnal sensor power ON/OFF,
|
||||
GPIO25, sensor,
|
||||
GPIO16, Power LED,
|
||||
GPIO15, Wifi LED (inverted),
|
||||
GPIO13, Cycle LED (inverted),
|
||||
GPIO23, Display Read,
|
||||
GPIO18, Display Write,
|
||||
GPIO5, Display Data,
|
||||
GPIO17, Display CS,
|
||||
|
||||
GPIO1, UART TX pin (for log)
|
||||
GPIO3, UART RX pin (for log)
|
||||
|
||||
|
||||
Shelly 1
|
||||
--------
|
||||
|
||||
.. pintable::
|
||||
|
||||
GPIO4, Relay,
|
||||
GPIO5, SW Input,
|
||||
|
||||
Shelly 2
|
||||
--------
|
||||
|
||||
.. pintable::
|
||||
|
||||
GPIO4, Relay #1,
|
||||
GPIO5, Relay #2,
|
||||
GPIO12, SW Input #1,
|
||||
GPIO14, SW Input #2,
|
||||
|
||||
Teckin
|
||||
------
|
||||
|
||||
.. pintable::
|
||||
|
||||
GPIO1, Button (inverted),
|
||||
GPIO3, Blue LED (inverted),
|
||||
GPIO13, Red LED (inverted),
|
||||
GPIO14, Relay,
|
||||
|
||||
GPIO12, HLW8012 SEL Pin (inverted),
|
||||
GPIO4, HLW8012 CF Pin,
|
||||
GPIO5, HLW8012 CF1 Pin,
|
||||
|
||||
See :doc:`/components/sensor/hlw8012` for measuring power.
|
||||
Example config: `teckin.yaml <https://github.com/esphome/esphome-docs/blob/current/devices/teckin.yaml>`__
|
||||
|
||||
Teckin SP20 (US)
|
||||
----------------
|
||||
|
||||
.. pintable::
|
||||
|
||||
GPIO13, Button,
|
||||
GPIO2, Blue LED (inverted),
|
||||
GPIO0, Red LED (inverted),
|
||||
GPIO4, Relay,
|
||||
|
||||
GPIO12, HLW8012 SEL Pin (inverted),
|
||||
GPIO5, HLW8012 CF Pin,
|
||||
GPIO14, HLW8012 CF1 Pin,
|
||||
|
||||
See :doc:`/components/sensor/hlw8012` for measuring power.
|
||||
Example config: `teckin_sp20_us.yaml <https://github.com/esphome/esphome-docs/blob/current/devices/teckin_sp20_us.yaml>`__
|
||||
|
||||
TorchStar LED Controller (Nov 2018)
|
||||
-----------------------------------
|
||||
|
||||
.. pintable::
|
||||
|
||||
GPIO13, Button (inverted),
|
||||
GPIO16, Blue LED (inverted),
|
||||
GPIO4, Red LED (inverted),
|
||||
GPIO14, Red Channel,
|
||||
GPIO12, Green Channel,
|
||||
GPIO5, Blue Channel,
|
||||
GPIO15, White Channel,
|
||||
|
||||
See Also
|
||||
--------
|
||||
|
||||
- :doc:`sonoff_s20`
|
||||
- :doc:`sonoff_4ch`
|
||||
- :doc:`sonoff_basic`
|
||||
- :doc:`/components/esp8266`
|
||||
- :ghedit:`Edit`
|
@ -1,336 +0,0 @@
|
||||
Using With Sonoff 4CH
|
||||
=====================
|
||||
|
||||
.. seo::
|
||||
:description: Instructions for putting Sonoff 4CH devices into flash mode and installing ESPHome on them.
|
||||
:image: sonoff_4ch.jpg
|
||||
|
||||
ESPHome can also be used with Sonoff 4CH wireless switches. These devices are
|
||||
basically just an ESP8266 chip with 4 relays to control power output, a few buttons on the
|
||||
top and a few status LEDs.
|
||||
|
||||
.. figure:: images/sonoff_4ch_header.jpg
|
||||
:align: center
|
||||
:width: 75.0%
|
||||
|
||||
Sonoff 4CH WiFi switch.
|
||||
|
||||
This guide will step you through setting up your Sonoff 4CH and flashing the first ESPHome firmware
|
||||
with the serial interface. After that, you will be able to upload all future firmwares with the remote
|
||||
Over-The-Air update process.
|
||||
|
||||
.. note::
|
||||
|
||||
If you've previously installed Sonoff-Tasmota on your Sonoff 4CH, you're in luck 😀.
|
||||
ESPHome can generate a firmware binary which you can then upload via the
|
||||
Tasmota web interface. To see how to create this binary, skip to :ref:`sonoff_4ch-creating_firmware`.
|
||||
|
||||
Since firmware version 1.6.0, iTead (the creator of this device) has removed the ability to upload
|
||||
a custom firmware through their own upload process. Unfortunately, that means that the only way to
|
||||
flash the initial ESPHome firmware is by physically opening the device up and using the UART
|
||||
interface.
|
||||
|
||||
.. warning::
|
||||
|
||||
Opening up this device can be very dangerous if not done correctly. While the device is open,
|
||||
you will be a single touch away from being electrocuted if the device is plugged in or connected to a high voltage 'mains' power supply.
|
||||
|
||||
So, during this *entire* guide **never ever** plug the device in or have it connected to mains power. Also, you should only do this
|
||||
if you know what you're doing. If you, at any step, feel something is wrong or are uncomfortable
|
||||
with continuing, it's best to just stop for your own safety.
|
||||
|
||||
It's your own responsibility to make sure everything you do during this setup process is safe.
|
||||
|
||||
For this guide you will need:
|
||||
|
||||
- Sonoff 4CH 😉.
|
||||
- A USB to UART Bridge for flashing the device. These can be bought on Amazon (or other online stores) for less than 5 dollars.
|
||||
Note that the bridge *must* be 3.3V compatible. Otherwise you will destroy your Sonoff.
|
||||
- Jumper wires to connect the UART bridge to the header pins.
|
||||
- A computer running Home Assistant with the ESPHome Home Assistant add-on.
|
||||
- A screwdriver to open up the Sonoff 4CH.
|
||||
|
||||
Have everything? Great! Then you can start.
|
||||
|
||||
|
||||
Step 1: Opening up the Sonoff 4CH
|
||||
---------------------------------
|
||||
|
||||
The first step is to open up the Sonoff 4CH. Note that you do not have to run the original firmware
|
||||
supplied with the Sonoff 4CH before doing this step.
|
||||
|
||||
.. warning::
|
||||
|
||||
Just to repeat this: Make **absolutely sure** the device is not connected to any appliance or
|
||||
connected to mains power before doing this step.
|
||||
|
||||
While the device is not plugged in, turn the device so you are viewing it from the top,
|
||||
then unscrew the long screws in the four corners of the top cover.
|
||||
|
||||
.. figure:: images/sonoff_4ch_top.jpg
|
||||
:align: center
|
||||
:width: 60.0%
|
||||
|
||||
There are four screws on the front of the Sonoff 4CH.
|
||||
|
||||
After that, you should be able to remove the front cover and should be greeted by the main board.
|
||||
The chip we're interested in here is the "big" one encased in an aluminium cover.
|
||||
|
||||
.. figure:: images/sonoff_4ch_mcu.jpg
|
||||
:align: center
|
||||
:width: 75.0%
|
||||
|
||||
The main chip of the Sonoff 4CH and the header pins we're going to use to flash our custom
|
||||
firmware.
|
||||
|
||||
Step 2: Connecting UART
|
||||
-----------------------
|
||||
|
||||
Now we need our computer to somehow establish a data connection to the board. For this we will
|
||||
have to connect the four wires on the UART to USB bridge to the UART pins of the Sonoff 4Ch.
|
||||
|
||||
Fortunately for us, exactly these pins come pre-populated with a few header pins. You can identify
|
||||
these by the ``VCC33``, ``RX``, ``TX`` and ``GND`` markings on the silk-screen.
|
||||
|
||||
Now go ahead and connect these pins to your UART to USB bridge as seen in the below image. Make sure
|
||||
that you connect these correctly, especially the ``VCC33`` and ``GND`` parts as you can otherwise
|
||||
destroy the chip.
|
||||
|
||||
``VCC33`` should be connected to the ``3V3`` (**not** 5V) pin of the UART bridge, ``GND`` to ``GND``
|
||||
and the same with ``RX``/``TX``.
|
||||
|
||||
When you're done, it should look something like this:
|
||||
|
||||
.. figure:: images/sonoff_4ch_uart.jpg
|
||||
:align: center
|
||||
|
||||
.. note::
|
||||
|
||||
On some older 4CHs, the ``RX`` and ``TX`` pins are swapped (sometimes even the written silkscreen is
|
||||
wrong). If your upload fails with an ``error: espcomm_upload_mem failed`` message it's most likely due
|
||||
to the pins being swapped. In that case, just swap ``RX`` and ``TX`` and try again - you won't break
|
||||
anything if they're swapped.
|
||||
|
||||
.. _sonoff_4ch-creating_firmware:
|
||||
|
||||
Step 3: Creating Firmware
|
||||
-------------------------
|
||||
|
||||
The Sonoff 4CH is based on the ``ESP8266`` platform (technically it's the ``ESP8285``, but for our purposes
|
||||
they're the same) and is a subtype of the ``esp01_1m`` board.
|
||||
With this information, you can step through the ESPHome wizard (``esphome sonoff_4ch.yaml wizard``),
|
||||
or alternatively, you can just take the below configuration file and modify it to your needs.
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
esphome:
|
||||
name: <NAME_OF_NODE>
|
||||
|
||||
esp8266:
|
||||
board: esp8285
|
||||
|
||||
wifi:
|
||||
ssid: !secret wifi_ssid
|
||||
password: !secret wifi_password
|
||||
|
||||
api:
|
||||
|
||||
logger:
|
||||
|
||||
ota:
|
||||
|
||||
Now run ``esphome sonoff_4ch.yaml compile`` to validate the configuration and
|
||||
pre-compile the firmware.
|
||||
|
||||
.. note::
|
||||
|
||||
After this step, you will be able to find the compiled binary under
|
||||
``<NAME_OF_NODE>/.pioenvs/<NAME_OF_NODE>/firmware.bin``. If you're having trouble with
|
||||
uploading, you can also try uploading this file directly with other tools.
|
||||
|
||||
Step 4: Uploading Firmware
|
||||
--------------------------
|
||||
|
||||
In order to upload the firmware, you're first going to need to get the chip into a flash mode, otherwise
|
||||
the device will start up without accepting any firmware flash attempts. To do this, while the UART
|
||||
bridge is not connected to your USB port, press and hold the bottom-left push button labelled ``FW/IO0``
|
||||
and continue to do so while plugging in the UART bridge into your computer. Keep holding the button for
|
||||
another 2-4 seconds. The 4CH should now be in a flash mode and should not blink any LED.
|
||||
|
||||
.. figure:: images/sonoff_4ch_buttons.jpg
|
||||
:align: center
|
||||
|
||||
You need to press the button labelled ``FW/IO0`` during startup.
|
||||
|
||||
Now you can finally run the upload command:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
esphome sonoff_4ch.yaml run
|
||||
|
||||
If successful, you should see something like this:
|
||||
|
||||
.. figure:: images/sonoff_4ch_upload.png
|
||||
:align: center
|
||||
|
||||
Hooray 🎉! You've now successfully uploaded the first ESPHome firmware to your Sonoff 4CH. And in a moment,
|
||||
you will be able to use all of ESPHome's great features with your Sonoff 4CH.
|
||||
|
||||
If above step don't work, however, here are some steps that can help:
|
||||
|
||||
- Sometimes the UART bridge cannot supply enough current to the chip to operate, in this
|
||||
case use a 3.3V supply you have lying around. A nice hack is to use the power supply of
|
||||
NodeMCU boards. Simply connect the NodeMCU's 3.3V to VCC and GND to GND. **Do not connect mains
|
||||
power to the device in an attempt to overcome this problem while troubleshooting.**
|
||||
- In other cases the ``TX`` and ``RX`` pin are reversed. Simple disconnect the device, swap
|
||||
the two pins and put it into flash mode again.
|
||||
|
||||
Step 5: Adding the Button, Relay and LEDs
|
||||
-----------------------------------------
|
||||
|
||||
Now we would like the 4CH to actually do something, not just connect to WiFi and pretty much sit idle.
|
||||
|
||||
Below you will find a table of all usable GPIO pins of the Sonoff 4CH and a configuration file that exposes all
|
||||
of the basic functions.
|
||||
|
||||
======================================== =========================================
|
||||
``GPIO0`` Button #1 (inverted)
|
||||
---------------------------------------- -----------------------------------------
|
||||
``GPIO9`` Button #2 (inverted)
|
||||
---------------------------------------- -----------------------------------------
|
||||
``GPIO10`` Button #3 (inverted)
|
||||
---------------------------------------- -----------------------------------------
|
||||
``GPIO14`` Button #4 (inverted)
|
||||
---------------------------------------- -----------------------------------------
|
||||
``GPIO12`` Relay #1 and red LED
|
||||
---------------------------------------- -----------------------------------------
|
||||
``GPIO5`` Relay #2 and red LED
|
||||
---------------------------------------- -----------------------------------------
|
||||
``GPIO4`` Relay #3 and red LED
|
||||
---------------------------------------- -----------------------------------------
|
||||
``GPIO15`` Relay #4 and red LED
|
||||
---------------------------------------- -----------------------------------------
|
||||
``GPIO13`` Blue LED (inverted)
|
||||
---------------------------------------- -----------------------------------------
|
||||
``GPIO1`` ``TX`` pin (for external sensors)
|
||||
---------------------------------------- -----------------------------------------
|
||||
``GPIO3`` ``RX`` pin (for external sensors)
|
||||
---------------------------------------- -----------------------------------------
|
||||
``GPIO2`` ``IO2`` pin (for external sensors)
|
||||
======================================== =========================================
|
||||
|
||||
.. note::
|
||||
|
||||
The ESP8266 will be prevented from booting if the following pins are pulled LOW (connected to GND) on cold startup: ``GPIO0``, ``GPIO1``, ``GPIO2``. Be prepared if you want to use them for input sensors.
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
esphome:
|
||||
name: <NAME_OF_NODE>
|
||||
|
||||
esp8266:
|
||||
board: esp8285
|
||||
|
||||
wifi:
|
||||
ssid: !secret wifi_ssid
|
||||
password: !secret wifi_password
|
||||
|
||||
api:
|
||||
|
||||
logger:
|
||||
|
||||
ota:
|
||||
|
||||
binary_sensor:
|
||||
- platform: gpio
|
||||
pin:
|
||||
number: GPIO0
|
||||
mode:
|
||||
input: true
|
||||
pullup: true
|
||||
inverted: true
|
||||
name: "Sonoff 4CH Button 1"
|
||||
- platform: gpio
|
||||
pin:
|
||||
number: GPIO9
|
||||
mode:
|
||||
input: true
|
||||
pullup: true
|
||||
inverted: true
|
||||
name: "Sonoff 4CH Button 2"
|
||||
- platform: gpio
|
||||
pin:
|
||||
number: GPIO10
|
||||
mode:
|
||||
input: true
|
||||
pullup: true
|
||||
inverted: true
|
||||
name: "Sonoff 4CH Button 3"
|
||||
- platform: gpio
|
||||
pin:
|
||||
number: GPIO14
|
||||
mode:
|
||||
input: true
|
||||
pullup: true
|
||||
inverted: true
|
||||
name: "Sonoff 4CH Button 4"
|
||||
- platform: status
|
||||
name: "Sonoff 4CH Status"
|
||||
|
||||
switch:
|
||||
- platform: gpio
|
||||
name: "Sonoff 4CH Relay 1"
|
||||
pin: GPIO12
|
||||
- platform: gpio
|
||||
name: "Sonoff 4CH Relay 2"
|
||||
pin: GPIO5
|
||||
- platform: gpio
|
||||
name: "Sonoff 4CH Relay 3"
|
||||
pin: GPIO4
|
||||
- platform: gpio
|
||||
name: "Sonoff 4CH Relay 4"
|
||||
pin: GPIO15
|
||||
|
||||
output:
|
||||
# Register the blue LED as a dimmable output ....
|
||||
- platform: esp8266_pwm
|
||||
id: blue_led
|
||||
pin: GPIO13
|
||||
inverted: true
|
||||
|
||||
light:
|
||||
# ... and then make a light out of it.
|
||||
- platform: monochromatic
|
||||
name: "Sonoff 4CH Blue LED"
|
||||
output: blue_led
|
||||
|
||||
|
||||
Above example also showcases an important concept of ESPHome: IDs and linking. In order
|
||||
to make all components in ESPHome as "plug and play" as possible, you can use IDs to define
|
||||
them in one area, and simply pass that ID later on. For example, above you can see a PWM (dimmer)
|
||||
output being created with the ID ``blue_led`` for the blue LED. Later on it is then transformed
|
||||
into a :doc:`monochromatic light </components/light/monochromatic>`.
|
||||
If you additionally want the buttons to control the relays, look at `the complete Sonoff 4CH
|
||||
with automation example <https://github.com/esphome/esphome-docs/blob/current/devices/sonoff_4ch.yaml>`__.
|
||||
|
||||
.. figure:: images/sonoff_4ch_result.png
|
||||
:align: center
|
||||
:width: 75.0%
|
||||
|
||||
Step 6: Finishing Up
|
||||
--------------------
|
||||
|
||||
If you're sure everything is done with the 4CH and have double checked there's nothing that could cause a short
|
||||
in the case, you can put the front cover back on and screw everything together.
|
||||
|
||||
Now triple- or even quadruple-check the UART bridge is not connected to the 4CH, then comes the time when you can
|
||||
connect it.
|
||||
|
||||
Happy hacking!
|
||||
|
||||
See Also
|
||||
--------
|
||||
|
||||
- :doc:`sonoff`
|
||||
- :doc:`sonoff_s20`
|
||||
- :ghedit:`Edit`
|
@ -1,88 +0,0 @@
|
||||
esphome:
|
||||
name: <NAME_OF_NODE>
|
||||
|
||||
esp8266:
|
||||
board: esp01_1m
|
||||
|
||||
wifi:
|
||||
ssid: !secret wifi_ssid
|
||||
password: !secret wifi_password
|
||||
|
||||
api:
|
||||
|
||||
logger:
|
||||
|
||||
ota:
|
||||
|
||||
binary_sensor:
|
||||
- platform: gpio
|
||||
pin:
|
||||
number: GPIO0
|
||||
mode:
|
||||
input: true
|
||||
pullup: true
|
||||
inverted: true
|
||||
name: "Sonoff 4CH Button 1"
|
||||
on_press:
|
||||
- switch.toggle: relay_1
|
||||
- platform: gpio
|
||||
pin:
|
||||
number: GPIO9
|
||||
mode:
|
||||
input: true
|
||||
pullup: true
|
||||
inverted: true
|
||||
name: "Sonoff 4CH Button 2"
|
||||
on_press:
|
||||
- switch.toggle: relay_2
|
||||
- platform: gpio
|
||||
pin:
|
||||
number: GPIO10
|
||||
mode:
|
||||
input: true
|
||||
pullup: true
|
||||
inverted: true
|
||||
name: "Sonoff 4CH Button 3"
|
||||
on_press:
|
||||
- switch.toggle: relay_3
|
||||
- platform: gpio
|
||||
pin:
|
||||
number: GPIO14
|
||||
mode:
|
||||
input: true
|
||||
pullup: true
|
||||
inverted: true
|
||||
name: "Sonoff 4CH Button 4"
|
||||
on_press:
|
||||
- switch.toggle: relay_4
|
||||
- platform: status
|
||||
name: "Sonoff 4CH Status"
|
||||
|
||||
switch:
|
||||
- platform: gpio
|
||||
name: "Sonoff 4CH Relay 1"
|
||||
pin: GPIO12
|
||||
id: relay_1
|
||||
- platform: gpio
|
||||
name: "Sonoff 4CH Relay 2"
|
||||
pin: GPIO5
|
||||
id: relay_2
|
||||
- platform: gpio
|
||||
name: "Sonoff 4CH Relay 3"
|
||||
pin: GPIO4
|
||||
id: relay_3
|
||||
- platform: gpio
|
||||
name: "Sonoff 4CH Relay 4"
|
||||
pin: GPIO15
|
||||
id: relay_4
|
||||
|
||||
output:
|
||||
- platform: esp8266_pwm
|
||||
id: blue_led
|
||||
pin: GPIO13
|
||||
inverted: true
|
||||
|
||||
light:
|
||||
- platform: monochromatic
|
||||
name: "Sonoff 4CH Blue LED"
|
||||
output: blue_led
|
@ -1,276 +0,0 @@
|
||||
Using With Sonoff Basic
|
||||
=======================
|
||||
|
||||
.. seo::
|
||||
:description: Instructions for putting Sonoff basic devices into flash mode and installing ESPHome on them.
|
||||
:image: sonoff_basic.jpg
|
||||
|
||||
ESPHome can be used with Sonoff Basic. These devices are basically just
|
||||
an ESP8266 chip with a relay to control the connection, a small button on the
|
||||
front and a green LED light.
|
||||
|
||||
.. figure:: images/sonoff_basic-full.jpg
|
||||
:align: center
|
||||
:width: 75.0%
|
||||
|
||||
Sonoff Basic
|
||||
|
||||
This guide will not guide you through setting up your Sonoff Basic step-by-step. It just provide
|
||||
a sample configuration. For detailed instructions, see :doc:`sonoff_s20`, as those devices are
|
||||
pretty similar.
|
||||
|
||||
.. note::
|
||||
|
||||
If you've previously installed Sonoff-Tasmota or ESPurna on your Sonoff Basic, you're in luck 😀
|
||||
ESPHome can generate a firmware binary which you can then upload via the
|
||||
web interface.
|
||||
|
||||
Sample configuration
|
||||
--------------------
|
||||
|
||||
The Sonoff Basic is based on the ``ESP8266`` platform and is a subtype of the ``esp01_1m`` board.
|
||||
With this information, you can also step through the ESPHome wizard (``esphome sonoff_basic.yaml wizard``)
|
||||
if you don't want to use the sample configuration file from below.
|
||||
|
||||
Below you will find a table of all usable GPIO pins of the Sonoff Basic and a configuration file that
|
||||
exposes all of the basic functions.
|
||||
|
||||
================================================== ==================================================
|
||||
``GPIO0`` Button (inverted)
|
||||
-------------------------------------------------- --------------------------------------------------
|
||||
``GPIO1`` ``TX`` pin (C1 Pin 2)
|
||||
-------------------------------------------------- --------------------------------------------------
|
||||
``GPIO3`` ``RX`` pin (C1 Pin 3)
|
||||
-------------------------------------------------- --------------------------------------------------
|
||||
``GPIO12`` Relay
|
||||
-------------------------------------------------- --------------------------------------------------
|
||||
``GPIO13`` Green LED (inverted)
|
||||
-------------------------------------------------- --------------------------------------------------
|
||||
``GPIO14`` Optional Sensor (C1 Pin 5)
|
||||
================================================== ==================================================
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
esphome:
|
||||
name: <NAME_OF_NODE>
|
||||
|
||||
esp8266:
|
||||
board: esp8285
|
||||
|
||||
wifi:
|
||||
ssid: !secret wifi_ssid
|
||||
password: !secret wifi_password
|
||||
|
||||
api:
|
||||
|
||||
logger:
|
||||
|
||||
ota:
|
||||
|
||||
binary_sensor:
|
||||
- platform: gpio
|
||||
pin:
|
||||
number: GPIO0
|
||||
mode:
|
||||
input: true
|
||||
pullup: true
|
||||
inverted: true
|
||||
name: "Sonoff Basic Button"
|
||||
on_press:
|
||||
- switch.toggle: relay
|
||||
|
||||
switch:
|
||||
- platform: gpio
|
||||
name: "Sonoff Basic Relay"
|
||||
pin: GPIO12
|
||||
id: relay
|
||||
|
||||
status_led:
|
||||
pin:
|
||||
number: GPIO13
|
||||
inverted: yes
|
||||
|
||||
Now run ``esphome sonoff_basic.yaml compile`` to validate the configuration and
|
||||
pre-compile the firmware.
|
||||
|
||||
.. note::
|
||||
|
||||
After this step, you will be able to find the compiled binary under
|
||||
``<NAME_OF_NODE>/.pioenvs/<NAME_OF_NODE>/firmware.bin``. If you're having trouble with
|
||||
uploading, you can also try uploading this file directly with other tools.
|
||||
|
||||
Or run the upload command if your device is connected to the serial interface:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
esphome sonoff_basic.yaml run
|
||||
|
||||
More detailed breakdown
|
||||
-----------------------
|
||||
|
||||
1. Programming
|
||||
**************
|
||||
|
||||
Ensure you have soldered on the additional header pins to the PCB and connect your USB FTDI programmer.
|
||||
See https://randomnerdtutorials.com/how-to-flash-a-custom-firmware-to-sonoff/ for more details on the pinout and FTDI.
|
||||
|
||||
1.1. Put Sonoff into programming mode.
|
||||
**************************************
|
||||
|
||||
* Press and hold the toggle pin (long black pin next to LED and custom soldered pins).
|
||||
* Supply USB power to Sonoff via FTDI (e.g. plug in USB to the FTDI, or use a power switch as explained in link above).
|
||||
* Keep holding the toggle pin for approx 3-5 seconds now you should be ready to program.
|
||||
If you get a message unable to communicate when trying flash, check your TX/RX pin or retry entering boot mode again.
|
||||
|
||||
Quick notes:
|
||||
|
||||
* 3.3V setting on FTDI, 5V will cause damage.
|
||||
* Ensure the connections on the PCB starts at the closed to the toggle pin, it uses 4 pins, but 5 pins are soldered on.
|
||||
* TX and RX should be swapped - RX on Sonoff goes to TX on FTDI.
|
||||
|
||||
|
||||
1.2. Upload the firmware
|
||||
************************
|
||||
|
||||
Run this command from the same directory where your <my-awesome>.yaml file is located
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
esphome <my-awesome>.yaml run
|
||||
|
||||
Or if you're using the dashboard, just click the "UPLOAD" button.
|
||||
|
||||
You should get an output starting like this
|
||||
|
||||
.. code-block:: text
|
||||
|
||||
INFO Reading configuration...
|
||||
INFO Detected timezone 'SAST' with UTC offset 2
|
||||
INFO Generating C++ source...
|
||||
INFO Compiling app...
|
||||
INFO Running: platformio run -d fishpond
|
||||
********************************************************************************************************
|
||||
Obsolete PIO Core v3.6.3 is used (previous was 3.6.4b1)
|
||||
Please remove multiple PIO Cores from a system:
|
||||
https://docs.platformio.org/page/faq.html#multiple-pio-cores-in-a-system
|
||||
...
|
||||
lots of compile stuff
|
||||
...
|
||||
Memory Usage -> http://bit.ly/pio-memory-usage
|
||||
DATA: [====== ] 55.6% (used 45512 bytes from 81920 bytes)
|
||||
PROGRAM: [==== ] 38.1% (used 390576 bytes from 1023984 bytes)
|
||||
===================================== [SUCCESS] Took 4.70 seconds =====================================
|
||||
INFO Successfully compiled program.
|
||||
Found multiple options, please choose one:
|
||||
[1] /dev/ttyUSB0 (FT232R USB UART)
|
||||
[2] Over The Air (fishpond.device)
|
||||
(number): 1
|
||||
...
|
||||
esptool.py v2.6
|
||||
Serial port /dev/ttyUSB0
|
||||
Connecting....
|
||||
Chip is ESP8266EX
|
||||
Features: WiFi
|
||||
MAC: xx:xx:xx:xx:xx:xx
|
||||
Uploading stub...
|
||||
Running stub...
|
||||
Stub running...
|
||||
Configuring flash size...
|
||||
Auto-detected Flash size: 1MB
|
||||
Compressed 394720 bytes to 267991...
|
||||
Wrote 394720 bytes (267991 compressed) at 0x00000000 in 23.8 seconds (effective 132.7 kbit/s)...
|
||||
Hash of data verified.
|
||||
|
||||
Leaving...
|
||||
Hard resetting via RTS pin...
|
||||
INFO Successfully uploaded program.
|
||||
INFO Starting log output from /dev/ttyUSB0 with baud rate 115200
|
||||
|
||||
1.3. And then nothing will happen
|
||||
*********************************
|
||||
|
||||
Once you have flashed the device, nothing will happen. You need to power cycle the device.
|
||||
You will notice the LED will start to flash and then becomes solid once connected to the WiFi network.
|
||||
|
||||
You can follow the logs produced by the running module by running the command
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
esphome <my-awesome>.yaml logs
|
||||
|
||||
Your output will possibly look like this
|
||||
|
||||
.. code-block:: text
|
||||
|
||||
INFO Reading configuration...
|
||||
INFO Detected timezone 'SAST' with UTC offset 2
|
||||
INFO Starting log output from fishpond.device using ESPHome API
|
||||
INFO Connecting to fishpond.device:6053 (192.168.13.15)
|
||||
INFO Successfully connected to fishpond.device
|
||||
[11:13:27][D][time.homeassistant:029]: Synchronized time: Wed Jan 16 11:13:27 2019
|
||||
[11:13:27][I][application:097]: You're running ESPHome v1.10.1 compiled on Jan 16 2019, 08:12:59
|
||||
[11:13:27][C][status_led:023]: Status LED:
|
||||
[11:13:27][C][status_led:024]: Pin: GPIO13 (Mode: OUTPUT)
|
||||
[11:13:27][C][wifi:341]: WiFi:
|
||||
[11:13:27][C][wifi:240]: SSID: 'some-ssid'
|
||||
[11:13:27][C][wifi:241]: IP Address: 192.168.13.15
|
||||
[11:13:27][C][wifi:243]: BSSID: xx:xx:xx:xx:xx:xx
|
||||
[11:13:27][C][wifi:245]: Hostname: 'fishpond'
|
||||
[11:13:27][C][wifi:250]: Signal strength: -91 dB ▂▄▆█
|
||||
[11:13:27][C][wifi:251]: Channel: 1
|
||||
[11:13:27][C][wifi:252]: Subnet: 255.255.255.0
|
||||
[11:13:27][C][wifi:253]: Gateway: 192.168.13.1
|
||||
[11:13:27][C][wifi:254]: DNS1: 192.168.13.1
|
||||
[11:13:27][C][wifi:255]: DNS2: 0.0.0.0
|
||||
[11:13:27][C][binary_sensor.status:046]: Status Binary Sensor 'esp_fishpond_system_status'
|
||||
[11:13:27][C][binary_sensor.status:046]: Device Class: 'connectivity'
|
||||
[11:13:28][C][switch.gpio:049]: GPIO Switch 'esp_fishpond_gpio12'
|
||||
[11:13:28][C][switch.gpio:050]: Pin: GPIO12 (Mode: OUTPUT)
|
||||
[11:13:28][C][switch.gpio:066]: Restore Mode: Restore (Default to OFF)
|
||||
[11:13:28][C][binary_sensor.gpio:023]: GPIO Binary Sensor 'esp_fishpond_gpio0'
|
||||
[11:13:28][C][binary_sensor.gpio:024]: Pin: GPIO0 (Mode: INPUT, INVERTED)
|
||||
[11:13:28][C][binary_sensor.gpio:023]: GPIO Binary Sensor 'esp_fishpond_gpio14'
|
||||
[11:13:28][C][binary_sensor.gpio:024]: Pin: GPIO14 (Mode: INPUT_PULLUP)
|
||||
[11:13:28][C][output.esp8266_pwm:028]: ESP8266 PWM:
|
||||
[11:13:28][C][output.esp8266_pwm:029]: Pin: GPIO13 (Mode: OUTPUT)
|
||||
[11:13:28][C][output.esp8266_pwm:030]: Frequency: 1000.0 Hz
|
||||
[11:13:28][C][logger:099]: Logger:
|
||||
[11:13:28][C][logger:100]: Level: DEBUG
|
||||
[11:13:28][C][logger:101]: Log Baud Rate: 115200
|
||||
[11:13:28][C][light.state:266]: Light 'esp_fishpond_gpio13'
|
||||
[11:13:28][C][light.state:268]: Default Transition Length: 1000 ms
|
||||
[11:13:28][C][light.state:269]: Gamma Correct: 2.80
|
||||
[11:13:28][C][switch.restart:034]: Restart Switch 'esp_fishpond_system_restart'
|
||||
[11:13:28][C][switch.restart:034]: Icon: 'mdi:restart'
|
||||
[11:13:28][C][time.homeassistant:032]: Home Assistant Time:
|
||||
[11:13:28][C][time.homeassistant:033]: Timezone: 'SAST-2'
|
||||
[11:13:28][C][sensor.wifi_signal:042]: WiFi Signal 'esp_fishpond_system_wifi_signal'
|
||||
[11:13:28][C][sensor.wifi_signal:042]: Unit of Measurement: 'dB'
|
||||
[11:13:28](Message skipped because it was too big to fit in TCP buffer - This is only cosmetic)
|
||||
[11:13:28](Message skipped because it was too big to fit in TCP buffer - This is only cosmetic)
|
||||
[11:13:28][C][api:072]: API Server:
|
||||
[11:13:28][C][api:073]: Address: 192.168.13.15:6053
|
||||
[11:13:28][C][ota:129]: Over-The-Air Updates:
|
||||
[11:13:28][C][ota:130]: Address: 192.168.13.15:8266
|
||||
|
||||
|
||||
|
||||
1.4. Test now with OTA flashing
|
||||
*******************************
|
||||
|
||||
Before installing the Sonoff, do a final OTA test, and this time selecting the OTA option and NOT the USB option when reflashing.
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
esphome <my-awesome>.yaml run
|
||||
|
||||
Once these actions succeeded you are pretty much in the clear and can be sure your device is ready.
|
||||
|
||||
See Also
|
||||
--------
|
||||
|
||||
- :doc:`sonoff`
|
||||
- :doc:`sonoff_4ch`
|
||||
- :doc:`sonoff_s20`
|
||||
- `GPIO locations <https://github.com/arendst/Sonoff-Tasmota/wiki/GPIO-Locations>`__
|
||||
- `Edit this page on GitHub <https://github.com/OttoWinter/esphomedocs/blob/current/devices/sonoff_basic.rst>`__
|
@ -1,328 +0,0 @@
|
||||
Using With Sonoff S20
|
||||
=====================
|
||||
|
||||
.. seo::
|
||||
:description: Instructions for putting Sonoff S20 devices into flash mode and installing ESPHome on them.
|
||||
:image: sonoff_s20.jpg
|
||||
|
||||
ESPHome can also be used with Sonoff S20 smart sockets. These devices are
|
||||
basically just an ESP8266 chip with a relay to control the socket, a small button on the
|
||||
front and a blue and green LED light.
|
||||
|
||||
.. figure:: images/sonoff_s20_header.jpg
|
||||
:align: center
|
||||
:width: 75.0%
|
||||
|
||||
Sonoff S20 Smart Socket.
|
||||
|
||||
This guide will step you through setting up your Sonoff S20 and flashing the first ESPHome firmware
|
||||
with the serial interface. After that, you will be able to upload all future firmware with the remote
|
||||
Over-The-Air update process.
|
||||
|
||||
.. note::
|
||||
|
||||
If you've previously installed Sonoff-Tasmota on your Sonoff S20, you're in luck 😀.
|
||||
ESPHome can generate a firmware binary which you can then upload via the
|
||||
Tasmota web interface. To see how to create this binary, skip to :ref:`sonoff_s20-creating-firmware`.
|
||||
|
||||
Since firmware version 1.6.0, iTead (the creator of this device) has removed the ability to upload
|
||||
a custom firmware through their own upload process. Unfortunately, that means that the only way to
|
||||
flash the initial ESPHome firmware is by physically opening the device up and using the UART
|
||||
interface.
|
||||
|
||||
.. warning::
|
||||
|
||||
Opening up this device can be very dangerous if not done correctly. While the device is open,
|
||||
you will be a single touch away from being electrocuted if the device is plugged in.
|
||||
|
||||
So, during this *entire* guide **never ever** plug the device in. Also, you should only do this
|
||||
if you know what you're doing. If you, at any step, feel something is wrong or are uncomfortable
|
||||
with continuing, it's best to just stop for your own safety.
|
||||
|
||||
It's your own responsibility to make sure everything you do during this setup process is safe.
|
||||
|
||||
For this guide you will need:
|
||||
|
||||
- Sonoff S20 😉.
|
||||
- A USB to UART Bridge for flashing the device. These can be bought on Amazon (or other online stores) for less than 5 dollars.
|
||||
Note that the bridge *must* be 3.3V compatible. Otherwise you will destroy your S20.
|
||||
- A computer running Home Assistant with the ESPHome Home Assistant add-on.
|
||||
- A screwdriver to open up the S20.
|
||||
- A soldering iron and a few header pins to connect the UART interface.
|
||||
|
||||
Have everything? Great! Then you can start.
|
||||
|
||||
|
||||
Step 1: Opening up the Sonoff S20
|
||||
---------------------------------
|
||||
|
||||
The first step is to open up the Sonoff S20. Note that you do not have to run the original firmware
|
||||
supplied with the Sonoff S20 before doing this step.
|
||||
|
||||
.. warning::
|
||||
|
||||
Just to repeat this: Make **absolutely sure** the device is not connected to any appliance or
|
||||
plugged in before doing this step.
|
||||
|
||||
While the device is not plugged in, turn the back side so it's facing you and unscrew the three
|
||||
black screws that hold the case together.
|
||||
|
||||
.. figure:: images/sonoff_s20_screws.jpg
|
||||
:align: center
|
||||
:width: 60.0%
|
||||
|
||||
There are three screws on the back of the Sonoff S20.
|
||||
|
||||
After that, you should be able to remove the front cover and should be greeted by a bunch of parts.
|
||||
|
||||
.. figure:: images/sonoff_s20_parts.jpg
|
||||
:align: center
|
||||
:width: 75.0%
|
||||
|
||||
Step 2: Connecting UART
|
||||
-----------------------
|
||||
|
||||
We're interested in the main part of the S20 with the green PCB. On the bottom of the PCB, you will
|
||||
find four unpopulated holes. These pins expose the UART interface used to flash firmware onto the device
|
||||
and debug issues.
|
||||
|
||||
.. figure:: images/sonoff_s20_pcb.jpg
|
||||
:align: center
|
||||
|
||||
The UART interface of the Sonoff S20.
|
||||
|
||||
So, in order to flash our own custom firmware, we're going to need to somehow connect the UART to USB
|
||||
bridge to these pins. The only way to make a good connection here is by using a soldering iron and soldering
|
||||
on some pin headers. On older models of the Sonoff S20, you were able to get the whole PCB out. Newer versions,
|
||||
however, glue the PCB onto the case to avoid people flashing custom firmware. If the latter is the case,
|
||||
you will just need to solder the pin headers from above - it's a bit difficult, but possible.
|
||||
|
||||
When you're done, it should look something like this:
|
||||
|
||||
.. figure:: images/sonoff_s20_uart.jpg
|
||||
:align: center
|
||||
|
||||
Now go ahead and connect the pins to your UART bridge, making sure the S20 is not plugged in as before.
|
||||
Also beware that some UART to USB bridges supply 5V on the VCC pin if it's not explicitly labelled 3.3V.
|
||||
It's best to just use a multimeter and double check if it's unclear.
|
||||
|
||||
.. note::
|
||||
|
||||
On some older S20s, the ``RX`` and ``TX`` pins are swapped (sometimes even the written silkscreen is
|
||||
wrong). If your upload fails with an ``error: espcomm_upload_mem failed`` message it's most likely due
|
||||
to the pins being swapped. In that case, just swap ``RX`` and ``TX`` and try again - you won't break
|
||||
anything if they're swapped.
|
||||
|
||||
.. _sonoff_s20-creating-firmware:
|
||||
|
||||
Step 3: Creating Firmware
|
||||
-------------------------
|
||||
|
||||
The Sonoff S20 is based on the ``ESP8266`` platform and is a subtype of the ``esp01_1m`` board.
|
||||
With this information, you can step through the ESPHome wizard (``esphome sonoff_s20.yaml wizard``),
|
||||
or alternatively, you can just take the below configuration file and modify it to your needs.
|
||||
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
esphome:
|
||||
name: <NAME_OF_NODE>
|
||||
|
||||
esp8266:
|
||||
board: esp8285
|
||||
|
||||
wifi:
|
||||
ssid: !secret wifi_ssid
|
||||
password: !secret wifi_password
|
||||
|
||||
api:
|
||||
|
||||
logger:
|
||||
|
||||
ota:
|
||||
|
||||
Now run ``esphome sonoff_s20.yaml compile`` to validate the configuration and
|
||||
pre-compile the firmware.
|
||||
|
||||
.. note::
|
||||
|
||||
After this step, you will be able to find the compiled binary under
|
||||
``.esphome/builds/<NAME_OF_NODE>/.pioenvs/<NAME_OF_NODE>/firmware.bin``. If you're having trouble with
|
||||
uploading, you can also try uploading this file directly with other tools.
|
||||
|
||||
Step 4: Uploading Firmware
|
||||
--------------------------
|
||||
|
||||
In order to upload the firmware, you're first going to need to get the chip into a flash mode, otherwise
|
||||
the device will start up without accepting any firmware flash attempts. To do this, while the UART
|
||||
bridge is not connected to your USB port, press and hold the small push button in the middle of the PCB.
|
||||
Then plug the UART bridge into your computer and keep holding the button for 2-4 seconds.
|
||||
The S20 should now be in a flash mode and should not blink any LED.
|
||||
|
||||
Now you can finally run the upload command:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
esphome sonoff_s20.yaml run
|
||||
|
||||
If successful, you should see something like this:
|
||||
|
||||
.. figure:: images/sonoff_s20_upload.png
|
||||
:align: center
|
||||
|
||||
Hooray 🎉! You've now successfully uploaded the first ESPHome firmware to your Sonoff S20. And, in a moment,
|
||||
you will be able to use all of ESPHome's great features with your Sonoff S20.
|
||||
|
||||
If above step don't work, however, here are some steps that can help:
|
||||
|
||||
- Sometimes the UART bridge cannot supply enough current to the chip to operate. In this
|
||||
case use a 3.3V supply you have lying around. A nice hack is to use the power supply of
|
||||
NodeMCU boards. Simply connect 3.3V to VCC and GND to GND on the pins. **Do not attempt
|
||||
to plug the device into a socket to overcome this problem while troubleshooting.**
|
||||
- In other cases the ``TX`` and ``RX`` pin are reversed. Simple disconnect the device, swap
|
||||
the two pins and put it into flash mode again.
|
||||
|
||||
Step 5: Adding the Button, Relay and LEDs
|
||||
-----------------------------------------
|
||||
|
||||
Now we would like the S20 to actually do something, not just connect to WiFi and pretty much sit idle.
|
||||
|
||||
Below you will find a table of all usable GPIO pins of the S20 and a configuration file that exposes all
|
||||
of the basic functions.
|
||||
|
||||
======================================== ========================================
|
||||
``GPIO0`` Push Button (HIGH = off, LOW = on)
|
||||
---------------------------------------- ----------------------------------------
|
||||
``GPIO12`` Relay and its status LED
|
||||
---------------------------------------- ----------------------------------------
|
||||
``GPIO13`` Green LED (HIGH = off, LOW = on)
|
||||
---------------------------------------- ----------------------------------------
|
||||
``GPIO1`` ``RX`` pin (for external sensors)
|
||||
---------------------------------------- ----------------------------------------
|
||||
``GPIO3`` ``TX`` pin (for external sensors)
|
||||
---------------------------------------- ----------------------------------------
|
||||
``GPIO2`` ``E-LOG`` pin (From PCB V2.1; for external sensors)
|
||||
======================================== ========================================
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
esphome:
|
||||
name: <NAME_OF_NODE>
|
||||
|
||||
esp8266:
|
||||
board: esp01_1m
|
||||
|
||||
wifi:
|
||||
ssid: !secret wifi_ssid
|
||||
password: !secret wifi_password
|
||||
|
||||
api:
|
||||
|
||||
logger:
|
||||
|
||||
ota:
|
||||
|
||||
binary_sensor:
|
||||
- platform: gpio
|
||||
pin:
|
||||
number: GPIO0
|
||||
mode:
|
||||
input: true
|
||||
pullup: true
|
||||
inverted: true
|
||||
name: "Sonoff S20 Button"
|
||||
- platform: status
|
||||
name: "Sonoff S20 Status"
|
||||
- platform: gpio
|
||||
pin: GPIO2
|
||||
name: "Sonoff S20 Sensor"
|
||||
|
||||
|
||||
switch:
|
||||
- platform: gpio
|
||||
name: "Sonoff S20 Relay"
|
||||
pin: GPIO12
|
||||
|
||||
output:
|
||||
# Register the green LED as a dimmable output ....
|
||||
- platform: esp8266_pwm
|
||||
id: s20_green_led
|
||||
pin:
|
||||
number: GPIO13
|
||||
inverted: true
|
||||
|
||||
light:
|
||||
# ... and then make a light out of it.
|
||||
- platform: monochromatic
|
||||
name: "Sonoff S20 Green LED"
|
||||
output: s20_green_led
|
||||
|
||||
|
||||
The above example also showcases an important concept of ESPHome: IDs and linking. In order
|
||||
to make all components in ESPHome as "plug and play" as possible, you can use IDs to define
|
||||
them in one area, and simply pass that ID later on. For example, above you can see a PWM (dimmer)
|
||||
output being created with the ID ``s20_green_led`` for the green LED. Later on it is then transformed
|
||||
into a :doc:`monochromatic light </components/light/monochromatic>`.
|
||||
|
||||
And if you want the thing that's connected through the output of the S20 to appear as a light
|
||||
in Home Assistant, replace the last part with this:
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
switch:
|
||||
- platform: restart
|
||||
name: "Sonoff S20 Restart"
|
||||
|
||||
output:
|
||||
- platform: esp8266_pwm
|
||||
id: s20_green_led
|
||||
pin:
|
||||
number: GPIO13
|
||||
inverted: true
|
||||
# Note: do *not* make the relay a dimmable (PWM) signal, relays cannot handle that
|
||||
- platform: gpio
|
||||
id: s20_relay
|
||||
pin: GPIO12
|
||||
|
||||
light:
|
||||
- platform: monochromatic
|
||||
name: "Sonoff S20 Green LED"
|
||||
output: s20_green_led
|
||||
- platform: binary
|
||||
name: "Sonoff S20 Relay"
|
||||
output: s20_relay
|
||||
|
||||
To make pressing the button on the front toggle the relay, have a look at the `the complete Sonoff S20
|
||||
with automation example <https://github.com/OttoWinter/esphomedocs/blob/current/devices/sonoff_s20.yaml>`__.
|
||||
|
||||
.. figure:: images/sonoff_s20_result.png
|
||||
:align: center
|
||||
:width: 75.0%
|
||||
|
||||
Step 6: Finishing Up
|
||||
--------------------
|
||||
|
||||
Now you're pretty much done with setting up the Sonoff S20. The only steps left are to
|
||||
remove any cables that you added within the housing and make sure everything in there is clean. If, for
|
||||
example, you used wires to connect the UART console, you should definitely remove them to avoid
|
||||
a short with mains.
|
||||
|
||||
Sometimes the soldered-on header pins can also interfere with the button. It's best to remove the
|
||||
header pins again, as you will hopefully not need to use them again because of ESPHome's Over-The-Air
|
||||
Update features (+ the OTA safe mode; if your node reboots more than 10 times in a row, it will automatically
|
||||
enter an OTA-only safe mode).
|
||||
|
||||
If you're sure everything is done with the S20 and have double checked there's nothing that could cause a short
|
||||
in the case, you can put the front cover with the button on the base again and screw everything together.
|
||||
|
||||
Now triple- or even quadruple-check the UART bridge is not connected to the S20, then comes the time when you can
|
||||
plug it into the socket.
|
||||
|
||||
Happy hacking!
|
||||
|
||||
See Also
|
||||
--------
|
||||
|
||||
- :doc:`sonoff`
|
||||
- :doc:`sonoff_4ch`
|
||||
- :ghedit:`Edit`
|
@ -1,47 +0,0 @@
|
||||
esphome:
|
||||
name: <NAME_OF_NODE>
|
||||
|
||||
esp8266:
|
||||
board: esp8285
|
||||
|
||||
wifi:
|
||||
ssid: !secret wifi_ssid
|
||||
password: !secret wifi_password
|
||||
|
||||
api:
|
||||
|
||||
logger:
|
||||
|
||||
ota:
|
||||
|
||||
binary_sensor:
|
||||
- platform: gpio
|
||||
pin:
|
||||
number: GPIO0
|
||||
mode:
|
||||
input: true
|
||||
pullup: true
|
||||
inverted: true
|
||||
name: "Sonoff S20 Button"
|
||||
on_press:
|
||||
- switch.toggle: relay
|
||||
- platform: status
|
||||
name: "Sonoff S20 Status"
|
||||
|
||||
|
||||
switch:
|
||||
- platform: gpio
|
||||
name: "Sonoff S20 Relay"
|
||||
pin: GPIO12
|
||||
id: relay
|
||||
|
||||
output:
|
||||
- platform: esp8266_pwm
|
||||
id: s20_green_led
|
||||
pin: GPIO13
|
||||
inverted: true
|
||||
|
||||
light:
|
||||
- platform: monochromatic
|
||||
name: "Sonoff S20 Green LED"
|
||||
output: s20_green_led
|
@ -1,325 +0,0 @@
|
||||
Using With Sonoff T1 UK 3 Gang
|
||||
==============================
|
||||
|
||||
.. seo::
|
||||
:description: Instructions for putting Sonoff T1 UK 3 Gang devices into flash mode and installing ESPHome on them.
|
||||
:image: sonoff_t1_uk_3g_v1.1.jpg
|
||||
|
||||
ESPHome can also be used with Sonoff T1 UK 3 Gang wireless switches. These devices are
|
||||
basically just an ESP8266 chip with 3 relays to control power output and three backlit capacitive touch buttons to control the relays.
|
||||
|
||||
.. note::
|
||||
|
||||
This instruction is made for T1 UK with the touch board v1.1 which is trickier to get into flash mode
|
||||
than v1
|
||||
|
||||
.. figure:: images/sonoff_t1_uk_3g_v1.1.jpg
|
||||
:align: center
|
||||
:width: 75.0%
|
||||
|
||||
Sonoff T1 UK 3 Gang WiFi switch.
|
||||
|
||||
This guide will step you through setting up your Sonoff T1 UK 3 Gang and flashing the first ESPHome firmware
|
||||
with the serial interface. After that, you will be able to upload all future firmwares with the remote
|
||||
Over-The-Air update process.
|
||||
|
||||
.. note::
|
||||
|
||||
If you've previously installed Sonoff-Tasmota on your Sonoff T1 UK 3 Gang, you're in luck 😀
|
||||
ESPHome can generate a firmware binary which you can then upload via the
|
||||
Tasmota web interface. To see how to create this binary, skip to :ref:`sonoff_t1_uk_3g_v1.1-creating_firmware`.
|
||||
|
||||
Since firmware version 1.6.0, iTead (the creator of this device) has removed the ability to upload
|
||||
a custom firmware through their own upload process. Unfortunately, that means that the only way to
|
||||
flash the initial ESPHome firmware is by physically opening the device up and using the UART
|
||||
interface.
|
||||
|
||||
.. warning::
|
||||
|
||||
Opening up this device can be very dangerous if not done correctly. While the device is open,
|
||||
you will be a single touch away from being electrocuted if the device is plugged in.
|
||||
|
||||
So, during this *entire* guide **never ever** plug the device in. Also, you should only do this
|
||||
if you know what you're doing. If you, at any step, feel something is wrong or are uncomfortable
|
||||
with continuing, it's best to just stop for your own safety.
|
||||
|
||||
It's your own responsibility to make sure everything you do during this setup process is safe.
|
||||
|
||||
For this guide you will need:
|
||||
|
||||
- Sonoff T1 UK 3 Gang 😉
|
||||
- A USB to UART Bridge for flashing the device. These can be bought on Amazon for less than 5 dollars.
|
||||
Note that the bridge *must* be 3.3V compatible. Otherwise you will destroy your Sonoff.
|
||||
- Jumper wires to connect the UART bridge to the header pins and to connect GPIO0 to the Ground.
|
||||
- Computer running ESPHome or Home Assistant add-on.
|
||||
- Screwdriver to open up the Sonoff T1 UK 3 Gang.
|
||||
|
||||
Have everything? Great! Then you can start.
|
||||
|
||||
|
||||
Step 1: Opening up the Sonoff T1 UK 3 Gang
|
||||
------------------------------------------
|
||||
|
||||
The first step is to open up the Sonoff T1 UK 3 Gang. Note that you do not have to run the original firmware
|
||||
supplied with the Sonoff T1 UK 3 Gang before doing this step.
|
||||
|
||||
.. warning::
|
||||
|
||||
Just to repeat this: Make **absolutely sure** the device is not connected to any appliance or
|
||||
plugged in before doing this step.
|
||||
|
||||
While the device is not plugged in, turn the device face down and put a narrow flat screwdriver into the slot at the bottom.
|
||||
With careful twisting motion detach the faceplate.
|
||||
|
||||
.. figure:: images/sonoff_t1_uk_3g_back_v1.1.jpg
|
||||
:align: center
|
||||
:width: 60.0%
|
||||
|
||||
Careful twisting motion.
|
||||
|
||||
After that, use the same screwdriver to carefully lift the top PCB off of the switch.
|
||||
This PCB contains the ESP chip and what's left inside the switch body are relays.
|
||||
|
||||
.. figure:: images/sonoff_t1_uk_3g_plate_off_v1.1.jpg
|
||||
:align: center
|
||||
:width: 75.0%
|
||||
|
||||
"TOUCH BOARD" with touchpads holds the ESP chip.
|
||||
|
||||
Step 2: Connecting UART
|
||||
-----------------------
|
||||
|
||||
Now we need our computer to somehow establish a data connection to the board. For this we will
|
||||
have to connect the four wires on the UART to USB bridge to the UART pins of the Sonoff T1 v1.1.
|
||||
|
||||
Fortunately for us, these pins on the ESP controller have dedicated solder pads on the PCB. You can identify
|
||||
these by the ``VCC33``, ``RX``, ``TX`` and ``GND`` markings on the silk-screen.
|
||||
|
||||
Now go ahead and connect these pins to your UART to USB bridge as seen in below image. Make sure
|
||||
that you connect these correctly, especially the ``VCC33`` and ``GND`` parts as you can otherwise
|
||||
destroy the chip.
|
||||
|
||||
``VCC33`` should be connected to the ``3V3`` (**not** 5V) pin of the UART bridge, ``GND`` to ``GND``
|
||||
and the same with ``RX``/``TX``.
|
||||
|
||||
There's no need for soldering - for quick job like one time firmware flashing you can just hold pins in respective holes by hand
|
||||
provided **you are not touching any live contacts**, only the wires.
|
||||
|
||||
.. note::
|
||||
|
||||
On some older T1 UK 3 Gangs, the ``RX`` and ``TX`` pins are swapped (sometimes even the written silkscreen is
|
||||
wrong). If your upload fails with an ``error: espcomm_upload_mem failed`` message it's most likely due
|
||||
to the pins being swapped. In that case, just swap ``RX`` and ``TX`` and try again - you won't break
|
||||
anything if they're swapped.
|
||||
|
||||
.. _sonoff_t1_uk_3g_v1.1-creating_firmware:
|
||||
|
||||
Step 3: Creating Firmware
|
||||
-------------------------
|
||||
|
||||
The Sonoff T1 UK 3 Gang is based on the ``ESP8266`` platform (technically it's the ``ESP8285``, but for our purposes
|
||||
they're the same) and is a subtype of the ``esp01_1m`` board.
|
||||
With this information, you can step through the ESPHome wizard (``esphome sonoff_t1_uk_3g_v1.1.yaml wizard``),
|
||||
or alternatively, you can just take the below configuration file and modify it to your needs.
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
esphome:
|
||||
name: <NAME_OF_NODE>
|
||||
|
||||
esp8266:
|
||||
board: esp8285
|
||||
|
||||
wifi:
|
||||
ssid: !secret wifi_ssid
|
||||
password: !secret wifi_password
|
||||
|
||||
api:
|
||||
|
||||
logger:
|
||||
|
||||
ota:
|
||||
|
||||
Now run ``esphome sonoff_t1_uk_3g_v1.1.yaml compile`` to validate the configuration and
|
||||
pre-compile the firmware.
|
||||
|
||||
.. note::
|
||||
|
||||
After this step, you will be able to find the compiled binary under
|
||||
``<NAME_OF_NODE>/.pioenvs/<NAME_OF_NODE>/firmware.bin``. If you're having trouble with
|
||||
uploading, you can also try uploading this file directly with other tools.
|
||||
|
||||
Step 4: Uploading Firmware
|
||||
--------------------------
|
||||
|
||||
In order to upload the firmware, you're first going to need to get the chip into a flash mode, otherwise
|
||||
the device will start up without accepting any firmware flash attempts.
|
||||
To put ESP8266 into flash mode you need to connect ``GPIO0`` to ``GND`` when the device is powering up.
|
||||
|
||||
This is a tricky process with T1 and the best way to do it is to use a wire with pins on either side.
|
||||
To do this, while the device is UART bridge is not connected to your USB port, flip the PCB over,
|
||||
take a wire and connect the second Ground hole on the PCB (red) to the third from the right bottom leg on the chip as depicted below (yellow) -
|
||||
that leg is connected to the ``GPIO0`` on ESP and plug the UART to your USB port.
|
||||
|
||||
Keep holding ``GND`` and ``GPIO0`` connected for 2-4 seconds. The T1 UK 3 Gang should now be in a flash mode and should not blink with any LED.
|
||||
The touchpads may light up.
|
||||
|
||||
.. figure:: images/sonoff_t1_uk_3g_backplate_v1.1.jpg
|
||||
:align: center
|
||||
|
||||
Connect red and yellow contacts while powering the board.
|
||||
|
||||
Now you can finally run the upload command:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
esphome sonoff_t1_uk_3g_v1.1.yaml run
|
||||
|
||||
If successful, you should see something like this:
|
||||
|
||||
.. figure:: images/sonoff_4ch_upload.png
|
||||
:align: center
|
||||
|
||||
Hooray 🎉! You've now successfully uploaded the first ESPHome firmware to your Sonoff T1 UK 3 Gang. And in a moment,
|
||||
you will be able to use all of ESPHome's great features with your Sonoff T1 UK 3 Gang. Now you can put your T1 back together and fire up.
|
||||
|
||||
.. note::
|
||||
|
||||
While now your T1 will start up and connect to your WiFi network if you power it up from UART it will not behave normally,
|
||||
it may flash random LEDs, turn on and off touchpads' backlight and not react on touching touchpads. This will all be fixed once you re-assemble your T1
|
||||
and power it up from the mains power once safe to do so.
|
||||
|
||||
If above step does, however, not work, here are some steps that can help:
|
||||
|
||||
- Sometimes the UART bridge cannot supply enough current to the chip to operate, in this
|
||||
case use a 3.3V supply you have lying around. A nice hack is to use the power supply of
|
||||
NodeMCU boards. Simply connect the NodeMCU's 3.3V to VCC and GND to GND. **Do not attempt
|
||||
to plug the device into a socket to overcome this problem while troubleshooting.**
|
||||
- In other cases the ``TX`` and ``RX`` pin are reversed. Simple disconnect the device, swap
|
||||
the two pins and put it into flash mode again.
|
||||
|
||||
Step 5: Adding the Button, Relay and LEDs
|
||||
-----------------------------------------
|
||||
|
||||
Now we would like the T1 UK 3 Gang to actually do something, not just connect to WiFi and pretty much sit idle.
|
||||
|
||||
Below you will find a table of all usable GPIO pins of the Sonoff T1 UK 3 Gang and a configuration file that exposes all
|
||||
of the basic functions.
|
||||
|
||||
======================================== =========================================
|
||||
``GPIO0`` Touchpad #1 (inverted)
|
||||
---------------------------------------- -----------------------------------------
|
||||
``GPIO9`` Touchpad #2 (inverted)
|
||||
---------------------------------------- -----------------------------------------
|
||||
``GPIO10`` Touchpad #3 (inverted)
|
||||
---------------------------------------- -----------------------------------------
|
||||
``GPIO12`` Relay #1 and Touchpad #1 backlight
|
||||
---------------------------------------- -----------------------------------------
|
||||
``GPIO5`` Relay #2 and Touchpad #2 backlight
|
||||
---------------------------------------- -----------------------------------------
|
||||
``GPIO4`` Relay #3 and Touchpad #3 backlight
|
||||
---------------------------------------- -----------------------------------------
|
||||
``GPIO13`` Blue LED (inverted)
|
||||
---------------------------------------- -----------------------------------------
|
||||
``GPIO1`` ``RX`` pin (for external sensors)
|
||||
---------------------------------------- -----------------------------------------
|
||||
``GPIO3`` ``TX`` pin (for external sensors)
|
||||
======================================== =========================================
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
esphome:
|
||||
name: <NAME_OF_NODE>
|
||||
|
||||
esp8266:
|
||||
board: esp01_1m
|
||||
|
||||
wifi:
|
||||
ssid: !secret wifi_ssid
|
||||
password: !secret wifi_password
|
||||
|
||||
api:
|
||||
|
||||
logger:
|
||||
|
||||
ota:
|
||||
|
||||
binary_sensor:
|
||||
- platform: gpio
|
||||
pin:
|
||||
number: GPIO0
|
||||
mode:
|
||||
input: true
|
||||
pullup: true
|
||||
inverted: true
|
||||
name: "Sonoff T1 UK 3 Gang Touchpad 1"
|
||||
- platform: gpio
|
||||
pin:
|
||||
number: GPIO9
|
||||
mode:
|
||||
input: true
|
||||
pullup: true
|
||||
inverted: true
|
||||
name: "Sonoff T1 UK 3 Gang Touchpad 2"
|
||||
- platform: gpio
|
||||
pin:
|
||||
number: GPIO10
|
||||
mode:
|
||||
input: true
|
||||
pullup: true
|
||||
inverted: true
|
||||
name: "Sonoff T1 UK 3 Gang Touchpad 3"
|
||||
- platform: status
|
||||
name: "Sonoff T1 UK 3 Gang Status"
|
||||
|
||||
switch:
|
||||
- platform: gpio
|
||||
name: "Sonoff T1 UK 3 Gang Relay 1"
|
||||
pin: GPIO12
|
||||
- platform: gpio
|
||||
name: "Sonoff T1 UK 3 Gang Relay 2"
|
||||
pin: GPIO5
|
||||
- platform: gpio
|
||||
name: "Sonoff T1 UK 3 Gang Relay 3"
|
||||
pin: GPIO4
|
||||
|
||||
output:
|
||||
# Register the blue LED as a dimmable output ....
|
||||
- platform: esp8266_pwm
|
||||
id: blue_led
|
||||
pin: GPIO13
|
||||
inverted: true
|
||||
|
||||
light:
|
||||
# ... and then make a light out of it.
|
||||
- platform: monochromatic
|
||||
name: "Sonoff T1 UK 3 Gang Blue LED"
|
||||
output: blue_led
|
||||
|
||||
|
||||
Above example also showcases an important concept of ESPHome: IDs and linking. In order
|
||||
to make all components in ESPHome as "plug and play" as possible, you can use IDs to define
|
||||
them in one area, and simply pass that ID later on. For example, above you can see a PWM (dimmer)
|
||||
output being created with the ID ``blue_led`` for the blue LED. Later on it is then transformed
|
||||
into a :doc:`monochromatic light </components/light/monochromatic>`.
|
||||
If you additionally want the buttons to control the relays, look at `the complete Sonoff T1 UK 3 Gang
|
||||
with automation example <https://github.com/esphome/esphome-docs/blob/current/devices/sonoff_t1_uk_3gang_v1.1.yaml>`__.
|
||||
|
||||
Step 6: Finishing Up
|
||||
--------------------
|
||||
|
||||
If you're sure everything is done with the T1 UK 3 Gang and have double checked there's nothing that could cause a short
|
||||
in the case, you can put the T1 back together.
|
||||
|
||||
Now triple- or even quadruple-check the UART bridge is not connected to the T1 UK 3 Gang, then comes the time when you can
|
||||
connect it.
|
||||
|
||||
Happy hacking!
|
||||
|
||||
See Also
|
||||
--------
|
||||
|
||||
- :doc:`sonoff`
|
||||
- :doc:`sonoff_4ch`
|
||||
- :doc:`sonoff_s20`
|
||||
- :ghedit:`Edit`
|
@ -1,86 +0,0 @@
|
||||
esphome:
|
||||
name: <NAME_OF_NODE>
|
||||
|
||||
# Automation turning on the blue status LED once T1 is booted up
|
||||
on_boot:
|
||||
priority: -10
|
||||
then:
|
||||
- light.turn_on: blue_led_light
|
||||
|
||||
esp8266:
|
||||
board: esp01_1m
|
||||
|
||||
wifi:
|
||||
ssid: !secret wifi_ssid
|
||||
password: !secret wifi_password
|
||||
|
||||
# Enable logging
|
||||
logger:
|
||||
|
||||
# Enable Home Assistant API
|
||||
api:
|
||||
|
||||
ota:
|
||||
|
||||
binary_sensor:
|
||||
- platform: gpio
|
||||
pin:
|
||||
number: GPIO0
|
||||
mode:
|
||||
input: true
|
||||
pullup: true
|
||||
inverted: true
|
||||
name: "Sonoff T1 UK 3 Gang Touchpad 1"
|
||||
on_press:
|
||||
- switch.toggle: relay_1
|
||||
- platform: gpio
|
||||
pin:
|
||||
number: GPIO9
|
||||
mode:
|
||||
input: true
|
||||
pullup: true
|
||||
inverted: true
|
||||
name: "Sonoff T1 UK 3 Gang Touchpad 2"
|
||||
on_press:
|
||||
- switch.toggle: relay_2
|
||||
- platform: gpio
|
||||
pin:
|
||||
number: GPIO10
|
||||
mode:
|
||||
input: true
|
||||
pullup: true
|
||||
inverted: true
|
||||
name: "Sonoff T1 UK 3 Gang Touchpad 3"
|
||||
on_press:
|
||||
- switch.toggle: relay_3
|
||||
- platform: status
|
||||
name: "Sonoff T1 UK 3 Gang Status"
|
||||
|
||||
switch:
|
||||
- platform: gpio
|
||||
name: "Sonoff T1 UK 3 Gang Relay 1"
|
||||
pin: GPIO12
|
||||
id: relay_1
|
||||
- platform: gpio
|
||||
name: "Sonoff T1 UK 3 Gang Relay 2"
|
||||
pin: GPIO5
|
||||
id: relay_2
|
||||
- platform: gpio
|
||||
name: "Sonoff T1 UK 3 Gang Relay 3"
|
||||
pin: GPIO4
|
||||
id: relay_3
|
||||
|
||||
output:
|
||||
# Register the blue LED as a dimmable output ....
|
||||
- platform: esp8266_pwm
|
||||
id: blue_led
|
||||
pin: GPIO13
|
||||
inverted: true
|
||||
|
||||
light:
|
||||
# ... and then make a light out of it.
|
||||
- platform: monochromatic
|
||||
name: "Sonoff T1 UK 3 Gang Blue LED"
|
||||
output: blue_led
|
||||
internal: true
|
||||
id: blue_led_light
|
@ -1,329 +0,0 @@
|
||||
Using With Sonoff T3 EU 3 Gang
|
||||
=====================================
|
||||
|
||||
.. seo::
|
||||
:description: Instructions for putting Sonoff T3 EU 3C devices into flash mode and installing ESPHome on them.
|
||||
:image: sonoff_t3_eu_3g_v1.0.jpg
|
||||
|
||||
ESPHome can also be used with Sonoff T3 EU 1/2/3 Gang wireless switches. These devices are
|
||||
basically just an ESP8266 chip with up to 3 relays to control power output and three backlit capacitive touch buttons to control the relays.
|
||||
|
||||
.. figure:: images/sonoff_t3_eu_3g_v1.0.jpg
|
||||
:align: center
|
||||
:width: 75.0%
|
||||
|
||||
Sonoff T3 EU 3 Gang WiFi switch.
|
||||
|
||||
This guide will step you through setting up your Sonoff T3 EU 3 Gang and flashing the first ESPHome firmware
|
||||
with the serial interface. This should also work for the T1 EU 3 Gang and T2 EU 3 Gang with PCB version ``T1EU TOUCH V1.0`` from 2018.
|
||||
After that, you will be able to upload all future firmware updates with the remote
|
||||
Over-The-Air update process.
|
||||
|
||||
.. note::
|
||||
|
||||
If you've previously installed Sonoff-Tasmota on your Sonoff T3 EU 3 Gang, you're in luck 😀
|
||||
ESPHome can generate a firmware binary which you can then upload via the
|
||||
Tasmota web interface. To see how to create this binary, skip to :ref:`sonoff_t3_eu_3g_v1.0-creating_firmware`.
|
||||
|
||||
Since firmware version 1.6.0, iTead (the creator of this device) has removed the ability to upload
|
||||
a custom firmware through their own upload process. Unfortunately, that means that the only way to
|
||||
flash the initial ESPHome firmware is by physically opening the device up and using the UART
|
||||
interface.
|
||||
|
||||
.. warning::
|
||||
|
||||
Opening up this device can be very dangerous if not done correctly. While the device is open,
|
||||
you will be a single touch away from being electrocuted if the device is plugged in.
|
||||
|
||||
So, during this *entire* guide **never ever** plug the device in. Also, you should only do this
|
||||
if you know what you're doing. If you, at any step, feel something is wrong or are uncomfortable
|
||||
with continuing, it's best to just stop for your own safety.
|
||||
|
||||
It's your own responsibility to make sure everything you do during this setup process is safe.
|
||||
|
||||
For this guide you will need:
|
||||
|
||||
- Sonoff T3 EU 3 Gang 😉
|
||||
- A USB to UART Bridge for flashing the device. These can be bought on Amazon for less than 5 dollars.
|
||||
Note that the bridge *must* be 3.3V compatible. Otherwise you will destroy your Sonoff.
|
||||
- Jumper wires to connect the UART bridge to the header pins and to connect GPIO0 to the Ground.
|
||||
- Computer running ESPHome or the Home Assistant ESPHome add-on.
|
||||
- Screwdriver to open up the Sonoff T3 EU 3 Gang.
|
||||
|
||||
Have everything? Great! Then you can start.
|
||||
|
||||
|
||||
Step 1: Opening up the Sonoff T3 EU 3 Gang
|
||||
------------------------------------------
|
||||
|
||||
The first step is to open up the Sonoff T3 EU 3 Gang. Note that you do not have to run the original firmware
|
||||
supplied with the Sonoff T3 EU 3 Gang before doing this step.
|
||||
|
||||
.. warning::
|
||||
|
||||
Just to repeat this: Make **absolutely sure** the device is not connected to any appliance or
|
||||
plugged in before doing this step.
|
||||
|
||||
While the device is not plugged in, turn the device face down and put a narrow flat screwdriver into the slot at the bottom.
|
||||
With careful twisting motion detach the faceplate.
|
||||
|
||||
.. figure:: images/sonoff_t3_eu_3g_back_v1.0.jpg
|
||||
:align: center
|
||||
:width: 60.0%
|
||||
|
||||
Careful twisting motion.
|
||||
|
||||
After that, use the same screwdriver to carefully lift the top PCB off of the switch.
|
||||
This PCB contains the ESP chip and what's left inside the switch body are relays.
|
||||
|
||||
.. figure:: images/sonoff_t3_eu_3g_plate_off_v1.0.jpg
|
||||
:align: center
|
||||
:width: 60.0%
|
||||
|
||||
"TOUCH BOARD" with touchpads holds the ESP chip.
|
||||
|
||||
Step 2: Connecting UART
|
||||
-----------------------
|
||||
|
||||
Now we need our computer to somehow establish a data connection to the board. For this we will
|
||||
have to connect the four wires on the UART to USB bridge to the UART pins of the Sonoff T3 v1.0.
|
||||
|
||||
Fortunately for us, these pins on the ESP controller have dedicated solder pads on the PCB (``J3``). You can identify
|
||||
these by the ``VCC33``, ``RX``, ``TX`` and ``GND`` markings on the silk-screen.
|
||||
|
||||
Now go ahead and connect these pins to your UART to USB bridge as seen in below image. Make sure
|
||||
that you connect these correctly, especially the ``VCC33`` and ``GND`` parts as you can otherwise
|
||||
destroy the chip.
|
||||
|
||||
``VCC33`` should be connected to the ``3V3`` (**not** 5V) pin of the UART bridge, ``GND`` to ``GND``
|
||||
and the same with ``RX``/``TX``.
|
||||
|
||||
There's no need for soldering - for quick job like one time firmware flashing you can just hold pins in respective holes by hand
|
||||
provided **you are not touching any live contacts**, only the wires.
|
||||
|
||||
.. figure:: images/sonoff_t3_eu_3g_touchpads_v1.0.jpg
|
||||
:align: center
|
||||
:width: 75.0%
|
||||
|
||||
The Resistors ``R19``, ``R20`` and ``R21`` expose ``GPIO0``, ``GPIO9`` and ``GPIO10`` respectively.
|
||||
|
||||
.. figure:: images/sonoff_t3_eu_3g_backplate_v1.0.jpg
|
||||
:align: center
|
||||
:width: 75.0%
|
||||
|
||||
Backside also exposes ``GPIO2``.
|
||||
|
||||
.. note::
|
||||
|
||||
If your upload fails with an ``error: espcomm_upload_mem failed`` message it's most likely due
|
||||
to the pins being swapped. In that case, just swap ``RX`` and ``TX`` and try again - you won't break
|
||||
anything if they're swapped.
|
||||
|
||||
.. _sonoff_t3_eu_3g_v1.0-creating_firmware:
|
||||
|
||||
Step 3: Creating Firmware
|
||||
-------------------------
|
||||
|
||||
The Sonoff T3 EU 3 Gang is based on the ``ESP8266`` platform (technically it's the ``ESP8285``, but for our purposes
|
||||
they're the same) and is a subtype of the ``esp01_1m`` board.
|
||||
With this information, you can step through the ESPHome wizard (``esphome sonoff_t3_us_3gang_v1.0.yaml wizard``),
|
||||
or alternatively, you can just take the below configuration file and modify it to your needs.
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
esphome:
|
||||
name: <NAME_OF_NODE>
|
||||
|
||||
esp8266:
|
||||
board: esp8285
|
||||
|
||||
wifi:
|
||||
ssid: !secret wifi_ssid
|
||||
password: !secret wifi_password
|
||||
|
||||
api:
|
||||
|
||||
logger:
|
||||
|
||||
ota:
|
||||
|
||||
Now run ``esphome sonoff_t3_us_3gang_v1.0.yaml compile`` to validate the configuration and
|
||||
pre-compile the firmware.
|
||||
|
||||
.. note::
|
||||
|
||||
After this step, you will be able to find the compiled binary under
|
||||
``<NAME_OF_NODE>/.pioenvs/<NAME_OF_NODE>/firmware.bin``. If you're having trouble with
|
||||
uploading, you can also try uploading this file directly with other tools.
|
||||
|
||||
Step 4: Uploading Firmware
|
||||
--------------------------
|
||||
|
||||
In order to upload the firmware, you're first going to need to get the chip into a flash mode, otherwise
|
||||
the device will start up without accepting any firmware flash attempts.
|
||||
To put ESP8266 into flash mode you need to connect ``GPIO0`` to ``GND`` when the device is powering up.
|
||||
|
||||
This is a tricky process with T3 and the best is to hold the ground wire to the right side of the ``R19`` Resistor which is connected to ``GPIO0``.
|
||||
Keep holding ``GND`` and ``GPIO0`` connected for 2-4 seconds. The T3 EU 3 Gang should now be in a flash mode and should not blink with any LED.
|
||||
The touchpads may light up.
|
||||
|
||||
.. figure:: images/sonoff_t3_eu_3g_uart_v1.0.jpg
|
||||
:align: center
|
||||
:width: 75.0%
|
||||
|
||||
Connect ``GND`` to ``R19`` right contact while powering the board.
|
||||
|
||||
Now you can finally run the upload command:
|
||||
|
||||
.. code-block:: bash
|
||||
|
||||
esphome sonoff_t3_us_3gang_v1.0.yaml run
|
||||
|
||||
If successful, you should see something like this:
|
||||
|
||||
.. figure:: images/sonoff_4ch_upload.png
|
||||
:align: center
|
||||
|
||||
Hooray 🎉! You've now successfully uploaded the first ESPHome firmware to your Sonoff T3 EU 3 Gang. And in a moment,
|
||||
you will be able to use all of ESPHome's great features with your Sonoff T3 EU 3 Gang. Now you can put your T3 back together and fire up.
|
||||
|
||||
.. note::
|
||||
|
||||
While now your T3 will start up and connect to your WiFi network if you power it up from UART it will not behave normally,
|
||||
it may flash random LEDs, turn on and off touchpads' backlight and not react on touching touchpads. This will all be fixed once you re-assemble your T3
|
||||
and power it up from the mains power once safe to do so.
|
||||
|
||||
If above step does, however, not work, here are some steps that can help:
|
||||
|
||||
- Sometimes the UART bridge cannot supply enough current to the chip to operate, in this
|
||||
case use a 3.3V supply you have lying around. A nice hack is to use the power supply of
|
||||
NodeMCU boards. Simply connect the NodeMCU's 3.3V to VCC and GND to GND. **Do not attempt
|
||||
to plug the device into a socket to overcome this problem while troubleshooting.**
|
||||
- In other cases the ``TX`` and ``RX`` pin are reversed. Simple disconnect the device, swap
|
||||
the two pins and put it into flash mode again.
|
||||
|
||||
Step 5: Adding the Button, Relay and LEDs
|
||||
-----------------------------------------
|
||||
|
||||
Now we would like the T3 EU 3 Gang to actually do something, not just connect to WiFi and pretty much sit idle.
|
||||
|
||||
Below you will find a table of all usable GPIO pins of the Sonoff T3 EU 3 Gang and a configuration file that exposes all
|
||||
of the basic functions.
|
||||
|
||||
======================================== =========================================
|
||||
``GPIO0`` Touchpad #1 (inverted)
|
||||
---------------------------------------- -----------------------------------------
|
||||
``GPIO9`` Touchpad #2 (inverted)
|
||||
---------------------------------------- -----------------------------------------
|
||||
``GPIO10`` Touchpad #3 (inverted)
|
||||
---------------------------------------- -----------------------------------------
|
||||
``GPIO12`` Relay #1 and Touchpad #1 backlight
|
||||
---------------------------------------- -----------------------------------------
|
||||
``GPIO5`` Relay #2 and Touchpad #2 backlight
|
||||
---------------------------------------- -----------------------------------------
|
||||
``GPIO4`` Relay #3 and Touchpad #3 backlight
|
||||
---------------------------------------- -----------------------------------------
|
||||
``GPIO13`` Blue LED (inverted)
|
||||
---------------------------------------- -----------------------------------------
|
||||
``GPIO1`` ``RX`` pin (for external sensors)
|
||||
---------------------------------------- -----------------------------------------
|
||||
``GPIO3`` ``TX`` pin (for external sensors)
|
||||
======================================== =========================================
|
||||
|
||||
.. code-block:: yaml
|
||||
|
||||
esphome:
|
||||
name: <NAME_OF_NODE>
|
||||
|
||||
esp8266:
|
||||
board: esp01_1m
|
||||
|
||||
wifi:
|
||||
ssid: !secret wifi_ssid
|
||||
password: !secret wifi_password
|
||||
|
||||
api:
|
||||
|
||||
logger:
|
||||
|
||||
ota:
|
||||
|
||||
binary_sensor:
|
||||
- platform: gpio
|
||||
pin:
|
||||
number: GPIO0
|
||||
mode:
|
||||
input: true
|
||||
pullup: true
|
||||
inverted: true
|
||||
name: "Sonoff T3 EU 3 Gang Touchpad 1"
|
||||
- platform: gpio
|
||||
pin:
|
||||
number: GPIO9
|
||||
mode:
|
||||
input: true
|
||||
pullup: true
|
||||
inverted: true
|
||||
name: "Sonoff T3 EU 3 Gang Touchpad 2"
|
||||
- platform: gpio
|
||||
pin:
|
||||
number: GPIO10
|
||||
mode:
|
||||
input: true
|
||||
pullup: true
|
||||
inverted: true
|
||||
name: "Sonoff T3 EU 3 Gang Touchpad 3"
|
||||
- platform: status
|
||||
name: "Sonoff T3 EU 3 Gang Status"
|
||||
|
||||
switch:
|
||||
- platform: gpio
|
||||
name: "Sonoff T3 EU 3 Gang Relay 1"
|
||||
pin: GPIO12
|
||||
- platform: gpio
|
||||
name: "Sonoff T3 EU 3 Gang Relay 2"
|
||||
pin: GPIO5
|
||||
- platform: gpio
|
||||
name: "Sonoff T3 EU 3 Gang Relay 3"
|
||||
pin: GPIO4
|
||||
|
||||
output:
|
||||
# Register the blue LED as a dimmable output ....
|
||||
- platform: esp8266_pwm
|
||||
id: blue_led
|
||||
pin: GPIO13
|
||||
inverted: true
|
||||
|
||||
light:
|
||||
# ... and then make a light out of it.
|
||||
- platform: monochromatic
|
||||
name: "Sonoff T3 EU 3 Gang Blue LED"
|
||||
output: blue_led
|
||||
|
||||
|
||||
Above example also showcases an important concept of ESPHome: IDs and linking. In order
|
||||
to make all components in ESPHome as "plug and play" as possible, you can use IDs to define
|
||||
them in one area, and simply pass that ID later on. For example, above you can see a PWM (dimmer)
|
||||
output being created with the ID ``blue_led`` for the blue LED. Later on it is then transformed
|
||||
into a :doc:`monochromatic light </components/light/monochromatic>`.
|
||||
If you additionally want the buttons to control the relays, look at `the complete Sonoff T3 EU 3 Gang
|
||||
with automation example <https://github.com/esphome/esphomedocs/blob/current/devices/sonoff_t3_eu_3gang_v1.0.yaml>`__.
|
||||
|
||||
Step 6: Finishing Up
|
||||
--------------------
|
||||
|
||||
If you're sure everything is done with the T3 EU 3 Gang and have double checked there's nothing that could cause a short
|
||||
in the case, you can put the T3 back together.
|
||||
|
||||
Now triple- or even quadruple-check the UART bridge is not connected to the T3 EU 3 Gang, then comes the time when you can
|
||||
connect it.
|
||||
|
||||
Happy hacking!
|
||||
|
||||
See Also
|
||||
--------
|
||||
|
||||
- :doc:`sonoff`
|
||||
- :doc:`sonoff_4ch`
|
||||
- :doc:`sonoff_s20`
|
||||
- :ghedit:`Edit`
|
@ -1,86 +0,0 @@
|
||||
esphome:
|
||||
name: <NAME_OF_NODE>
|
||||
|
||||
# Automation turning on the blue status LED once T3 is booted up
|
||||
on_boot:
|
||||
priority: -10
|
||||
then:
|
||||
- light.turn_on: blue_led_light
|
||||
|
||||
esp8266:
|
||||
board: esp01_1m
|
||||
|
||||
wifi:
|
||||
ssid: !secret wifi_ssid
|
||||
password: !secret wifi_password
|
||||
|
||||
# Enable logging
|
||||
logger:
|
||||
|
||||
# Enable Home Assistant API
|
||||
api:
|
||||
|
||||
ota:
|
||||
|
||||
binary_sensor:
|
||||
- platform: gpio
|
||||
pin:
|
||||
number: GPIO0
|
||||
mode:
|
||||
input: true
|
||||
pullup: true
|
||||
inverted: true
|
||||
name: "Sonoff T3 EU 3 Gang Touchpad 1"
|
||||
on_press:
|
||||
- switch.toggle: relay_1
|
||||
- platform: gpio
|
||||
pin:
|
||||
number: GPIO9
|
||||
mode:
|
||||
input: true
|
||||
pullup: true
|
||||
inverted: true
|
||||
name: "Sonoff T3 EU 3 Gang Touchpad 2"
|
||||
on_press:
|
||||
- switch.toggle: relay_2
|
||||
- platform: gpio
|
||||
pin:
|
||||
number: GPIO10
|
||||
mode:
|
||||
input: true
|
||||
pullup: true
|
||||
inverted: true
|
||||
name: "Sonoff T3 EU 3 Gang Touchpad 3"
|
||||
on_press:
|
||||
- switch.toggle: relay_3
|
||||
- platform: status
|
||||
name: "Sonoff T3 EU 3 Gang Status"
|
||||
|
||||
switch:
|
||||
- platform: gpio
|
||||
name: "Sonoff T3 EU 3 Gang Relay 1"
|
||||
pin: GPIO12
|
||||
id: relay_1
|
||||
- platform: gpio
|
||||
name: "Sonoff T3 EU 3 Gang Relay 2"
|
||||
pin: GPIO5
|
||||
id: relay_2
|
||||
- platform: gpio
|
||||
name: "Sonoff T3 EU 3 Gang Relay 3"
|
||||
pin: GPIO4
|
||||
id: relay_3
|
||||
|
||||
output:
|
||||
# Register the blue LED as a dimmable output ....
|
||||
- platform: esp8266_pwm
|
||||
id: blue_led
|
||||
pin: GPIO13
|
||||
inverted: true
|
||||
|
||||
light:
|
||||
# ... and then make a light out of it.
|
||||
- platform: monochromatic
|
||||
name: "Sonoff T3 EU 3 Gang Blue LED"
|
||||
output: blue_led
|
||||
internal: true
|
||||
id: blue_led_light
|
@ -1,71 +0,0 @@
|
||||
esphome:
|
||||
name: '<NODE_NAME>'
|
||||
|
||||
esp8266:
|
||||
board: esp01_1m
|
||||
|
||||
wifi:
|
||||
ssid: !secret wifi_ssid
|
||||
password: !secret wifi_password
|
||||
|
||||
logger:
|
||||
# Disable UART logging (pins GPIO1/3 are used for button/led)
|
||||
baud_rate: 0
|
||||
|
||||
# Enable Home Assistant API
|
||||
api:
|
||||
|
||||
ota:
|
||||
|
||||
binary_sensor:
|
||||
- platform: gpio
|
||||
name: "Teckin Button"
|
||||
pin:
|
||||
number: GPIO1
|
||||
mode:
|
||||
input: true
|
||||
pullup: true
|
||||
inverted: true
|
||||
on_press:
|
||||
- switch.toggle: relay
|
||||
|
||||
switch:
|
||||
- platform: gpio
|
||||
id: blue_led
|
||||
pin:
|
||||
number: GPIO13
|
||||
inverted: true
|
||||
- platform: gpio
|
||||
name: "Teckin Relay"
|
||||
pin: GPIO14
|
||||
id: relay
|
||||
on_turn_on:
|
||||
- switch.turn_on: blue_led
|
||||
on_turn_off:
|
||||
- switch.turn_off: blue_led
|
||||
|
||||
# Use red LED for connectivity status indicator
|
||||
status_led:
|
||||
pin:
|
||||
number: GPIO3
|
||||
inverted: true
|
||||
|
||||
sensor:
|
||||
- platform: hlw8012
|
||||
sel_pin:
|
||||
number: GPIO12
|
||||
inverted: true
|
||||
cf_pin: GPIO04
|
||||
cf1_pin: GPIO05
|
||||
# Higher value gives lower watt readout
|
||||
current_resistor: 0.00221
|
||||
# Lower value gives lower voltage readout
|
||||
voltage_divider: 871
|
||||
current:
|
||||
name: "Teckin Current"
|
||||
accuracy_decimals: 2
|
||||
voltage:
|
||||
name: "Teckin Voltage"
|
||||
power:
|
||||
name: "Teckin Power"
|
||||
update_interval: 15s
|
@ -1,92 +0,0 @@
|
||||
# Example ESPHome code to emulate stock firmware functionality while maintaining 100%
|
||||
# local control through Home Assistant.
|
||||
|
||||
substitutions:
|
||||
device_name: '<NODE_NAME>' # used internally.. e.g. teckin_sp20
|
||||
friendly_name: '<Node Name>' # displayed in HA.. e.g. Teckin SP20
|
||||
|
||||
esphome:
|
||||
name: ${device_name}
|
||||
|
||||
esp8266:
|
||||
board: esp01_1m
|
||||
|
||||
wifi:
|
||||
ssid: !secret wifi_ssid
|
||||
password: !secret wifi_password
|
||||
|
||||
# Enable Logs from the device
|
||||
logger:
|
||||
|
||||
# Enable Home Assistant API
|
||||
api:
|
||||
|
||||
# Enable Over-The-Air updates
|
||||
ota:
|
||||
|
||||
sensor:
|
||||
# Power measuring sensor
|
||||
- platform: hlw8012
|
||||
sel_pin:
|
||||
number: GPIO12
|
||||
inverted: true
|
||||
cf_pin: GPIO5
|
||||
cf1_pin: GPIO14
|
||||
current:
|
||||
name: ${friendly_name} Current
|
||||
power:
|
||||
name: ${friendly_name} Power
|
||||
id: power
|
||||
filters:
|
||||
# Some calibration
|
||||
- multiply: 0.4545
|
||||
voltage:
|
||||
name: ${friendly_name} Voltage
|
||||
current_resistor: 0.001 # default 0.001
|
||||
voltage_divider: 910 # default 2351
|
||||
change_mode_every: 3 # default 8
|
||||
update_interval: 3s # default 60s
|
||||
|
||||
# Sum power readings over the day
|
||||
- platform: total_daily_energy
|
||||
name: ${friendly_name} Total Daily Energy
|
||||
power_id: power
|
||||
filters:
|
||||
- multiply: 0.001 # convert Wh to kWh
|
||||
unit_of_measurement: kWh
|
||||
|
||||
# Enable getting local time for total daily energy calculation
|
||||
time:
|
||||
- platform: homeassistant
|
||||
id: homeassistant_time
|
||||
|
||||
status_led:
|
||||
pin:
|
||||
number: GPIO0 # Red LED
|
||||
inverted: true
|
||||
|
||||
binary_sensor:
|
||||
- platform: gpio
|
||||
pin: GPIO13
|
||||
id: button
|
||||
name: ${friendly_name} Button
|
||||
on_press:
|
||||
- switch.toggle: relay
|
||||
internal: true
|
||||
|
||||
switch:
|
||||
- platform: gpio
|
||||
id: blue_led
|
||||
pin:
|
||||
number: GPIO2
|
||||
inverted: true
|
||||
|
||||
- platform: gpio
|
||||
pin: GPIO4
|
||||
id: relay
|
||||
name: ${friendly_name}
|
||||
# Tie Blue LED to relay
|
||||
on_turn_on:
|
||||
- switch.turn_on: blue_led
|
||||
on_turn_off:
|
||||
- switch.turn_off: blue_led
|
@ -361,7 +361,7 @@ And a docker compose file looks like this:
|
||||
.. _docker-reference-notes:
|
||||
.. note::
|
||||
|
||||
By default ESPHome uses mDNS to show online/offline state in the dashboard view. So for that feature to work you need to enable host networking mode.
|
||||
By default ESPHome uses mDNS to show online/offline state in the dashboard view. So for that feature to work you need to enable host networking mode.
|
||||
|
||||
On MacOS the networking mode ("-net=host" option) doesn't work as expected. You have to use
|
||||
another way to launch the dashboard with a port mapping option and use alternative to mDNS
|
||||
@ -451,6 +451,13 @@ Note that this only works for Pull Requests that only change files within compon
|
||||
``esphome/components/`` are added or changed, this method unfortunately doesn't work. Those Pull Requests are labeled
|
||||
with the "core" label on GitHub.
|
||||
|
||||
Why do entities show as Unavailable during deep sleep?
|
||||
------------------------------------------------------
|
||||
|
||||
The :doc:`Deep Sleep </components/deep_sleep>` component needs to be present within the config when the device
|
||||
is first added to Home Assistant. To prevent entities from appearing as Unavailable, you can remove and re-add the
|
||||
device in Home Assistant.
|
||||
|
||||
See Also
|
||||
--------
|
||||
|
||||
|
@ -558,21 +558,17 @@ Contributors
|
||||
- `Granville Barker (@granvillebarker) <https://github.com/granvillebarker>`__
|
||||
- `Antoine GRÉA (@grea09) <https://github.com/grea09>`__
|
||||
- `Greg Arnold (@GregJArnold) <https://github.com/GregJArnold>`__
|
||||
- `Greg MacLellan (@gregmac) <https://github.com/gregmac>`__
|
||||
- `Gil Peeters (@grillp) <https://github.com/grillp>`__
|
||||
- `Guillaume Rischard (@grischard) <https://github.com/grischard>`__
|
||||
- `George (@grob6000) <https://github.com/grob6000>`__
|
||||
- `groovejumper (@groovejumper) <https://github.com/groovejumper>`__
|
||||
- `gsexton (@gsexton) <https://github.com/gsexton>`__
|
||||
- `Gabriel Sieben (@gsieben) <https://github.com/gsieben>`__
|
||||
- `Guillaume DELVIT (@guiguid) <https://github.com/guiguid>`__
|
||||
- `guillempages (@guillempages) <https://github.com/guillempages>`__
|
||||
- `Fabian Pflug (@gumulka) <https://github.com/gumulka>`__
|
||||
- `Guyohms (@Guyohms) <https://github.com/Guyohms>`__
|
||||
- `Gilles van den Hoven (@gvdhoven) <https://github.com/gvdhoven>`__
|
||||
- `h0jeZvgoxFepBQ2C (@h0jeZvgoxFepBQ2C) <https://github.com/h0jeZvgoxFepBQ2C>`__
|
||||
- `h3ndrik (@h3ndrik) <https://github.com/h3ndrik>`__
|
||||
- `H3 (@H3wastooshort) <https://github.com/H3wastooshort>`__
|
||||
- `Andi (@h4de5) <https://github.com/h4de5>`__
|
||||
- `haade (@haade-administrator) <https://github.com/haade-administrator>`__
|
||||
- `Peter van Dijk (@Habbie) <https://github.com/Habbie>`__
|
||||
@ -583,7 +579,6 @@ Contributors
|
||||
- `Gavin Mogan (@halkeye) <https://github.com/halkeye>`__
|
||||
- `Charles (@hallard) <https://github.com/hallard>`__
|
||||
- `Aniket (@HandyHat) <https://github.com/HandyHat>`__
|
||||
- `Harrison Jones (@harrisonhjones) <https://github.com/harrisonhjones>`__
|
||||
- `Charles Thompson (@haryadoon) <https://github.com/haryadoon>`__
|
||||
- `Ha Thach (@hathach) <https://github.com/hathach>`__
|
||||
- `Cong Hoang Nguyen (@HcNguyen111) <https://github.com/HcNguyen111>`__
|
||||
@ -593,13 +588,10 @@ Contributors
|
||||
- `Jimmy Hedman (@HeMan) <https://github.com/HeMan>`__
|
||||
- `Hemi03 (@Hemi03) <https://github.com/Hemi03>`__
|
||||
- `HengYongChao (@HengYongChao) <https://github.com/HengYongChao>`__
|
||||
- `HepoH3 (@HepoH3) <https://github.com/HepoH3>`__
|
||||
- `Hermann Kraus (@herm) <https://github.com/herm>`__
|
||||
- `Herr Frei (@herrfrei) <https://github.com/herrfrei>`__
|
||||
- `highground88 (@highground88) <https://github.com/highground88>`__
|
||||
- `hindenbugbite (@hindenbugbite) <https://github.com/hindenbugbite>`__
|
||||
- `Henrik Fransson (@hmfhmf) <https://github.com/hmfhmf>`__
|
||||
- `Hamish Moffatt (@hmoffatt) <https://github.com/hmoffatt>`__
|
||||
- `Hobby Components (@HobbyComponents) <https://github.com/HobbyComponents>`__
|
||||
- `Hopperpop (@Hopperpop) <https://github.com/Hopperpop>`__
|
||||
- `Ilia Sotnikov (@hostcc) <https://github.com/hostcc>`__
|
||||
@ -653,6 +645,7 @@ Contributors
|
||||
- `Jason-nz (@Jason-nz) <https://github.com/Jason-nz>`__
|
||||
- `Jason2866 (@Jason2866) <https://github.com/Jason2866>`__
|
||||
- `Jas Strong (@jasstrong) <https://github.com/jasstrong>`__
|
||||
- `Alex Boyd (@javawizard) <https://github.com/javawizard>`__
|
||||
- `Jay Greco (@jaygreco) <https://github.com/jaygreco>`__
|
||||
- `Jay Newstrom (@JayNewstrom) <https://github.com/JayNewstrom>`__
|
||||
- `Jeff (@jazzmonger) <https://github.com/jazzmonger>`__
|
||||
@ -1241,6 +1234,7 @@ Contributors
|
||||
- `tomlut (@tomlut) <https://github.com/tomlut>`__
|
||||
- `tomle (@tomole444) <https://github.com/tomole444>`__
|
||||
- `Tom Price (@tomtom5152) <https://github.com/tomtom5152>`__
|
||||
- `Anthony Bourguignon (@Toniob) <https://github.com/Toniob>`__
|
||||
- `David Kiliani (@torfbolt) <https://github.com/torfbolt>`__
|
||||
- `Aleksandra M (@tort32) <https://github.com/tort32>`__
|
||||
- `tracestep (@tracestep) <https://github.com/tracestep>`__
|
||||
@ -1329,4 +1323,4 @@ Contributors
|
||||
- `Zsolt Zsiros (@ZsZs73) <https://github.com/ZsZs73>`__
|
||||
- `Christian Zufferey (@zuzu59) <https://github.com/zuzu59>`__
|
||||
|
||||
*This page was last updated February 21, 2024.*
|
||||
*This page was last updated February 26, 2024.*
|
||||
|