mirror of
https://github.com/esphome/esphome.git
synced 2026-08-22 22:26:21 +00:00
[ble_device_base] Migrate BLE sensor platforms to the neutral layer (batch 13: xiaomi_rtcgq02lm, xiaomi_wx08zm, xiaomi_xmwsdj04mmc) (#18183)
This commit is contained in:
@@ -1,19 +1,19 @@
|
|||||||
import esphome.codegen as cg
|
import esphome.codegen as cg
|
||||||
from esphome.components import esp32_ble_tracker
|
from esphome.components import ble_device_base
|
||||||
import esphome.config_validation as cv
|
import esphome.config_validation as cv
|
||||||
from esphome.const import CONF_BINDKEY, CONF_ID, CONF_MAC_ADDRESS
|
from esphome.const import CONF_BINDKEY, CONF_ID, CONF_MAC_ADDRESS
|
||||||
|
|
||||||
AUTO_LOAD = ["xiaomi_ble"]
|
AUTO_LOAD = ["ble_device_base", "xiaomi_ble"]
|
||||||
CODEOWNERS = ["@jesserockz"]
|
CODEOWNERS = ["@jesserockz"]
|
||||||
DEPENDENCIES = ["esp32_ble_tracker"]
|
|
||||||
MULTI_CONF = True
|
MULTI_CONF = True
|
||||||
|
|
||||||
xiaomi_rtcgq02lm_ns = cg.esphome_ns.namespace("xiaomi_rtcgq02lm")
|
xiaomi_rtcgq02lm_ns = cg.esphome_ns.namespace("xiaomi_rtcgq02lm")
|
||||||
XiaomiRTCGQ02LM = xiaomi_rtcgq02lm_ns.class_(
|
XiaomiRTCGQ02LM = xiaomi_rtcgq02lm_ns.class_(
|
||||||
"XiaomiRTCGQ02LM", esp32_ble_tracker.ESPBTDeviceListener, cg.Component
|
"XiaomiRTCGQ02LM", ble_device_base.ESPBTDeviceListener, cg.Component
|
||||||
)
|
)
|
||||||
|
|
||||||
CONFIG_SCHEMA = (
|
CONFIG_SCHEMA = cv.All(
|
||||||
|
ble_device_base.rename_legacy_hub_id("xiaomi_rtcgq02lm"),
|
||||||
cv.Schema(
|
cv.Schema(
|
||||||
{
|
{
|
||||||
cv.GenerateID(): cv.declare_id(XiaomiRTCGQ02LM),
|
cv.GenerateID(): cv.declare_id(XiaomiRTCGQ02LM),
|
||||||
@@ -21,15 +21,15 @@ CONFIG_SCHEMA = (
|
|||||||
cv.Required(CONF_MAC_ADDRESS): cv.mac_address,
|
cv.Required(CONF_MAC_ADDRESS): cv.mac_address,
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
.extend(esp32_ble_tracker.ESP_BLE_DEVICE_SCHEMA)
|
|
||||||
.extend(cv.COMPONENT_SCHEMA)
|
.extend(cv.COMPONENT_SCHEMA)
|
||||||
|
.extend(ble_device_base.BLE_DEVICE_SCHEMA),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
async def to_code(config):
|
async def to_code(config):
|
||||||
var = cg.new_Pvariable(config[CONF_ID])
|
var = cg.new_Pvariable(config[CONF_ID])
|
||||||
await cg.register_component(var, config)
|
await cg.register_component(var, config)
|
||||||
await esp32_ble_tracker.register_ble_device(var, config)
|
await ble_device_base.register_ble_device(var, config)
|
||||||
|
|
||||||
cg.add(var.set_address(config[CONF_MAC_ADDRESS].as_hex))
|
cg.add(var.set_address(config[CONF_MAC_ADDRESS].as_hex))
|
||||||
cg.add(var.set_bindkey(config[CONF_BINDKEY]))
|
cg.add(var.set_bindkey(config[CONF_BINDKEY]))
|
||||||
|
|||||||
@@ -2,8 +2,6 @@
|
|||||||
#include "esphome/core/helpers.h"
|
#include "esphome/core/helpers.h"
|
||||||
#include "esphome/core/log.h"
|
#include "esphome/core/log.h"
|
||||||
|
|
||||||
#ifdef USE_ESP32
|
|
||||||
|
|
||||||
namespace esphome::xiaomi_rtcgq02lm {
|
namespace esphome::xiaomi_rtcgq02lm {
|
||||||
|
|
||||||
static const char *const TAG = "xiaomi_rtcgq02lm";
|
static const char *const TAG = "xiaomi_rtcgq02lm";
|
||||||
@@ -24,7 +22,7 @@ void XiaomiRTCGQ02LM::dump_config() {
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
bool XiaomiRTCGQ02LM::parse_device(const esp32_ble_tracker::ESPBTDevice &device) {
|
bool XiaomiRTCGQ02LM::parse_device(const ble_device_base::ESPBTDevice &device) {
|
||||||
if (device.address_uint64() != this->address_) {
|
if (device.address_uint64() != this->address_) {
|
||||||
ESP_LOGVV(TAG, "parse_device(): unknown MAC address.");
|
ESP_LOGVV(TAG, "parse_device(): unknown MAC address.");
|
||||||
return false;
|
return false;
|
||||||
@@ -79,5 +77,3 @@ bool XiaomiRTCGQ02LM::parse_device(const esp32_ble_tracker::ESPBTDevice &device)
|
|||||||
void XiaomiRTCGQ02LM::set_bindkey(const char *bindkey) { parse_hex(bindkey, this->bindkey_, sizeof(this->bindkey_)); }
|
void XiaomiRTCGQ02LM::set_bindkey(const char *bindkey) { parse_hex(bindkey, this->bindkey_, sizeof(this->bindkey_)); }
|
||||||
|
|
||||||
} // namespace esphome::xiaomi_rtcgq02lm
|
} // namespace esphome::xiaomi_rtcgq02lm
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "esphome/components/esp32_ble_tracker/esp32_ble_tracker.h"
|
#include "esphome/components/ble_device_base/ble_device.h"
|
||||||
#include "esphome/core/defines.h"
|
#include "esphome/core/defines.h"
|
||||||
#ifdef USE_BINARY_SENSOR
|
#ifdef USE_BINARY_SENSOR
|
||||||
#include "esphome/components/binary_sensor/binary_sensor.h"
|
#include "esphome/components/binary_sensor/binary_sensor.h"
|
||||||
@@ -11,16 +11,14 @@
|
|||||||
#include "esphome/components/xiaomi_ble/xiaomi_ble.h"
|
#include "esphome/components/xiaomi_ble/xiaomi_ble.h"
|
||||||
#include "esphome/core/component.h"
|
#include "esphome/core/component.h"
|
||||||
|
|
||||||
#ifdef USE_ESP32
|
|
||||||
|
|
||||||
namespace esphome::xiaomi_rtcgq02lm {
|
namespace esphome::xiaomi_rtcgq02lm {
|
||||||
|
|
||||||
class XiaomiRTCGQ02LM final : public Component, public esp32_ble_tracker::ESPBTDeviceListener {
|
class XiaomiRTCGQ02LM final : public Component, public ble_device_base::ESPBTDeviceListener {
|
||||||
public:
|
public:
|
||||||
void set_address(uint64_t address) { address_ = address; };
|
void set_address(uint64_t address) { address_ = address; };
|
||||||
void set_bindkey(const char *bindkey);
|
void set_bindkey(const char *bindkey);
|
||||||
|
|
||||||
bool parse_device(const esp32_ble_tracker::ESPBTDevice &device) override;
|
bool parse_device(const ble_device_base::ESPBTDevice &device) override;
|
||||||
void dump_config() override;
|
void dump_config() override;
|
||||||
|
|
||||||
#ifdef USE_BINARY_SENSOR
|
#ifdef USE_BINARY_SENSOR
|
||||||
@@ -54,5 +52,3 @@ class XiaomiRTCGQ02LM final : public Component, public esp32_ble_tracker::ESPBTD
|
|||||||
};
|
};
|
||||||
|
|
||||||
} // namespace esphome::xiaomi_rtcgq02lm
|
} // namespace esphome::xiaomi_rtcgq02lm
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import esphome.codegen as cg
|
import esphome.codegen as cg
|
||||||
from esphome.components import binary_sensor, esp32_ble_tracker, sensor
|
from esphome.components import binary_sensor, ble_device_base, sensor
|
||||||
import esphome.config_validation as cv
|
import esphome.config_validation as cv
|
||||||
from esphome.const import (
|
from esphome.const import (
|
||||||
CONF_BATTERY_LEVEL,
|
CONF_BATTERY_LEVEL,
|
||||||
@@ -12,18 +12,18 @@ from esphome.const import (
|
|||||||
UNIT_PERCENT,
|
UNIT_PERCENT,
|
||||||
)
|
)
|
||||||
|
|
||||||
DEPENDENCIES = ["esp32_ble_tracker"]
|
AUTO_LOAD = ["ble_device_base", "xiaomi_ble", "sensor"]
|
||||||
AUTO_LOAD = ["xiaomi_ble", "sensor"]
|
|
||||||
|
|
||||||
xiaomi_wx08zm_ns = cg.esphome_ns.namespace("xiaomi_wx08zm")
|
xiaomi_wx08zm_ns = cg.esphome_ns.namespace("xiaomi_wx08zm")
|
||||||
XiaomiWX08ZM = xiaomi_wx08zm_ns.class_(
|
XiaomiWX08ZM = xiaomi_wx08zm_ns.class_(
|
||||||
"XiaomiWX08ZM",
|
"XiaomiWX08ZM",
|
||||||
binary_sensor.BinarySensor,
|
binary_sensor.BinarySensor,
|
||||||
esp32_ble_tracker.ESPBTDeviceListener,
|
ble_device_base.ESPBTDeviceListener,
|
||||||
cg.Component,
|
cg.Component,
|
||||||
)
|
)
|
||||||
|
|
||||||
CONFIG_SCHEMA = cv.All(
|
CONFIG_SCHEMA = cv.All(
|
||||||
|
ble_device_base.rename_legacy_hub_id("xiaomi_wx08zm"),
|
||||||
binary_sensor.binary_sensor_schema(XiaomiWX08ZM)
|
binary_sensor.binary_sensor_schema(XiaomiWX08ZM)
|
||||||
.extend(
|
.extend(
|
||||||
{
|
{
|
||||||
@@ -43,15 +43,15 @@ CONFIG_SCHEMA = cv.All(
|
|||||||
),
|
),
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
.extend(esp32_ble_tracker.ESP_BLE_DEVICE_SCHEMA)
|
|
||||||
.extend(cv.COMPONENT_SCHEMA)
|
.extend(cv.COMPONENT_SCHEMA)
|
||||||
|
.extend(ble_device_base.BLE_DEVICE_SCHEMA),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
async def to_code(config):
|
async def to_code(config):
|
||||||
var = await binary_sensor.new_binary_sensor(config)
|
var = await binary_sensor.new_binary_sensor(config)
|
||||||
await cg.register_component(var, config)
|
await cg.register_component(var, config)
|
||||||
await esp32_ble_tracker.register_ble_device(var, config)
|
await ble_device_base.register_ble_device(var, config)
|
||||||
|
|
||||||
cg.add(var.set_address(config[CONF_MAC_ADDRESS].as_hex))
|
cg.add(var.set_address(config[CONF_MAC_ADDRESS].as_hex))
|
||||||
|
|
||||||
|
|||||||
@@ -1,8 +1,6 @@
|
|||||||
#include "xiaomi_wx08zm.h"
|
#include "xiaomi_wx08zm.h"
|
||||||
#include "esphome/core/log.h"
|
#include "esphome/core/log.h"
|
||||||
|
|
||||||
#ifdef USE_ESP32
|
|
||||||
|
|
||||||
namespace esphome::xiaomi_wx08zm {
|
namespace esphome::xiaomi_wx08zm {
|
||||||
|
|
||||||
static const char *const TAG = "xiaomi_wx08zm";
|
static const char *const TAG = "xiaomi_wx08zm";
|
||||||
@@ -14,7 +12,7 @@ void XiaomiWX08ZM::dump_config() {
|
|||||||
LOG_SENSOR(" ", "Battery Level", this->battery_level_);
|
LOG_SENSOR(" ", "Battery Level", this->battery_level_);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool XiaomiWX08ZM::parse_device(const esp32_ble_tracker::ESPBTDevice &device) {
|
bool XiaomiWX08ZM::parse_device(const ble_device_base::ESPBTDevice &device) {
|
||||||
if (device.address_uint64() != this->address_) {
|
if (device.address_uint64() != this->address_) {
|
||||||
ESP_LOGVV(TAG, "parse_device(): unknown MAC address.");
|
ESP_LOGVV(TAG, "parse_device(): unknown MAC address.");
|
||||||
return false;
|
return false;
|
||||||
@@ -56,5 +54,3 @@ bool XiaomiWX08ZM::parse_device(const esp32_ble_tracker::ESPBTDevice &device) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
} // namespace esphome::xiaomi_wx08zm
|
} // namespace esphome::xiaomi_wx08zm
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|||||||
@@ -3,20 +3,18 @@
|
|||||||
#include "esphome/core/component.h"
|
#include "esphome/core/component.h"
|
||||||
#include "esphome/components/sensor/sensor.h"
|
#include "esphome/components/sensor/sensor.h"
|
||||||
#include "esphome/components/binary_sensor/binary_sensor.h"
|
#include "esphome/components/binary_sensor/binary_sensor.h"
|
||||||
#include "esphome/components/esp32_ble_tracker/esp32_ble_tracker.h"
|
#include "esphome/components/ble_device_base/ble_device.h"
|
||||||
#include "esphome/components/xiaomi_ble/xiaomi_ble.h"
|
#include "esphome/components/xiaomi_ble/xiaomi_ble.h"
|
||||||
|
|
||||||
#ifdef USE_ESP32
|
|
||||||
|
|
||||||
namespace esphome::xiaomi_wx08zm {
|
namespace esphome::xiaomi_wx08zm {
|
||||||
|
|
||||||
class XiaomiWX08ZM final : public Component,
|
class XiaomiWX08ZM final : public Component,
|
||||||
public binary_sensor::BinarySensorInitiallyOff,
|
public binary_sensor::BinarySensorInitiallyOff,
|
||||||
public esp32_ble_tracker::ESPBTDeviceListener {
|
public ble_device_base::ESPBTDeviceListener {
|
||||||
public:
|
public:
|
||||||
void set_address(uint64_t address) { address_ = address; }
|
void set_address(uint64_t address) { address_ = address; }
|
||||||
|
|
||||||
bool parse_device(const esp32_ble_tracker::ESPBTDevice &device) override;
|
bool parse_device(const ble_device_base::ESPBTDevice &device) override;
|
||||||
|
|
||||||
void dump_config() override;
|
void dump_config() override;
|
||||||
void set_tablet(sensor::Sensor *tablet) { tablet_ = tablet; }
|
void set_tablet(sensor::Sensor *tablet) { tablet_ = tablet; }
|
||||||
@@ -29,5 +27,3 @@ class XiaomiWX08ZM final : public Component,
|
|||||||
};
|
};
|
||||||
|
|
||||||
} // namespace esphome::xiaomi_wx08zm
|
} // namespace esphome::xiaomi_wx08zm
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import esphome.codegen as cg
|
import esphome.codegen as cg
|
||||||
from esphome.components import esp32_ble_tracker, sensor
|
from esphome.components import ble_device_base, sensor
|
||||||
import esphome.config_validation as cv
|
import esphome.config_validation as cv
|
||||||
from esphome.const import (
|
from esphome.const import (
|
||||||
CONF_BATTERY_LEVEL,
|
CONF_BATTERY_LEVEL,
|
||||||
@@ -17,16 +17,16 @@ from esphome.const import (
|
|||||||
UNIT_PERCENT,
|
UNIT_PERCENT,
|
||||||
)
|
)
|
||||||
|
|
||||||
AUTO_LOAD = ["xiaomi_ble"]
|
AUTO_LOAD = ["ble_device_base", "xiaomi_ble"]
|
||||||
CODEOWNERS = ["@medusalix"]
|
CODEOWNERS = ["@medusalix"]
|
||||||
DEPENDENCIES = ["esp32_ble_tracker"]
|
|
||||||
|
|
||||||
xiaomi_xmwsdj04mmc_ns = cg.esphome_ns.namespace("xiaomi_xmwsdj04mmc")
|
xiaomi_xmwsdj04mmc_ns = cg.esphome_ns.namespace("xiaomi_xmwsdj04mmc")
|
||||||
XiaomiXMWSDJ04MMC = xiaomi_xmwsdj04mmc_ns.class_(
|
XiaomiXMWSDJ04MMC = xiaomi_xmwsdj04mmc_ns.class_(
|
||||||
"XiaomiXMWSDJ04MMC", esp32_ble_tracker.ESPBTDeviceListener, cg.Component
|
"XiaomiXMWSDJ04MMC", ble_device_base.ESPBTDeviceListener, cg.Component
|
||||||
)
|
)
|
||||||
|
|
||||||
CONFIG_SCHEMA = (
|
CONFIG_SCHEMA = cv.All(
|
||||||
|
ble_device_base.rename_legacy_hub_id("xiaomi_xmwsdj04mmc"),
|
||||||
cv.Schema(
|
cv.Schema(
|
||||||
{
|
{
|
||||||
cv.GenerateID(): cv.declare_id(XiaomiXMWSDJ04MMC),
|
cv.GenerateID(): cv.declare_id(XiaomiXMWSDJ04MMC),
|
||||||
@@ -53,15 +53,15 @@ CONFIG_SCHEMA = (
|
|||||||
),
|
),
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
.extend(esp32_ble_tracker.ESP_BLE_DEVICE_SCHEMA)
|
|
||||||
.extend(cv.COMPONENT_SCHEMA)
|
.extend(cv.COMPONENT_SCHEMA)
|
||||||
|
.extend(ble_device_base.BLE_DEVICE_SCHEMA),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
async def to_code(config):
|
async def to_code(config):
|
||||||
var = cg.new_Pvariable(config[CONF_ID])
|
var = cg.new_Pvariable(config[CONF_ID])
|
||||||
await cg.register_component(var, config)
|
await cg.register_component(var, config)
|
||||||
await esp32_ble_tracker.register_ble_device(var, config)
|
await ble_device_base.register_ble_device(var, config)
|
||||||
|
|
||||||
cg.add(var.set_address(config[CONF_MAC_ADDRESS].as_hex))
|
cg.add(var.set_address(config[CONF_MAC_ADDRESS].as_hex))
|
||||||
cg.add(var.set_bindkey(config[CONF_BINDKEY]))
|
cg.add(var.set_bindkey(config[CONF_BINDKEY]))
|
||||||
|
|||||||
@@ -2,8 +2,6 @@
|
|||||||
#include "esphome/core/helpers.h"
|
#include "esphome/core/helpers.h"
|
||||||
#include "esphome/core/log.h"
|
#include "esphome/core/log.h"
|
||||||
|
|
||||||
#ifdef USE_ESP32
|
|
||||||
|
|
||||||
namespace esphome::xiaomi_xmwsdj04mmc {
|
namespace esphome::xiaomi_xmwsdj04mmc {
|
||||||
|
|
||||||
static const char *const TAG = "xiaomi_xmwsdj04mmc";
|
static const char *const TAG = "xiaomi_xmwsdj04mmc";
|
||||||
@@ -21,7 +19,7 @@ void XiaomiXMWSDJ04MMC::dump_config() {
|
|||||||
LOG_SENSOR(" ", "Battery Level", this->battery_level_);
|
LOG_SENSOR(" ", "Battery Level", this->battery_level_);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool XiaomiXMWSDJ04MMC::parse_device(const esp32_ble_tracker::ESPBTDevice &device) {
|
bool XiaomiXMWSDJ04MMC::parse_device(const ble_device_base::ESPBTDevice &device) {
|
||||||
if (device.address_uint64() != this->address_) {
|
if (device.address_uint64() != this->address_) {
|
||||||
ESP_LOGVV(TAG, "parse_device(): unknown MAC address.");
|
ESP_LOGVV(TAG, "parse_device(): unknown MAC address.");
|
||||||
return false;
|
return false;
|
||||||
@@ -69,5 +67,3 @@ bool XiaomiXMWSDJ04MMC::parse_device(const esp32_ble_tracker::ESPBTDevice &devic
|
|||||||
void XiaomiXMWSDJ04MMC::set_bindkey(const char *bindkey) { parse_hex(bindkey, this->bindkey_, sizeof(this->bindkey_)); }
|
void XiaomiXMWSDJ04MMC::set_bindkey(const char *bindkey) { parse_hex(bindkey, this->bindkey_, sizeof(this->bindkey_)); }
|
||||||
|
|
||||||
} // namespace esphome::xiaomi_xmwsdj04mmc
|
} // namespace esphome::xiaomi_xmwsdj04mmc
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|||||||
@@ -2,19 +2,17 @@
|
|||||||
|
|
||||||
#include "esphome/core/component.h"
|
#include "esphome/core/component.h"
|
||||||
#include "esphome/components/sensor/sensor.h"
|
#include "esphome/components/sensor/sensor.h"
|
||||||
#include "esphome/components/esp32_ble_tracker/esp32_ble_tracker.h"
|
#include "esphome/components/ble_device_base/ble_device.h"
|
||||||
#include "esphome/components/xiaomi_ble/xiaomi_ble.h"
|
#include "esphome/components/xiaomi_ble/xiaomi_ble.h"
|
||||||
|
|
||||||
#ifdef USE_ESP32
|
|
||||||
|
|
||||||
namespace esphome::xiaomi_xmwsdj04mmc {
|
namespace esphome::xiaomi_xmwsdj04mmc {
|
||||||
|
|
||||||
class XiaomiXMWSDJ04MMC final : public Component, public esp32_ble_tracker::ESPBTDeviceListener {
|
class XiaomiXMWSDJ04MMC final : public Component, public ble_device_base::ESPBTDeviceListener {
|
||||||
public:
|
public:
|
||||||
void set_address(uint64_t address) { this->address_ = address; }
|
void set_address(uint64_t address) { this->address_ = address; }
|
||||||
void set_bindkey(const char *bindkey);
|
void set_bindkey(const char *bindkey);
|
||||||
|
|
||||||
bool parse_device(const esp32_ble_tracker::ESPBTDevice &device) override;
|
bool parse_device(const ble_device_base::ESPBTDevice &device) override;
|
||||||
|
|
||||||
void dump_config() override;
|
void dump_config() override;
|
||||||
void set_temperature(sensor::Sensor *temperature) { this->temperature_ = temperature; }
|
void set_temperature(sensor::Sensor *temperature) { this->temperature_ = temperature; }
|
||||||
@@ -30,5 +28,3 @@ class XiaomiXMWSDJ04MMC final : public Component, public esp32_ble_tracker::ESPB
|
|||||||
};
|
};
|
||||||
|
|
||||||
} // namespace esphome::xiaomi_xmwsdj04mmc
|
} // namespace esphome::xiaomi_xmwsdj04mmc
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|||||||
@@ -0,0 +1,20 @@
|
|||||||
|
xiaomi_rtcgq02lm:
|
||||||
|
- id: motion_rtcgq02lm
|
||||||
|
mac_address: 01:02:03:04:05:06
|
||||||
|
bindkey: "48403ebe2d385db8d0c187f81e62cb64"
|
||||||
|
|
||||||
|
binary_sensor:
|
||||||
|
- platform: xiaomi_rtcgq02lm
|
||||||
|
id: motion_rtcgq02lm
|
||||||
|
motion:
|
||||||
|
name: Mi Motion Sensor 2
|
||||||
|
light:
|
||||||
|
name: Mi Motion Sensor 2 Light
|
||||||
|
button:
|
||||||
|
name: Mi Motion Sensor 2 Button
|
||||||
|
|
||||||
|
sensor:
|
||||||
|
- platform: xiaomi_rtcgq02lm
|
||||||
|
id: motion_rtcgq02lm
|
||||||
|
battery_level:
|
||||||
|
name: Mi Motion Sensor 2 Battery level
|
||||||
@@ -1,7 +1,10 @@
|
|||||||
esp32_ble_tracker:
|
esp32_ble_tracker:
|
||||||
|
id: ble_tracker_hub
|
||||||
|
|
||||||
|
# Explicit ble_hub_id: pins the neutral binding as a declared key.
|
||||||
xiaomi_rtcgq02lm:
|
xiaomi_rtcgq02lm:
|
||||||
- id: motion_rtcgq02lm
|
- id: motion_rtcgq02lm
|
||||||
|
ble_hub_id: ble_tracker_hub
|
||||||
mac_address: 01:02:03:04:05:06
|
mac_address: 01:02:03:04:05:06
|
||||||
bindkey: "48403ebe2d385db8d0c187f81e62cb64"
|
bindkey: "48403ebe2d385db8d0c187f81e62cb64"
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,3 @@
|
|||||||
|
packages:
|
||||||
|
ln882h_ble_tracker: !include ../ln882h_ble_tracker/common.yaml
|
||||||
|
xiaomi_rtcgq02lm: !include common-ln.yaml
|
||||||
@@ -0,0 +1,32 @@
|
|||||||
|
# Config-only: the CI base board (generic-bk7252, BLE 4.2) cannot compile the
|
||||||
|
# BLE 5.x tracker, so this fixture proves validation (schema + neutral binding)
|
||||||
|
# on a non-esp32 platform; codegen and compilation are not exercised here.
|
||||||
|
bk72xx_ble_tracker:
|
||||||
|
id: ble_tracker_hub
|
||||||
|
|
||||||
|
# Explicit ble_hub_id: pins the neutral binding as a declared key.
|
||||||
|
xiaomi_rtcgq02lm:
|
||||||
|
- id: motion_rtcgq02lm
|
||||||
|
ble_hub_id: ble_tracker_hub
|
||||||
|
mac_address: 01:02:03:04:05:06
|
||||||
|
bindkey: "48403ebe2d385db8d0c187f81e62cb64"
|
||||||
|
|
||||||
|
# No ble_hub_id: exercises the generated binding real configs use.
|
||||||
|
- id: motion_rtcgq02lm_implicit
|
||||||
|
mac_address: 01:02:03:04:05:07
|
||||||
|
bindkey: "48403ebe2d385db8d0c187f81e62cb64"
|
||||||
|
binary_sensor:
|
||||||
|
- platform: xiaomi_rtcgq02lm
|
||||||
|
id: motion_rtcgq02lm
|
||||||
|
motion:
|
||||||
|
name: Mi Motion Sensor 2
|
||||||
|
light:
|
||||||
|
name: Mi Motion Sensor 2 Light
|
||||||
|
button:
|
||||||
|
name: Mi Motion Sensor 2 Button
|
||||||
|
|
||||||
|
sensor:
|
||||||
|
- platform: xiaomi_rtcgq02lm
|
||||||
|
id: motion_rtcgq02lm
|
||||||
|
battery_level:
|
||||||
|
name: Mi Motion Sensor 2 Battery level
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
binary_sensor:
|
||||||
|
- platform: xiaomi_wx08zm
|
||||||
|
name: WX08ZM Activation State
|
||||||
|
mac_address: 74:a3:4a:b5:07:34
|
||||||
|
tablet:
|
||||||
|
name: WX08ZM Tablet Resource
|
||||||
|
battery_level:
|
||||||
|
name: WX08ZM Battery Level
|
||||||
@@ -1,7 +1,10 @@
|
|||||||
esp32_ble_tracker:
|
esp32_ble_tracker:
|
||||||
|
id: ble_tracker_hub
|
||||||
|
|
||||||
binary_sensor:
|
binary_sensor:
|
||||||
|
# Explicit ble_hub_id: pins the neutral binding as a declared key.
|
||||||
- platform: xiaomi_wx08zm
|
- platform: xiaomi_wx08zm
|
||||||
|
ble_hub_id: ble_tracker_hub
|
||||||
name: WX08ZM Activation State
|
name: WX08ZM Activation State
|
||||||
mac_address: 74:a3:4a:b5:07:34
|
mac_address: 74:a3:4a:b5:07:34
|
||||||
tablet:
|
tablet:
|
||||||
|
|||||||
@@ -0,0 +1,3 @@
|
|||||||
|
packages:
|
||||||
|
ln882h_ble_tracker: !include ../ln882h_ble_tracker/common.yaml
|
||||||
|
xiaomi_wx08zm: !include common-ln.yaml
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
# Config-only: the CI base board (generic-bk7252, BLE 4.2) cannot compile the
|
||||||
|
# BLE 5.x tracker, so this fixture proves validation (schema + neutral binding)
|
||||||
|
# on a non-esp32 platform; codegen and compilation are not exercised here.
|
||||||
|
bk72xx_ble_tracker:
|
||||||
|
id: ble_tracker_hub
|
||||||
|
|
||||||
|
binary_sensor:
|
||||||
|
# Explicit ble_hub_id: pins the neutral binding as a declared key.
|
||||||
|
- platform: xiaomi_wx08zm
|
||||||
|
ble_hub_id: ble_tracker_hub
|
||||||
|
name: WX08ZM Activation State
|
||||||
|
mac_address: 74:a3:4a:b5:07:34
|
||||||
|
tablet:
|
||||||
|
name: WX08ZM Tablet Resource
|
||||||
|
battery_level:
|
||||||
|
name: WX08ZM Battery Level
|
||||||
|
# No ble_hub_id: exercises the generated binding real configs use.
|
||||||
|
- platform: xiaomi_wx08zm
|
||||||
|
name: BK WX08ZM Implicit Activation State
|
||||||
|
mac_address: 74:a3:4a:b5:07:35
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
sensor:
|
||||||
|
- platform: xiaomi_xmwsdj04mmc
|
||||||
|
mac_address: 84:B4:DB:5D:A3:8F
|
||||||
|
bindkey: d8ca2ed09bb5541dc8f045ca360b00ea
|
||||||
|
temperature:
|
||||||
|
name: Xiaomi XMWSDJ04MMC Temperature
|
||||||
|
humidity:
|
||||||
|
name: Xiaomi XMWSDJ04MMC Humidity
|
||||||
|
battery_level:
|
||||||
|
name: Xiaomi XMWSDJ04MMC Battery Level
|
||||||
@@ -1,7 +1,10 @@
|
|||||||
esp32_ble_tracker:
|
esp32_ble_tracker:
|
||||||
|
id: ble_tracker_hub
|
||||||
|
|
||||||
sensor:
|
sensor:
|
||||||
|
# Explicit ble_hub_id: pins the neutral binding as a declared key.
|
||||||
- platform: xiaomi_xmwsdj04mmc
|
- platform: xiaomi_xmwsdj04mmc
|
||||||
|
ble_hub_id: ble_tracker_hub
|
||||||
mac_address: 84:B4:DB:5D:A3:8F
|
mac_address: 84:B4:DB:5D:A3:8F
|
||||||
bindkey: d8ca2ed09bb5541dc8f045ca360b00ea
|
bindkey: d8ca2ed09bb5541dc8f045ca360b00ea
|
||||||
temperature:
|
temperature:
|
||||||
|
|||||||
@@ -0,0 +1,3 @@
|
|||||||
|
packages:
|
||||||
|
ln882h_ble_tracker: !include ../ln882h_ble_tracker/common.yaml
|
||||||
|
xiaomi_xmwsdj04mmc: !include common-ln.yaml
|
||||||
@@ -0,0 +1,24 @@
|
|||||||
|
# Config-only: the CI base board (generic-bk7252, BLE 4.2) cannot compile the
|
||||||
|
# BLE 5.x tracker, so this fixture proves validation (schema + neutral binding)
|
||||||
|
# on a non-esp32 platform; codegen and compilation are not exercised here.
|
||||||
|
bk72xx_ble_tracker:
|
||||||
|
id: ble_tracker_hub
|
||||||
|
|
||||||
|
sensor:
|
||||||
|
# Explicit ble_hub_id: pins the neutral binding as a declared key.
|
||||||
|
- platform: xiaomi_xmwsdj04mmc
|
||||||
|
ble_hub_id: ble_tracker_hub
|
||||||
|
mac_address: 84:B4:DB:5D:A3:8F
|
||||||
|
bindkey: d8ca2ed09bb5541dc8f045ca360b00ea
|
||||||
|
temperature:
|
||||||
|
name: Xiaomi XMWSDJ04MMC Temperature
|
||||||
|
humidity:
|
||||||
|
name: Xiaomi XMWSDJ04MMC Humidity
|
||||||
|
battery_level:
|
||||||
|
name: Xiaomi XMWSDJ04MMC Battery Level
|
||||||
|
# No ble_hub_id: exercises the generated binding real configs use.
|
||||||
|
- platform: xiaomi_xmwsdj04mmc
|
||||||
|
mac_address: 84:B4:DB:5D:A3:90
|
||||||
|
bindkey: d8ca2ed09bb5541dc8f045ca360b00ea
|
||||||
|
temperature:
|
||||||
|
name: BK Xiaomi XMWSDJ04MMC Implicit Temperature
|
||||||
Reference in New Issue
Block a user