ESPHome 2026.8.1
Loading...
Searching...
No Matches
thermopro_ble.h
Go to the documentation of this file.
1#pragma once
2
6
8
9struct ParseResult {
10 optional<float> temperature;
11 optional<float> external_temperature;
12 optional<float> humidity;
13 optional<float> battery_level;
14};
15
16using DeviceParser = optional<ParseResult> (*)(const uint8_t *data, std::size_t data_size);
17
19 public:
20 void set_address(uint64_t address) { this->address_ = address; };
21
22 bool parse_device(const ble_device_base::ESPBTDevice &device) override;
23 void dump_config() override;
24 void set_signal_strength(sensor::Sensor *signal_strength) { this->signal_strength_ = signal_strength; }
26 void set_external_temperature(sensor::Sensor *external_temperature) {
27 this->external_temperature_ = external_temperature;
28 }
29 void set_humidity(sensor::Sensor *humidity) { this->humidity_ = humidity; }
30 void set_battery_level(sensor::Sensor *battery_level) { this->battery_level_ = battery_level; }
31
32 protected:
33 uint64_t address_;
34 std::string device_name_;
41
42 void update_device_type_(StringRef device_name);
43};
44
45} // namespace esphome::thermopro_ble
uint8_t address
Definition bl0906.h:4
StringRef is a reference to a string owned by something else.
Definition string_ref.h:26
Base-class for all sensors.
Definition sensor.h:47
void set_external_temperature(sensor::Sensor *external_temperature)
void set_temperature(sensor::Sensor *temperature)
void set_address(uint64_t address)
void set_battery_level(sensor::Sensor *battery_level)
void set_signal_strength(sensor::Sensor *signal_strength)
bool parse_device(const ble_device_base::ESPBTDevice &device) override
void set_humidity(sensor::Sensor *humidity)
void update_device_type_(StringRef device_name)
optional< ParseResult >(*)(const uint8_t *data, std::size_t data_size) DeviceParser
uint16_t temperature
Definition sun_gtil2.cpp:12