91 void setup()
override;
125 void handle_command_(uint8_t command, uint8_t version,
const uint8_t *buffer,
size_t len);
131 uint8_t
length,
bool forced);
The RealTimeClock class exposes common timekeeping functions via the device's local real-time clock.
void add_on_initialized_callback(std::function< void()> callback)
void send_datapoint_command_(uint8_t datapoint_id, TuyaDatapointType datapoint_type, std::vector< uint8_t > data)
void set_status_pin(InternalGPIOPin *status_pin)
void add_ignore_mcu_update_on_datapoints(uint8_t ignore_mcu_update_on_datapoints)
void set_time_id(time::RealTimeClock *time_id)
void set_string_datapoint_value(uint8_t datapoint_id, const std::string &value)
optional< TuyaDatapoint > get_datapoint_(uint8_t datapoint_id)
void send_empty_command_(TuyaCommandType command)
uint8_t get_wifi_status_code_()
void dump_config() override
time::RealTimeClock * time_id_
CallbackManager< void()> initialized_callback_
void set_boolean_datapoint_value(uint8_t datapoint_id, bool value)
TuyaInitState init_state_
float get_setup_priority() const override
void set_raw_datapoint_value_(uint8_t datapoint_id, const std::vector< uint8_t > &value, bool forced)
InternalGPIOPin * status_pin_
void force_set_raw_datapoint_value(uint8_t datapoint_id, const std::vector< uint8_t > &value)
uint8_t protocol_version_
void set_string_datapoint_value_(uint8_t datapoint_id, const std::string &value, bool forced)
void force_set_integer_datapoint_value(uint8_t datapoint_id, uint32_t value)
uint32_t last_rx_char_timestamp_
void process_command_queue_()
uint32_t last_command_timestamp_
std::vector< TuyaDatapointListener > listeners_
std::vector< TuyaCommand > command_queue_
std::vector< TuyaDatapoint > datapoints_
std::vector< uint8_t > ignore_mcu_update_on_datapoints_
std::vector< uint8_t > rx_message_
void handle_command_(uint8_t command, uint8_t version, const uint8_t *buffer, size_t len)
void set_enum_datapoint_value(uint8_t datapoint_id, uint8_t value)
void set_numeric_datapoint_value_(uint8_t datapoint_id, TuyaDatapointType datapoint_type, uint32_t value, uint8_t length, bool forced)
TuyaInitState get_init_state()
void register_listener(uint8_t datapoint_id, const std::function< void(TuyaDatapoint)> &func)
void handle_char_(uint8_t c)
void force_set_bitmask_datapoint_value(uint8_t datapoint_id, uint32_t value, uint8_t length)
void handle_datapoints_(const uint8_t *buffer, size_t len)
void send_command_(const TuyaCommand &command)
void force_set_boolean_datapoint_value(uint8_t datapoint_id, bool value)
void set_raw_datapoint_value(uint8_t datapoint_id, const std::vector< uint8_t > &value)
optional< TuyaCommandType > expected_response_
void send_raw_command_(TuyaCommand command)
void force_set_enum_datapoint_value(uint8_t datapoint_id, uint8_t value)
void force_set_string_datapoint_value(uint8_t datapoint_id, const std::string &value)
bool time_sync_callback_registered_
void set_bitmask_datapoint_value(uint8_t datapoint_id, uint32_t value, uint8_t length)
void set_integer_datapoint_value(uint8_t datapoint_id, uint32_t value)
const float LATE
For components that should be initialized at the very end of the setup process.
TuyaExtendedServicesCommandType
Providing packet encoding functions for exchanging data with a remote host.
std::vector< uint8_t > payload
std::vector< uint8_t > value_raw
std::function< void(TuyaDatapoint)> on_datapoint