ESPHome 2026.10.0-dev
Loading...
Searching...
No Matches
xiaomi_miscale.h
Go to the documentation of this file.
1#pragma once
2
6
7#include <vector>
8
10
13 optional<float> weight;
14 optional<float> impedance;
15};
16
18 public:
19 void set_address(uint64_t address) { address_ = address; };
20
21 bool parse_device(const ble_device_base::ESPBTDevice &device) override;
22 void dump_config() override;
23 void set_weight(sensor::Sensor *weight) { weight_ = weight; }
24 void set_impedance(sensor::Sensor *impedance) { impedance_ = impedance; }
25 void set_clear_impedance(bool clear_impedance) { clear_impedance_ = clear_impedance; }
26
27 protected:
28 uint64_t address_;
31 bool clear_impedance_{false};
32
33 optional<ParseResult> parse_header_(const ble_device_base::ServiceData &service_data);
34 bool parse_message_(const std::vector<uint8_t> &message, ParseResult &result);
35 bool parse_message_v1_(const std::vector<uint8_t> &message, ParseResult &result);
36 bool parse_message_v2_(const std::vector<uint8_t> &message, ParseResult &result);
37 bool report_results_(const optional<ParseResult> &result, const char *address);
38};
39
40} // namespace esphome::xiaomi_miscale
uint8_t address
Definition bl0906.h:4
Base-class for all sensors.
Definition sensor.h:47
void set_clear_impedance(bool clear_impedance)
bool parse_message_v1_(const std::vector< uint8_t > &message, ParseResult &result)
bool parse_message_(const std::vector< uint8_t > &message, ParseResult &result)
void set_weight(sensor::Sensor *weight)
optional< ParseResult > parse_header_(const ble_device_base::ServiceData &service_data)
bool parse_device(const ble_device_base::ESPBTDevice &device) override
void set_impedance(sensor::Sensor *impedance)
bool report_results_(const optional< ParseResult > &result, const char *address)
bool parse_message_v2_(const std::vector< uint8_t > &message, ParseResult &result)
const LogString * message
Definition component.cpp:35