mirror of
https://github.com/esphome/esphome.git
synced 2025-03-15 15:18:16 +00:00
update after review
This commit is contained in:
parent
c701f50793
commit
b991f910b2
@ -54,13 +54,17 @@ MSA_RANGES = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
MSAResolution = msa3xx_ns.enum("Resolution", True)
|
MSAResolution = msa3xx_ns.enum("Resolution", True)
|
||||||
MSA_RESOLUTIONS = {
|
RESOLUTIONS_MSA301 = {
|
||||||
14: MSAResolution.RES_14BIT,
|
14: MSAResolution.RES_14BIT,
|
||||||
12: MSAResolution.RES_12BIT,
|
12: MSAResolution.RES_12BIT,
|
||||||
10: MSAResolution.RES_10BIT,
|
10: MSAResolution.RES_10BIT,
|
||||||
8: MSAResolution.RES_8BIT,
|
8: MSAResolution.RES_8BIT,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
RESOLUTIONS_MSA311 = {
|
||||||
|
12: MSAResolution.RES_12BIT,
|
||||||
|
}
|
||||||
|
|
||||||
_COMMON_SCHEMA = cv.Schema(
|
_COMMON_SCHEMA = cv.Schema(
|
||||||
{
|
{
|
||||||
cv.GenerateID(): cv.declare_id(MSA3xxComponent),
|
cv.GenerateID(): cv.declare_id(MSA3xxComponent),
|
||||||
@ -99,14 +103,12 @@ CONFIG_SCHEMA = cv.typed_schema(
|
|||||||
{
|
{
|
||||||
MODEL_MSA301: _COMMON_SCHEMA.extend(
|
MODEL_MSA301: _COMMON_SCHEMA.extend(
|
||||||
{
|
{
|
||||||
cv.Optional(CONF_RESOLUTION, default=14): cv.enum(MSA_RESOLUTIONS),
|
cv.Optional(CONF_RESOLUTION, default=14): cv.enum(RESOLUTIONS_MSA301),
|
||||||
}
|
}
|
||||||
).extend(i2c.i2c_device_schema(0x26)),
|
).extend(i2c.i2c_device_schema(0x26)),
|
||||||
MODEL_MSA311: _COMMON_SCHEMA.extend(
|
MODEL_MSA311: _COMMON_SCHEMA.extend(
|
||||||
{
|
{
|
||||||
cv.Optional(CONF_RESOLUTION): cv.invalid(
|
cv.Optional(CONF_RESOLUTION, default=12): cv.enum(RESOLUTIONS_MSA311),
|
||||||
"MSA311 doesn't support different resolutions"
|
|
||||||
),
|
|
||||||
}
|
}
|
||||||
).extend(i2c.i2c_device_schema(0x62)),
|
).extend(i2c.i2c_device_schema(0x62)),
|
||||||
},
|
},
|
||||||
@ -114,21 +116,23 @@ CONFIG_SCHEMA = cv.typed_schema(
|
|||||||
enum=MSA_MODELS,
|
enum=MSA_MODELS,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
MSA_SENSOR_SCHEMA = cv.Schema(
|
||||||
|
{
|
||||||
|
cv.GenerateID(CONF_MSA3XX_ID): cv.use_id(MSA3xxComponent),
|
||||||
|
}
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
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 i2c.register_i2c_device(var, config)
|
await i2c.register_i2c_device(var, config)
|
||||||
|
|
||||||
if config[CONF_TYPE] == MODEL_MSA311:
|
|
||||||
config[CONF_RESOLUTION] = 12
|
|
||||||
|
|
||||||
cg.add(var.set_model(config[CONF_TYPE]))
|
cg.add(var.set_model(config[CONF_TYPE]))
|
||||||
cg.add(var.set_range(MSA_RANGES[config[CONF_RANGE]]))
|
cg.add(var.set_range(MSA_RANGES[config[CONF_RANGE]]))
|
||||||
cg.add(var.set_resolution(MSA_RESOLUTIONS[config[CONF_RESOLUTION]]))
|
cg.add(var.set_resolution(RESOLUTIONS_MSA301[config[CONF_RESOLUTION]]))
|
||||||
|
|
||||||
if CONF_TRANSFORM in config:
|
if transform := config.get(CONF_TRANSFORM):
|
||||||
transform = config[CONF_TRANSFORM]
|
|
||||||
cg.add(
|
cg.add(
|
||||||
var.set_transform(
|
var.set_transform(
|
||||||
transform[CONF_MIRROR_X],
|
transform[CONF_MIRROR_X],
|
||||||
@ -138,8 +142,7 @@ async def to_code(config):
|
|||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
if CONF_CALIBRATION in config:
|
if calibration_config := config.get(CONF_CALIBRATION):
|
||||||
calibration_config = config[CONF_CALIBRATION]
|
|
||||||
cg.add(
|
cg.add(
|
||||||
var.set_offset(
|
var.set_offset(
|
||||||
calibration_config[CONF_OFFSET_X],
|
calibration_config[CONF_OFFSET_X],
|
||||||
|
@ -3,7 +3,7 @@ from esphome.components import binary_sensor
|
|||||||
import esphome.config_validation as cv
|
import esphome.config_validation as cv
|
||||||
from esphome.const import CONF_ACTIVE, CONF_NAME, DEVICE_CLASS_VIBRATION, ICON_VIBRATE
|
from esphome.const import CONF_ACTIVE, CONF_NAME, DEVICE_CLASS_VIBRATION, ICON_VIBRATE
|
||||||
|
|
||||||
from . import CONF_MSA3XX_ID, MSA3xxComponent
|
from . import CONF_MSA3XX_ID, MSA_SENSOR_SCHEMA
|
||||||
|
|
||||||
CODEOWNERS = ["@latonita"]
|
CODEOWNERS = ["@latonita"]
|
||||||
DEPENDENCIES = ["msa3xx"]
|
DEPENDENCIES = ["msa3xx"]
|
||||||
@ -17,11 +17,7 @@ ICON_DOUBLE_TAP = "mdi:gesture-double-tap"
|
|||||||
EVENT_SENSORS = (CONF_TAP, CONF_DOUBLE_TAP, CONF_ACTIVE)
|
EVENT_SENSORS = (CONF_TAP, CONF_DOUBLE_TAP, CONF_ACTIVE)
|
||||||
ICONS = (ICON_TAP, ICON_DOUBLE_TAP, ICON_VIBRATE)
|
ICONS = (ICON_TAP, ICON_DOUBLE_TAP, ICON_VIBRATE)
|
||||||
|
|
||||||
CONFIG_SCHEMA = cv.Schema(
|
CONFIG_SCHEMA = MSA_SENSOR_SCHEMA.extend(
|
||||||
{
|
|
||||||
cv.GenerateID(CONF_MSA3XX_ID): cv.use_id(MSA3xxComponent),
|
|
||||||
}
|
|
||||||
).extend(
|
|
||||||
{
|
{
|
||||||
cv.Optional(event): cv.maybe_simple_value(
|
cv.Optional(event): cv.maybe_simple_value(
|
||||||
binary_sensor.binary_sensor_schema(
|
binary_sensor.binary_sensor_schema(
|
||||||
|
@ -11,7 +11,7 @@ from esphome.const import (
|
|||||||
UNIT_METER_PER_SECOND_SQUARED,
|
UNIT_METER_PER_SECOND_SQUARED,
|
||||||
)
|
)
|
||||||
|
|
||||||
from . import CONF_MSA3XX_ID, MSA3xxComponent
|
from . import CONF_MSA3XX_ID, MSA_SENSOR_SCHEMA
|
||||||
|
|
||||||
CODEOWNERS = ["@latonita"]
|
CODEOWNERS = ["@latonita"]
|
||||||
DEPENDENCIES = ["msa3xx"]
|
DEPENDENCIES = ["msa3xx"]
|
||||||
@ -29,11 +29,9 @@ accel_schema = cv.maybe_simple_value(
|
|||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
CONFIG_SCHEMA = cv.Schema(
|
CONFIG_SCHEMA = MSA_SENSOR_SCHEMA.extend(
|
||||||
{
|
{cv.Optional(sensor): accel_schema for sensor in ACCELERATION_SENSORS}
|
||||||
cv.GenerateID(CONF_MSA3XX_ID): cv.use_id(MSA3xxComponent),
|
)
|
||||||
}
|
|
||||||
).extend({cv.Optional(sensor): accel_schema for sensor in ACCELERATION_SENSORS})
|
|
||||||
|
|
||||||
|
|
||||||
async def to_code(config):
|
async def to_code(config):
|
||||||
|
@ -3,7 +3,7 @@ from esphome.components import text_sensor
|
|||||||
import esphome.config_validation as cv
|
import esphome.config_validation as cv
|
||||||
from esphome.const import CONF_NAME
|
from esphome.const import CONF_NAME
|
||||||
|
|
||||||
from . import CONF_MSA3XX_ID, MSA3xxComponent
|
from . import CONF_MSA3XX_ID, MSA_SENSOR_SCHEMA
|
||||||
|
|
||||||
CODEOWNERS = ["@latonita"]
|
CODEOWNERS = ["@latonita"]
|
||||||
DEPENDENCIES = ["msa3xx"]
|
DEPENDENCIES = ["msa3xx"]
|
||||||
@ -14,11 +14,7 @@ ICON_SCREEN_ROTATION = "mdi:screen-rotation"
|
|||||||
|
|
||||||
ORIENTATION_SENSORS = (CONF_ORIENTATION_XY, CONF_ORIENTATION_Z)
|
ORIENTATION_SENSORS = (CONF_ORIENTATION_XY, CONF_ORIENTATION_Z)
|
||||||
|
|
||||||
CONFIG_SCHEMA = cv.Schema(
|
CONFIG_SCHEMA = MSA_SENSOR_SCHEMA.extend(
|
||||||
{
|
|
||||||
cv.GenerateID(CONF_MSA3XX_ID): cv.use_id(MSA3xxComponent),
|
|
||||||
}
|
|
||||||
).extend(
|
|
||||||
{
|
{
|
||||||
cv.Optional(sensor): cv.maybe_simple_value(
|
cv.Optional(sensor): cv.maybe_simple_value(
|
||||||
text_sensor.text_sensor_schema(icon=ICON_SCREEN_ROTATION),
|
text_sensor.text_sensor_schema(icon=ICON_SCREEN_ROTATION),
|
||||||
|
Loading…
x
Reference in New Issue
Block a user