esphome-docs/cookbook/h801.rst
2020-12-21 13:55:44 +13:00

127 lines
3.4 KiB
ReStructuredText

H801 RGBW LED controller
========================
The H801 is pretty affordable and easy to hack and adapt to your needs. It can be found on `AliExpress <https://s.click.aliexpress.com/e/bbnUDBZW>`__
`Here <http://tinkerman.cat/closer-look-h801-led-wifi-controller/>`__ is an article about the
hardware for those who have an interest for more details about the board.
It can be used as a RGB, RGBW, RGB dual white or even control 5 individual monochromatic strips if you want or combinations of these.
.. figure:: images/h801.jpg
:align: center
:width: 80.0%
For ESPHome, you can then use the :doc:`RGBW </components/light/rgbw>`
and the :doc:`ESP8266 Software PWM output </components/output/esp8266_pwm>` components using below configuration:
.. code-block:: yaml
esphome:
name: h801light
platform: ESP8266
board: esp01_1m
wifi:
ssid: 'WIFI'
password: 'WIFIPASS'
manual_ip:
static_ip: x.x.x.x
gateway: x.x.x.x
subnet: 255.255.255.0
logger:
api:
ota:
sensor:
- platform: wifi_signal
name: "WiFi Signal h801light"
update_interval: 60s
#RGBWarm
output:
- platform: esp8266_pwm
pin: 12
frequency: 1000 Hz
id: pwm_b
- platform: esp8266_pwm
pin: 13
frequency: 1000 Hz
id: pwm_g
- platform: esp8266_pwm
pin: 15
frequency: 1000 Hz
id: pwm_r
- platform: esp8266_pwm
pin: 14
frequency: 1000 Hz
id: pwm_w
light:
- platform: rgbw
name: "H801 Light"
red: pwm_r
green: pwm_g
blue: pwm_b
white: pwm_w
Make your node in the ESPHome dashboard and compile/upload it.
(if it fails OTA it must be uploaded manually with your favorite ESP flasher,
e.g. :ref:`esphome-flasher <esphome-flasher>`)
.. figure:: images/gpio.jpg
:align: center
:width: 80.0%
Front side of board with pins soldered on
.. figure:: images/back.jpg
:align: center
:width: 80.0%
Back side of the board (don't melt the blue and red wire when soldering)
.. figure:: images/rgbwarm.jpg
:align: center
:width: 80.0%
This LED strip can be used with the sketch as-is
.. figure:: images/rgbw.jpg
:align: center
:width: 80.0%
For this type of led strip you have to swap the white and blue GPIO numbers in the sketch.
You will need to solder pins to the board inside the H801 (fortunately it's pretty roomy and
not a lot of components or stuff in the way apart from the 2 wires on the back).
3.3V, GND, TX and RX (RX to RX and TX to TX) needs to be connected to your serial adapter, the
two other pins must be shorted throughout the flashing process by a jumper or a breadboard cable.
(Remember to remove it after flashing)
Add A PIR(Motion) Sensor
------------------------
It's possible to use the header that was soldered on for flashing as an input.
The example below uses the TX pin as a PIR motion sensor input:
.. figure:: images/h801-pir_sensor.jpg
:align: center
:width: 80.0%
H801 shown with PIR connected to header pins
The following can be appended to the YAML file for your H801 to configure the TX pin as a motion
sensor input.
.. code-block:: yaml
binary_sensor:
- platform: gpio
pin: GPIO3
name: "GPIO3-TX Motion"
device_class: motion
See Also
--------
- :doc:`/components/light/rgbw`
- :doc:`/components/output/esp8266_pwm`
- :ghedit:`Edit`