ESPHome 2026.11.0-dev
Loading...
Searching...
No Matches
tuya_fan.h
Go to the documentation of this file.
1#pragma once
2
6
7namespace esphome::tuya {
8
9class TuyaFan final : public Component, public fan::Fan {
10 public:
11 TuyaFan(Tuya *parent, int speed_count) : parent_(parent), speed_count_(speed_count) {}
12 void setup() override;
13 void dump_config() override;
14 void set_speed_id(uint8_t speed_id) { this->speed_id_ = speed_id; }
15 void set_switch_id(uint8_t switch_id) { this->switch_id_ = switch_id; }
16 void set_oscillation_id(uint8_t oscillation_id) { this->oscillation_id_ = oscillation_id; }
17 void set_direction_id(uint8_t direction_id) { this->direction_id_ = direction_id; }
18 void set_optimistic(bool optimistic) { this->optimistic_ = optimistic; }
19
20 fan::FanTraits get_traits() override;
21
22 protected:
23 void set_boolean_(uint8_t datapoint_id, bool value);
24 void set_enum_(uint8_t datapoint_id, uint8_t value);
25 void set_integer_(uint8_t datapoint_id, uint32_t value);
26
27 void control(const fan::FanCall &call) override;
28
30 optional<uint8_t> speed_id_{};
31 optional<uint8_t> switch_id_{};
32 optional<uint8_t> oscillation_id_{};
33 optional<uint8_t> direction_id_{};
37 bool optimistic_{false};
38};
39
40} // namespace esphome::tuya
optional< uint8_t > speed_id_
Definition tuya_fan.h:30
void set_optimistic(bool optimistic)
Definition tuya_fan.h:18
void dump_config() override
Definition tuya_fan.cpp:64
TuyaDatapointType speed_type_
Definition tuya_fan.h:35
fan::FanTraits get_traits() override
Definition tuya_fan.cpp:84
void setup() override
Definition tuya_fan.cpp:8
void set_speed_id(uint8_t speed_id)
Definition tuya_fan.h:14
void set_oscillation_id(uint8_t oscillation_id)
Definition tuya_fan.h:16
optional< uint8_t > oscillation_id_
Definition tuya_fan.h:32
optional< uint8_t > switch_id_
Definition tuya_fan.h:31
TuyaFan(Tuya *parent, int speed_count)
Definition tuya_fan.h:11
optional< uint8_t > direction_id_
Definition tuya_fan.h:33
TuyaDatapointType oscillation_type_
Definition tuya_fan.h:36
void control(const fan::FanCall &call) override
Definition tuya_fan.cpp:115
void set_enum_(uint8_t datapoint_id, uint8_t value)
Definition tuya_fan.cpp:99
void set_integer_(uint8_t datapoint_id, uint32_t value)
Definition tuya_fan.cpp:107
void set_direction_id(uint8_t direction_id)
Definition tuya_fan.h:17
void set_switch_id(uint8_t switch_id)
Definition tuya_fan.h:15
void set_boolean_(uint8_t datapoint_id, bool value)
Definition tuya_fan.cpp:91
TuyaDatapointType
Definition tuya.h:19
static void uint32_t