mirror of
https://github.com/Threnklyn/esphome-dev.git
synced 2026-05-31 10:08:27 +02:00
65d08beaa4
* add xiaomi BLE Thermometer lywsd02 model support * remove battery level * Update sensor.py to pass the lint test https://github.com/esphome/esphome/pull/664 * fix trailing space Co-authored-by: Guoxue <gx@m15.cn> Co-authored-by: mr G1K <mr@g1k.ru>
34 lines
886 B
C++
34 lines
886 B
C++
#pragma once
|
|
|
|
#include "esphome/core/component.h"
|
|
#include "esphome/components/esp32_ble_tracker/esp32_ble_tracker.h"
|
|
|
|
#ifdef ARDUINO_ARCH_ESP32
|
|
|
|
namespace esphome {
|
|
namespace xiaomi_ble {
|
|
|
|
struct XiaomiParseResult {
|
|
enum { TYPE_MIJIA, TYPE_MIFLORA, TYPE_LYWSD02 } type;
|
|
optional<float> temperature;
|
|
optional<float> humidity;
|
|
optional<float> battery_level;
|
|
optional<float> conductivity;
|
|
optional<float> illuminance;
|
|
optional<float> moisture;
|
|
};
|
|
|
|
bool parse_xiaomi_data_byte(uint8_t data_type, const uint8_t *data, uint8_t data_length, XiaomiParseResult &result);
|
|
|
|
optional<XiaomiParseResult> parse_xiaomi(const esp32_ble_tracker::ESPBTDevice &device);
|
|
|
|
class XiaomiListener : public esp32_ble_tracker::ESPBTDeviceListener {
|
|
public:
|
|
bool parse_device(const esp32_ble_tracker::ESPBTDevice &device) override;
|
|
};
|
|
|
|
} // namespace xiaomi_ble
|
|
} // namespace esphome
|
|
|
|
#endif
|