ESPHome-Devices/components/tuya_dimmer_as_fan
Chris Nussbaum adc77d67d9
Energy monitoring fixes (#17)
* Fix energy monitoring for feit dimmers

* More energy reporting fixes/updates

* More energy monitoring updates

* Include missed readme update

* Final power monitoring updates

Co-authored-by: Chris Nussbaum <chris.nussbaum@protolabs.com>
2021-08-17 21:55:21 -05:00
..
__init__.py Rewrite the Tuya dimmer as fan component (#11) 2021-07-13 07:55:29 -05:00
fan.py Energy monitoring fixes (#17) 2021-08-17 21:55:21 -05:00
README.md Energy monitoring fixes (#17) 2021-08-17 21:55:21 -05:00
tuya_dimmer_as_fan.cpp Energy monitoring fixes (#17) 2021-08-17 21:55:21 -05:00
tuya_dimmer_as_fan.h Energy monitoring fixes (#17) 2021-08-17 21:55:21 -05:00

Tuya Dimmer as Fan Component

Overview

This a modified version of the Tuya fan component I use with Feit Dimmers (but it will likely work with other Tuya dimmers) to control bathroom fans. Changes from the standard Tuya fan component include the following:

  • Remove options for speed, oscillation, and direction as they don't apply.
  • Always change the "brightness" back to the maximum value effectively making this only an on/off device.
  • Can add a sensor to report current power usage based on a configured wattage of the fan(s) it controls.

Setup

Using the External Components feature in ESPHome you can add this component to your devices directly from my GitHub repo. Note currently this component requires pulling in my custom version of the Tuya component as well to prevent communication issues between the ESP8266 and the Tuya MCU.

external_components:
  - source: github://nuttytree/esphome
    components: [ tuya, tuya_dimmer_as_fan ]

Like the standard Tuya fan component you need to have the UART and Tuya components.

uart:
  rx_pin: GPIO3
  tx_pin: GPIO1
  baud_rate: 9600

tuya:

Add and configure the Tuya Dimmer as Fan component

fan:
  - platform: tuya_dimmer_as_fan
    name: my_fan
    switch_datapoint: 1
    dimmer_datapoint: 2
    dimmer_max_value: 1000
    power:
      id: my_fan_power
      name: My Fan Power
      fan_wattage: 21.6
      update_interval: 60s

Configuration Variables (In addition to the standard variables)

  • dimmer_datapoint (Required, int): The datapoint id number of the dimmer value.
  • dimmer_max_value (Optional, int, default 255): The highest dimmer value allowed.
  • power.id (Optional, string) Manually specify the power sensor ID used for code generation.
  • power.name (Optional, string) The name for the power sensor.
  • power.fan_wattage (Optional, float) The total wattage of the fan(s) controled by this dimmer.
  • power.update_interval (Optional, Time, default: 60s) Amount of time between updates of the power value while on.