mirror of
https://github.com/esphome/esphome.git
synced 2025-03-14 06:38:17 +00:00
Refactor diesel heater BLE component: streamline configuration schemas and improve code readability
This commit is contained in:
parent
a7bddffad6
commit
50999e6492
@ -1,8 +1,6 @@
|
||||
import esphome.codegen as cg
|
||||
from esphome.components import ble_client, sensor
|
||||
import esphome.config_validation as cv
|
||||
from esphome.components import ble_client
|
||||
from esphome.components import sensor
|
||||
|
||||
from esphome.const import CONF_ID
|
||||
|
||||
CODEOWNERS = ["@warehog"]
|
||||
@ -11,18 +9,17 @@ DEPENDENCIES = ["ble_client"]
|
||||
CONF_HEATER_ID = "diesel_heater_ble"
|
||||
|
||||
diesel_heater_ble_ns = cg.esphome_ns.namespace("diesel_heater_ble")
|
||||
DieselHeaterBLE = diesel_heater_ble_ns.class_("DieselHeaterBLE", sensor.Sensor, cg.Component, ble_client.BLEClientNode)
|
||||
DieselHeaterBLE = diesel_heater_ble_ns.class_(
|
||||
"DieselHeaterBLE", sensor.Sensor, cg.Component, ble_client.BLEClientNode
|
||||
)
|
||||
|
||||
CONFIG_SCHEMA = (
|
||||
cv.Schema(
|
||||
{
|
||||
cv.GenerateID(): cv.declare_id(DieselHeaterBLE)
|
||||
}
|
||||
)
|
||||
cv.Schema({cv.GenerateID(): cv.declare_id(DieselHeaterBLE)})
|
||||
.extend(cv.COMPONENT_SCHEMA)
|
||||
.extend(ble_client.BLE_CLIENT_SCHEMA)
|
||||
.extend(ble_client.BLE_CLIENT_SCHEMA)
|
||||
)
|
||||
|
||||
|
||||
async def to_code(config):
|
||||
var = cg.new_Pvariable(config[CONF_ID])
|
||||
await cg.register_component(var, config)
|
||||
|
@ -1,8 +1,8 @@
|
||||
import esphome.codegen as cg
|
||||
import esphome.config_validation as cv
|
||||
from esphome.components import button
|
||||
import esphome.config_validation as cv
|
||||
|
||||
from . import DieselHeaterBLE, CONF_HEATER_ID, diesel_heater_ble_ns
|
||||
from . import CONF_HEATER_ID, DieselHeaterBLE, diesel_heater_ble_ns
|
||||
|
||||
CONF_LEVEL_UP_ID = "level_up"
|
||||
CONF_LEVEL_DOWN_ID = "level_down"
|
||||
@ -10,37 +10,39 @@ CONF_TEMP_UP_ID = "temp_up"
|
||||
CONF_TEMP_DOWN_ID = "temp_down"
|
||||
|
||||
|
||||
CONFIG_SCHEMA = (
|
||||
cv.Schema(
|
||||
{
|
||||
cv.GenerateID(CONF_HEATER_ID): cv.use_id(DieselHeaterBLE),
|
||||
cv.Optional(CONF_LEVEL_UP_ID): button.button_schema(
|
||||
diesel_heater_ble_ns.class_("LevelUpButton", button.Button),
|
||||
icon="mdi:arrow-up",
|
||||
),
|
||||
cv.Optional(CONF_LEVEL_DOWN_ID): button.button_schema(
|
||||
diesel_heater_ble_ns.class_("LevelDownButton", button.Button),
|
||||
icon="mdi:arrow-down",
|
||||
),
|
||||
cv.Optional(CONF_TEMP_UP_ID): button.button_schema(
|
||||
diesel_heater_ble_ns.class_("TempUpButton", button.Button),
|
||||
icon="mdi:arrow-up",
|
||||
),
|
||||
cv.Optional(CONF_TEMP_DOWN_ID): button.button_schema(
|
||||
diesel_heater_ble_ns.class_("TempDownButton", button.Button),
|
||||
icon="mdi:arrow-down",
|
||||
),
|
||||
}
|
||||
)
|
||||
.extend(cv.COMPONENT_SCHEMA)
|
||||
)
|
||||
CONFIG_SCHEMA = cv.Schema(
|
||||
{
|
||||
cv.GenerateID(CONF_HEATER_ID): cv.use_id(DieselHeaterBLE),
|
||||
cv.Optional(CONF_LEVEL_UP_ID): button.button_schema(
|
||||
diesel_heater_ble_ns.class_("LevelUpButton", button.Button),
|
||||
icon="mdi:arrow-up",
|
||||
),
|
||||
cv.Optional(CONF_LEVEL_DOWN_ID): button.button_schema(
|
||||
diesel_heater_ble_ns.class_("LevelDownButton", button.Button),
|
||||
icon="mdi:arrow-down",
|
||||
),
|
||||
cv.Optional(CONF_TEMP_UP_ID): button.button_schema(
|
||||
diesel_heater_ble_ns.class_("TempUpButton", button.Button),
|
||||
icon="mdi:arrow-up",
|
||||
),
|
||||
cv.Optional(CONF_TEMP_DOWN_ID): button.button_schema(
|
||||
diesel_heater_ble_ns.class_("TempDownButton", button.Button),
|
||||
icon="mdi:arrow-down",
|
||||
),
|
||||
}
|
||||
).extend(cv.COMPONENT_SCHEMA)
|
||||
|
||||
|
||||
async def to_code(config):
|
||||
parent = await cg.get_variable(config[CONF_HEATER_ID])
|
||||
|
||||
for var in [CONF_LEVEL_UP_ID, CONF_LEVEL_DOWN_ID, CONF_TEMP_UP_ID, CONF_TEMP_DOWN_ID]:
|
||||
for var in [
|
||||
CONF_LEVEL_UP_ID,
|
||||
CONF_LEVEL_DOWN_ID,
|
||||
CONF_TEMP_UP_ID,
|
||||
CONF_TEMP_DOWN_ID,
|
||||
]:
|
||||
if conf := config.get(var):
|
||||
sw_var = await button.new_button(conf)
|
||||
await cg.register_parented(sw_var, parent)
|
||||
cg.add(getattr(parent, f"set_{var}_button")(sw_var))
|
||||
cg.add(getattr(parent, f"set_{var}_button")(sw_var))
|
||||
|
@ -1,11 +1,8 @@
|
||||
import esphome.codegen as cg
|
||||
import esphome.config_validation as cv
|
||||
from esphome.components import number
|
||||
from esphome.const import (
|
||||
CONF_TEMPERATURE
|
||||
)
|
||||
import esphome.config_validation as cv
|
||||
|
||||
from . import DieselHeaterBLE, CONF_HEATER_ID, diesel_heater_ble_ns
|
||||
from . import CONF_HEATER_ID, DieselHeaterBLE, diesel_heater_ble_ns
|
||||
|
||||
CODEOWNERS = ["@warehog"]
|
||||
DEPENDENCIES = ["diesel_heater_ble"]
|
||||
@ -17,16 +14,14 @@ PowerLevelNumber = diesel_heater_ble_ns.class_("PowerLevelNumber", number.Number
|
||||
CONF_SET_TEMP = "set_temp"
|
||||
SetTempNumber = diesel_heater_ble_ns.class_("SetTempNumber", number.Number)
|
||||
|
||||
CONFIG_SCHEMA = (
|
||||
cv.Schema(
|
||||
{
|
||||
cv.GenerateID(CONF_HEATER_ID): cv.use_id(DieselHeaterBLE),
|
||||
cv.Optional(CONF_POWER_LEVEL): number.number_schema(PowerLevelNumber),
|
||||
cv.Optional(CONF_SET_TEMP): number.number_schema(SetTempNumber),
|
||||
}
|
||||
)
|
||||
.extend(cv.COMPONENT_SCHEMA)
|
||||
)
|
||||
CONFIG_SCHEMA = cv.Schema(
|
||||
{
|
||||
cv.GenerateID(CONF_HEATER_ID): cv.use_id(DieselHeaterBLE),
|
||||
cv.Optional(CONF_POWER_LEVEL): number.number_schema(PowerLevelNumber),
|
||||
cv.Optional(CONF_SET_TEMP): number.number_schema(SetTempNumber),
|
||||
}
|
||||
).extend(cv.COMPONENT_SCHEMA)
|
||||
|
||||
|
||||
async def to_code(config):
|
||||
parent = await cg.get_variable(config[CONF_HEATER_ID])
|
||||
|
@ -1,21 +1,18 @@
|
||||
import esphome.codegen as cg
|
||||
from esphome.components import ble_client, sensor
|
||||
import esphome.config_validation as cv
|
||||
from esphome.components import ble_client
|
||||
from esphome.components import sensor
|
||||
from esphome.const import (
|
||||
CONF_ID,
|
||||
UNIT_VOLT,
|
||||
UNIT_CELSIUS,
|
||||
UNIT_PERCENT,
|
||||
UNIT_SECOND,
|
||||
UNIT_METER,
|
||||
UNIT_EMPTY,
|
||||
DEVICE_CLASS_EMPTY,
|
||||
DEVICE_CLASS_TEMPERATURE,
|
||||
STATE_CLASS_MEASUREMENT,
|
||||
DEVICE_CLASS_EMPTY
|
||||
UNIT_CELSIUS,
|
||||
UNIT_EMPTY,
|
||||
UNIT_METER,
|
||||
UNIT_SECOND,
|
||||
UNIT_VOLT,
|
||||
)
|
||||
|
||||
from . import DieselHeaterBLE, CONF_HEATER_ID
|
||||
from . import CONF_HEATER_ID, DieselHeaterBLE
|
||||
|
||||
CODEOWNERS = ["@warehog"]
|
||||
DEPENDENCIES = ["diesel_heater_ble"]
|
||||
@ -45,146 +42,144 @@ CONF_TEMP_UNIT = "temp_unit"
|
||||
CONF_ALTITUDE_UNIT = "altitude_unit"
|
||||
CONF_AUTOMATIC_HEATING = "automatic_heating"
|
||||
|
||||
CONFIG_SCHEMA = (
|
||||
cv.Schema(
|
||||
{
|
||||
cv.GenerateID(CONF_HEATER_ID): cv.use_id(DieselHeaterBLE),
|
||||
cv.Optional(CONF_RUNNING_STATE): sensor.sensor_schema(
|
||||
unit_of_measurement=UNIT_EMPTY,
|
||||
accuracy_decimals=1,
|
||||
device_class=DEVICE_CLASS_EMPTY,
|
||||
state_class=STATE_CLASS_MEASUREMENT,
|
||||
),
|
||||
cv.Optional(CONF_ERROR_CODE): sensor.sensor_schema(
|
||||
unit_of_measurement=UNIT_EMPTY,
|
||||
accuracy_decimals=0,
|
||||
device_class=DEVICE_CLASS_EMPTY,
|
||||
state_class=STATE_CLASS_MEASUREMENT,
|
||||
),
|
||||
cv.Optional(CONF_RUNNING_STEP): sensor.sensor_schema(
|
||||
unit_of_measurement=UNIT_EMPTY,
|
||||
accuracy_decimals=0,
|
||||
device_class=DEVICE_CLASS_EMPTY,
|
||||
state_class=STATE_CLASS_MEASUREMENT,
|
||||
),
|
||||
cv.Optional(CONF_ALTITUDE): sensor.sensor_schema(
|
||||
unit_of_measurement=UNIT_METER,
|
||||
accuracy_decimals=0,
|
||||
device_class=DEVICE_CLASS_EMPTY,
|
||||
state_class=STATE_CLASS_MEASUREMENT,
|
||||
),
|
||||
cv.Optional(CONF_RUNNING_MODE): sensor.sensor_schema(
|
||||
unit_of_measurement=UNIT_EMPTY,
|
||||
accuracy_decimals=0,
|
||||
device_class=DEVICE_CLASS_EMPTY,
|
||||
state_class=STATE_CLASS_MEASUREMENT,
|
||||
),
|
||||
cv.Optional(CONF_SET_LEVEL): sensor.sensor_schema(
|
||||
unit_of_measurement=UNIT_EMPTY,
|
||||
accuracy_decimals=0,
|
||||
device_class=DEVICE_CLASS_EMPTY,
|
||||
state_class=STATE_CLASS_MEASUREMENT,
|
||||
),
|
||||
cv.Optional(CONF_SET_TEMP): sensor.sensor_schema(
|
||||
unit_of_measurement=UNIT_CELSIUS,
|
||||
accuracy_decimals=1,
|
||||
device_class=DEVICE_CLASS_TEMPERATURE,
|
||||
state_class=STATE_CLASS_MEASUREMENT
|
||||
),
|
||||
cv.Optional(CONF_SUPPLY_VOLTAGE): sensor.sensor_schema(
|
||||
unit_of_measurement=UNIT_VOLT,
|
||||
accuracy_decimals=1,
|
||||
device_class=DEVICE_CLASS_EMPTY,
|
||||
state_class=STATE_CLASS_MEASUREMENT,
|
||||
),
|
||||
cv.Optional(CONF_CASE_TEMP): sensor.sensor_schema(
|
||||
unit_of_measurement=UNIT_CELSIUS,
|
||||
accuracy_decimals=1,
|
||||
device_class=DEVICE_CLASS_TEMPERATURE,
|
||||
state_class=STATE_CLASS_MEASUREMENT
|
||||
),
|
||||
cv.Optional(CONF_CAB_TEMP): sensor.sensor_schema(
|
||||
unit_of_measurement=UNIT_CELSIUS,
|
||||
accuracy_decimals=1,
|
||||
device_class=DEVICE_CLASS_TEMPERATURE,
|
||||
state_class=STATE_CLASS_MEASUREMENT,
|
||||
),
|
||||
cv.Optional(CONF_START_TIME): sensor.sensor_schema(
|
||||
unit_of_measurement=UNIT_SECOND,
|
||||
accuracy_decimals=0,
|
||||
device_class=DEVICE_CLASS_EMPTY,
|
||||
state_class=STATE_CLASS_MEASUREMENT,
|
||||
),
|
||||
cv.Optional(CONF_AUTO_TIME): sensor.sensor_schema(
|
||||
unit_of_measurement=UNIT_SECOND,
|
||||
accuracy_decimals=0,
|
||||
device_class=DEVICE_CLASS_EMPTY,
|
||||
state_class=STATE_CLASS_MEASUREMENT,
|
||||
),
|
||||
cv.Optional(CONF_RUN_TIME): sensor.sensor_schema(
|
||||
unit_of_measurement=UNIT_SECOND,
|
||||
accuracy_decimals=0,
|
||||
device_class=DEVICE_CLASS_EMPTY,
|
||||
state_class=STATE_CLASS_MEASUREMENT,
|
||||
),
|
||||
cv.Optional(CONF_IS_AUTO): sensor.sensor_schema(
|
||||
unit_of_measurement=UNIT_EMPTY,
|
||||
accuracy_decimals=0,
|
||||
device_class=DEVICE_CLASS_EMPTY,
|
||||
state_class=STATE_CLASS_MEASUREMENT,
|
||||
),
|
||||
cv.Optional(CONF_LANGUAGE): sensor.sensor_schema(
|
||||
unit_of_measurement=UNIT_EMPTY,
|
||||
accuracy_decimals=0,
|
||||
device_class=DEVICE_CLASS_EMPTY,
|
||||
state_class=STATE_CLASS_MEASUREMENT,
|
||||
),
|
||||
cv.Optional(CONF_TEMP_OFFSET): sensor.sensor_schema(
|
||||
unit_of_measurement=UNIT_CELSIUS,
|
||||
accuracy_decimals=1,
|
||||
device_class=DEVICE_CLASS_TEMPERATURE,
|
||||
state_class=STATE_CLASS_MEASUREMENT
|
||||
),
|
||||
cv.Optional(CONF_TANK_VOLUME): sensor.sensor_schema(
|
||||
unit_of_measurement=UNIT_EMPTY,
|
||||
accuracy_decimals=0,
|
||||
device_class=DEVICE_CLASS_EMPTY,
|
||||
state_class=STATE_CLASS_MEASUREMENT,
|
||||
),
|
||||
cv.Optional(CONF_OIL_PUMP_TYPE): sensor.sensor_schema(
|
||||
unit_of_measurement=UNIT_EMPTY,
|
||||
accuracy_decimals=0,
|
||||
device_class=DEVICE_CLASS_EMPTY,
|
||||
state_class=STATE_CLASS_MEASUREMENT,
|
||||
),
|
||||
cv.Optional(CONF_RF433_ON_OFF): sensor.sensor_schema(
|
||||
unit_of_measurement=UNIT_EMPTY,
|
||||
accuracy_decimals=0,
|
||||
device_class=DEVICE_CLASS_EMPTY,
|
||||
state_class=STATE_CLASS_MEASUREMENT,
|
||||
),
|
||||
cv.Optional(CONF_TEMP_UNIT): sensor.sensor_schema(
|
||||
unit_of_measurement=UNIT_EMPTY,
|
||||
accuracy_decimals=0,
|
||||
device_class=DEVICE_CLASS_EMPTY,
|
||||
state_class=STATE_CLASS_MEASUREMENT,
|
||||
),
|
||||
cv.Optional(CONF_ALTITUDE_UNIT): sensor.sensor_schema(
|
||||
unit_of_measurement=UNIT_EMPTY,
|
||||
accuracy_decimals=0,
|
||||
device_class=DEVICE_CLASS_EMPTY,
|
||||
state_class=STATE_CLASS_MEASUREMENT,
|
||||
),
|
||||
cv.Optional(CONF_AUTOMATIC_HEATING): sensor.sensor_schema(
|
||||
unit_of_measurement=UNIT_EMPTY,
|
||||
accuracy_decimals=0,
|
||||
device_class=DEVICE_CLASS_EMPTY,
|
||||
state_class=STATE_CLASS_MEASUREMENT,
|
||||
)
|
||||
}
|
||||
)
|
||||
.extend(ble_client.BLE_CLIENT_SCHEMA)
|
||||
)
|
||||
CONFIG_SCHEMA = cv.Schema(
|
||||
{
|
||||
cv.GenerateID(CONF_HEATER_ID): cv.use_id(DieselHeaterBLE),
|
||||
cv.Optional(CONF_RUNNING_STATE): sensor.sensor_schema(
|
||||
unit_of_measurement=UNIT_EMPTY,
|
||||
accuracy_decimals=1,
|
||||
device_class=DEVICE_CLASS_EMPTY,
|
||||
state_class=STATE_CLASS_MEASUREMENT,
|
||||
),
|
||||
cv.Optional(CONF_ERROR_CODE): sensor.sensor_schema(
|
||||
unit_of_measurement=UNIT_EMPTY,
|
||||
accuracy_decimals=0,
|
||||
device_class=DEVICE_CLASS_EMPTY,
|
||||
state_class=STATE_CLASS_MEASUREMENT,
|
||||
),
|
||||
cv.Optional(CONF_RUNNING_STEP): sensor.sensor_schema(
|
||||
unit_of_measurement=UNIT_EMPTY,
|
||||
accuracy_decimals=0,
|
||||
device_class=DEVICE_CLASS_EMPTY,
|
||||
state_class=STATE_CLASS_MEASUREMENT,
|
||||
),
|
||||
cv.Optional(CONF_ALTITUDE): sensor.sensor_schema(
|
||||
unit_of_measurement=UNIT_METER,
|
||||
accuracy_decimals=0,
|
||||
device_class=DEVICE_CLASS_EMPTY,
|
||||
state_class=STATE_CLASS_MEASUREMENT,
|
||||
),
|
||||
cv.Optional(CONF_RUNNING_MODE): sensor.sensor_schema(
|
||||
unit_of_measurement=UNIT_EMPTY,
|
||||
accuracy_decimals=0,
|
||||
device_class=DEVICE_CLASS_EMPTY,
|
||||
state_class=STATE_CLASS_MEASUREMENT,
|
||||
),
|
||||
cv.Optional(CONF_SET_LEVEL): sensor.sensor_schema(
|
||||
unit_of_measurement=UNIT_EMPTY,
|
||||
accuracy_decimals=0,
|
||||
device_class=DEVICE_CLASS_EMPTY,
|
||||
state_class=STATE_CLASS_MEASUREMENT,
|
||||
),
|
||||
cv.Optional(CONF_SET_TEMP): sensor.sensor_schema(
|
||||
unit_of_measurement=UNIT_CELSIUS,
|
||||
accuracy_decimals=1,
|
||||
device_class=DEVICE_CLASS_TEMPERATURE,
|
||||
state_class=STATE_CLASS_MEASUREMENT,
|
||||
),
|
||||
cv.Optional(CONF_SUPPLY_VOLTAGE): sensor.sensor_schema(
|
||||
unit_of_measurement=UNIT_VOLT,
|
||||
accuracy_decimals=1,
|
||||
device_class=DEVICE_CLASS_EMPTY,
|
||||
state_class=STATE_CLASS_MEASUREMENT,
|
||||
),
|
||||
cv.Optional(CONF_CASE_TEMP): sensor.sensor_schema(
|
||||
unit_of_measurement=UNIT_CELSIUS,
|
||||
accuracy_decimals=1,
|
||||
device_class=DEVICE_CLASS_TEMPERATURE,
|
||||
state_class=STATE_CLASS_MEASUREMENT,
|
||||
),
|
||||
cv.Optional(CONF_CAB_TEMP): sensor.sensor_schema(
|
||||
unit_of_measurement=UNIT_CELSIUS,
|
||||
accuracy_decimals=1,
|
||||
device_class=DEVICE_CLASS_TEMPERATURE,
|
||||
state_class=STATE_CLASS_MEASUREMENT,
|
||||
),
|
||||
cv.Optional(CONF_START_TIME): sensor.sensor_schema(
|
||||
unit_of_measurement=UNIT_SECOND,
|
||||
accuracy_decimals=0,
|
||||
device_class=DEVICE_CLASS_EMPTY,
|
||||
state_class=STATE_CLASS_MEASUREMENT,
|
||||
),
|
||||
cv.Optional(CONF_AUTO_TIME): sensor.sensor_schema(
|
||||
unit_of_measurement=UNIT_SECOND,
|
||||
accuracy_decimals=0,
|
||||
device_class=DEVICE_CLASS_EMPTY,
|
||||
state_class=STATE_CLASS_MEASUREMENT,
|
||||
),
|
||||
cv.Optional(CONF_RUN_TIME): sensor.sensor_schema(
|
||||
unit_of_measurement=UNIT_SECOND,
|
||||
accuracy_decimals=0,
|
||||
device_class=DEVICE_CLASS_EMPTY,
|
||||
state_class=STATE_CLASS_MEASUREMENT,
|
||||
),
|
||||
cv.Optional(CONF_IS_AUTO): sensor.sensor_schema(
|
||||
unit_of_measurement=UNIT_EMPTY,
|
||||
accuracy_decimals=0,
|
||||
device_class=DEVICE_CLASS_EMPTY,
|
||||
state_class=STATE_CLASS_MEASUREMENT,
|
||||
),
|
||||
cv.Optional(CONF_LANGUAGE): sensor.sensor_schema(
|
||||
unit_of_measurement=UNIT_EMPTY,
|
||||
accuracy_decimals=0,
|
||||
device_class=DEVICE_CLASS_EMPTY,
|
||||
state_class=STATE_CLASS_MEASUREMENT,
|
||||
),
|
||||
cv.Optional(CONF_TEMP_OFFSET): sensor.sensor_schema(
|
||||
unit_of_measurement=UNIT_CELSIUS,
|
||||
accuracy_decimals=1,
|
||||
device_class=DEVICE_CLASS_TEMPERATURE,
|
||||
state_class=STATE_CLASS_MEASUREMENT,
|
||||
),
|
||||
cv.Optional(CONF_TANK_VOLUME): sensor.sensor_schema(
|
||||
unit_of_measurement=UNIT_EMPTY,
|
||||
accuracy_decimals=0,
|
||||
device_class=DEVICE_CLASS_EMPTY,
|
||||
state_class=STATE_CLASS_MEASUREMENT,
|
||||
),
|
||||
cv.Optional(CONF_OIL_PUMP_TYPE): sensor.sensor_schema(
|
||||
unit_of_measurement=UNIT_EMPTY,
|
||||
accuracy_decimals=0,
|
||||
device_class=DEVICE_CLASS_EMPTY,
|
||||
state_class=STATE_CLASS_MEASUREMENT,
|
||||
),
|
||||
cv.Optional(CONF_RF433_ON_OFF): sensor.sensor_schema(
|
||||
unit_of_measurement=UNIT_EMPTY,
|
||||
accuracy_decimals=0,
|
||||
device_class=DEVICE_CLASS_EMPTY,
|
||||
state_class=STATE_CLASS_MEASUREMENT,
|
||||
),
|
||||
cv.Optional(CONF_TEMP_UNIT): sensor.sensor_schema(
|
||||
unit_of_measurement=UNIT_EMPTY,
|
||||
accuracy_decimals=0,
|
||||
device_class=DEVICE_CLASS_EMPTY,
|
||||
state_class=STATE_CLASS_MEASUREMENT,
|
||||
),
|
||||
cv.Optional(CONF_ALTITUDE_UNIT): sensor.sensor_schema(
|
||||
unit_of_measurement=UNIT_EMPTY,
|
||||
accuracy_decimals=0,
|
||||
device_class=DEVICE_CLASS_EMPTY,
|
||||
state_class=STATE_CLASS_MEASUREMENT,
|
||||
),
|
||||
cv.Optional(CONF_AUTOMATIC_HEATING): sensor.sensor_schema(
|
||||
unit_of_measurement=UNIT_EMPTY,
|
||||
accuracy_decimals=0,
|
||||
device_class=DEVICE_CLASS_EMPTY,
|
||||
state_class=STATE_CLASS_MEASUREMENT,
|
||||
),
|
||||
}
|
||||
).extend(ble_client.BLE_CLIENT_SCHEMA)
|
||||
|
||||
|
||||
async def to_code(config):
|
||||
var = await cg.get_variable(config[CONF_HEATER_ID])
|
||||
@ -198,7 +193,7 @@ async def to_code(config):
|
||||
CONF_SET_LEVEL,
|
||||
CONF_SET_TEMP,
|
||||
CONF_SUPPLY_VOLTAGE,
|
||||
CONF_CASE_TEMP,
|
||||
CONF_CASE_TEMP,
|
||||
CONF_CAB_TEMP,
|
||||
CONF_START_TIME,
|
||||
CONF_AUTO_TIME,
|
||||
@ -211,7 +206,8 @@ async def to_code(config):
|
||||
CONF_RF433_ON_OFF,
|
||||
CONF_TEMP_UNIT,
|
||||
CONF_ALTITUDE_UNIT,
|
||||
CONF_AUTOMATIC_HEATING]:
|
||||
CONF_AUTOMATIC_HEATING,
|
||||
]:
|
||||
if sensor_config := config.get(sensor_name):
|
||||
sens = await sensor.new_sensor(sensor_config)
|
||||
cg.add(getattr(var, f"set_{sensor_name}")(sens))
|
||||
|
@ -1,29 +1,18 @@
|
||||
import esphome.codegen as cg
|
||||
import esphome.config_validation as cv
|
||||
from esphome.components import switch
|
||||
import esphome.config_validation as cv
|
||||
|
||||
from . import DieselHeaterBLE, CONF_HEATER_ID, diesel_heater_ble_ns
|
||||
from . import CONF_HEATER_ID, DieselHeaterBLE, diesel_heater_ble_ns
|
||||
|
||||
CONFIG_SCHEMA = (
|
||||
cv.Schema(
|
||||
{
|
||||
cv.GenerateID(CONF_HEATER_ID): cv.use_id(DieselHeaterBLE),
|
||||
cv.Optional("power"): switch.switch_schema(
|
||||
diesel_heater_ble_ns.class_("PowerSwitch", switch.Switch),
|
||||
icon="mdi:power",
|
||||
),
|
||||
# cv.Optional("mode"): switch.switch_schema(
|
||||
# heater_ns.class_("ModeSwitch", switch.Switch),
|
||||
# icon="mdi:power",
|
||||
# ),
|
||||
# cv.Optional("alpine"): switch.switch_schema(
|
||||
# heater_ns.class_("AlpineSwitch", switch.Switch),
|
||||
# icon="mdi:power",
|
||||
# ),
|
||||
}
|
||||
)
|
||||
.extend(cv.COMPONENT_SCHEMA)
|
||||
)
|
||||
CONFIG_SCHEMA = cv.Schema(
|
||||
{
|
||||
cv.GenerateID(CONF_HEATER_ID): cv.use_id(DieselHeaterBLE),
|
||||
cv.Optional("power"): switch.switch_schema(
|
||||
diesel_heater_ble_ns.class_("PowerSwitch", switch.Switch),
|
||||
icon="mdi:power",
|
||||
),
|
||||
}
|
||||
).extend(cv.COMPONENT_SCHEMA)
|
||||
|
||||
|
||||
async def to_code(config):
|
||||
@ -33,4 +22,4 @@ async def to_code(config):
|
||||
if conf := config.get(switch_type):
|
||||
sw_var = await switch.new_switch(conf)
|
||||
await cg.register_parented(sw_var, parent)
|
||||
cg.add(getattr(parent, f"set_{switch_type}_switch")(sw_var))
|
||||
cg.add(getattr(parent, f"set_{switch_type}_switch")(sw_var))
|
||||
|
Loading…
x
Reference in New Issue
Block a user