8#ifdef USE_BINARY_SENSOR
24namespace packet_transport {
39#ifdef USE_BINARY_SENSOR
49 void setup()
override;
64#ifdef USE_BINARY_SENSOR
82 provider.
name = hostname;
85 this->
remote_sensors_[hostname] = std::map<std::string, sensor::Sensor *>();
87#ifdef USE_BINARY_SENSOR
98 this->
providers_[name].encryption_key = std::move(key);
104 virtual void send_packet(
const std::vector<uint8_t> &buf)
const = 0;
109 void process_(
const std::vector<uint8_t> &data);
112 void add_data_(uint8_t key,
const char *
id,
float data);
113 void add_data_(uint8_t key,
const char *
id, uint32_t data);
136#ifdef USE_BINARY_SENSOR
147 void add_key_(
const char *name, uint32_t key);
This class simplifies creating components that periodically check a state.
Base class for all binary_sensor-type classes.
std::vector< uint8_t > data_
void add_provider(const char *hostname)
void set_provider_encryption(const char *name, std::vector< uint8_t > key)
const char * platform_name_
std::vector< Sensor > sensors_
void add_remote_binary_sensor(const char *hostname, const char *remote_id, binary_sensor::BinarySensor *sensor)
void add_data_(uint8_t key, const char *id, float data)
uint32_t rolling_code_[2]
std::map< std::string, std::map< std::string, binary_sensor::BinarySensor * > > remote_binary_sensors_
std::vector< BinarySensor > binary_sensors_
void send_data_(bool all)
void set_ping_pong_recycle_time(uint32_t recycle_time)
void add_key_(const char *name, uint32_t key)
void process_(const std::vector< uint8_t > &data)
Process a received packet.
void send_ping_pong_request_()
void set_platform_name(const char *name)
void add_remote_sensor(const char *hostname, const char *remote_id, sensor::Sensor *sensor)
void set_rolling_code_enable(bool enable)
ESPPreferenceObject pref_
std::vector< uint8_t > ping_header_
std::map< std::string, std::map< std::string, sensor::Sensor * > > remote_sensors_
virtual bool should_send()
void add_binary_data_(uint8_t key, const char *id, bool data)
std::map< const char *, uint32_t > ping_keys_
void set_encryption_key(std::vector< uint8_t > key)
virtual void send_packet(const std::vector< uint8_t > &buf) const =0
void set_ping_pong_enable(bool enable)
virtual size_t get_max_packet_size()=0
void dump_config() override
std::map< std::string, Provider > providers_
std::vector< uint8_t > header_
void add_binary_sensor(const char *id, binary_sensor::BinarySensor *sensor)
void add_sensor(const char *id, sensor::Sensor *sensor)
std::vector< uint8_t > encryption_key_
uint32_t ping_pong_recyle_time_
bool rolling_code_enable_
Base-class for all sensors.
Providing packet encoding functions for exchanging data with a remote host.
T id(T value)
Helper function to make id(var) known from lambdas work in custom components.
binary_sensor::BinarySensor * sensor
std::vector< uint8_t > encryption_key