Don't include unit in BLE sensors when they are matched against the native type.

It's likely to just include the native type name anyway.
This commit is contained in:
Fabio Manganiello 2023-03-22 14:14:59 +01:00
parent 486f37a45e
commit f7e8cfe5a7
Signed by untrusted user: blacklight
GPG key ID: D90FBA7F76362774

View file

@ -168,17 +168,11 @@ _property_to_entity: Dict[str, Callable[[Any, Dict[str, Any]], Entity]] = {
# Maps reported units to transformer methods (second mapper choice). # Maps reported units to transformer methods (second mapper choice).
_unit_to_entity: Dict[str, Callable[[Any, Dict[str, Any]], Entity]] = { _unit_to_entity: Dict[str, Callable[[Any, Dict[str, Any]], Entity]] = {
'status': lambda value, _: BinarySensor(value=value), 'status': lambda value, _: BinarySensor(value=value),
'int': lambda value, conf: NumericSensor( 'int': lambda value, _: NumericSensor(value=value),
value=value, 'float': lambda value, _: NumericSensor(value=value),
unit=conf.get('unit'),
),
'float': lambda value, conf: NumericSensor(
value=value,
unit=conf.get('unit'),
),
'%': lambda value, conf: NumericSensor( '%': lambda value, conf: NumericSensor(
value=value, value=value,
unit='%', unit=conf.get('unit', '%'),
min=conf.get('min', 0), min=conf.get('min', 0),
max=conf.get('min', 100), max=conf.get('min', 100),
), ),
@ -188,9 +182,9 @@ _unit_to_entity: Dict[str, Callable[[Any, Dict[str, Any]], Entity]] = {
# Maps value types to transformer methods (third mapper choice). # Maps value types to transformer methods (third mapper choice).
_value_type_to_entity: Dict[type, Callable[[Any, Dict[str, Any]], Entity]] = { _value_type_to_entity: Dict[type, Callable[[Any, Dict[str, Any]], Entity]] = {
bool: lambda value, _: BinarySensor(value=value), bool: lambda value, _: BinarySensor(value=value),
int: lambda value, conf: NumericSensor(value=value, unit=conf.get('unit')), int: lambda value, _: NumericSensor(value=value),
float: lambda value, conf: NumericSensor(value=value, unit=conf.get('unit')), float: lambda value, _: NumericSensor(value=value),
str: lambda value, conf: RawSensor(value=value, unit=conf.get('unit')), str: lambda value, _: RawSensor(value=value),
bytes: lambda value, _: RawSensor(value=value), bytes: lambda value, _: RawSensor(value=value),
bytearray: lambda value, _: RawSensor(value=value), bytearray: lambda value, _: RawSensor(value=value),
} }