Combine code of xiaomi_miscale and xiaomi_miscale2 (#2266)

* Combine xiaomi_miscale and xiaomi_miscale2

* check if message contains impedance

* auto detect scale version

* remove xiaomi_miscale2

* fix lint errors

* Apply suggestions from code review

Co-authored-by: Oxan van Leeuwen <oxan@oxanvanleeuwen.nl>

* Apply suggestions from code review on old code

* Fix clang-tidy warnings

Co-authored-by: Oxan van Leeuwen <oxan@oxanvanleeuwen.nl>
This commit is contained in:
Robert Resch
2021-09-22 12:12:55 +02:00
committed by GitHub
parent ed593544d8
commit f1364d4af4
8 changed files with 98 additions and 225 deletions
@@ -8,6 +8,9 @@ from esphome.const import (
STATE_CLASS_MEASUREMENT,
UNIT_KILOGRAM,
ICON_SCALE_BATHROOM,
UNIT_OHM,
CONF_IMPEDANCE,
ICON_OMEGA,
)
DEPENDENCIES = ["esp32_ble_tracker"]
@@ -28,6 +31,12 @@ CONFIG_SCHEMA = (
accuracy_decimals=2,
state_class=STATE_CLASS_MEASUREMENT,
),
cv.Optional(CONF_IMPEDANCE): sensor.sensor_schema(
unit_of_measurement=UNIT_OHM,
icon=ICON_OMEGA,
accuracy_decimals=0,
state_class=STATE_CLASS_MEASUREMENT,
),
}
)
.extend(esp32_ble_tracker.ESP_BLE_DEVICE_SCHEMA)
@@ -45,3 +54,6 @@ async def to_code(config):
if CONF_WEIGHT in config:
sens = await sensor.new_sensor(config[CONF_WEIGHT])
cg.add(var.set_weight(sens))
if CONF_IMPEDANCE in config:
sens = await sensor.new_sensor(config[CONF_IMPEDANCE])
cg.add(var.set_impedance(sens))