Add Lux to homee units (#163180)

This commit is contained in:
Markus Adrario
2026-02-16 17:32:22 +01:00
committed by GitHub
parent 9e14a643c0
commit 19aaaf6cc6
4 changed files with 138 additions and 62 deletions

View File

@@ -31,6 +31,7 @@ HOMEE_UNIT_TO_HA_UNIT = {
"n/a": None,
"text": None,
"%": PERCENTAGE,
"Lux": LIGHT_LUX,
"lx": LIGHT_LUX,
"klx": LIGHT_LUX,
"1/min": REVOLUTIONS_PER_MINUTE,

View File

@@ -111,7 +111,7 @@
"current_value": 175.0,
"target_value": 175.0,
"last_value": 66.0,
"unit": "lx",
"unit": "Lux",
"step_value": 1.0,
"editable": 0,
"type": 11,
@@ -126,6 +126,27 @@
{
"id": 6,
"node_id": 1,
"instance": 1,
"minimum": 0,
"maximum": 65000,
"current_value": 175.0,
"target_value": 175.0,
"last_value": 66.0,
"unit": "lx",
"step_value": 1.0,
"editable": 0,
"type": 11,
"state": 1,
"last_changed": 1709982926,
"changed_by": 1,
"changed_by_id": 0,
"based_on": 1,
"data": "",
"name": ""
},
{
"id": 7,
"node_id": 1,
"instance": 2,
"minimum": 1,
"maximum": 100,
@@ -145,7 +166,7 @@
"name": ""
},
{
"id": 7,
"id": 8,
"node_id": 1,
"instance": 1,
"minimum": 0,
@@ -166,7 +187,7 @@
"name": ""
},
{
"id": 8,
"id": 9,
"node_id": 1,
"instance": 2,
"minimum": 0,
@@ -187,7 +208,7 @@
"name": ""
},
{
"id": 9,
"id": 10,
"node_id": 1,
"instance": 0,
"minimum": 0,
@@ -208,7 +229,7 @@
"name": ""
},
{
"id": 10,
"id": 11,
"node_id": 1,
"instance": 0,
"minimum": 0,
@@ -229,7 +250,7 @@
"name": ""
},
{
"id": 11,
"id": 12,
"node_id": 1,
"instance": 0,
"minimum": -40,
@@ -250,7 +271,7 @@
"name": ""
},
{
"id": 12,
"id": 13,
"node_id": 1,
"instance": 0,
"minimum": 0,
@@ -271,7 +292,7 @@
"name": ""
},
{
"id": 13,
"id": 14,
"node_id": 1,
"instance": 0,
"minimum": 0,
@@ -292,7 +313,7 @@
"name": ""
},
{
"id": 14,
"id": 15,
"node_id": 1,
"instance": 0,
"minimum": -64,
@@ -313,7 +334,7 @@
"name": ""
},
{
"id": 15,
"id": 16,
"node_id": 1,
"instance": 0,
"minimum": 0,
@@ -334,7 +355,7 @@
"name": ""
},
{
"id": 16,
"id": 17,
"node_id": 1,
"instance": 0,
"minimum": 0,
@@ -355,7 +376,7 @@
"name": ""
},
{
"id": 17,
"id": 18,
"node_id": 1,
"instance": 0,
"minimum": 0,
@@ -376,7 +397,7 @@
"name": ""
},
{
"id": 18,
"id": 19,
"node_id": 1,
"instance": 0,
"minimum": 0,
@@ -397,7 +418,7 @@
"name": ""
},
{
"id": 19,
"id": 20,
"node_id": 1,
"instance": 0,
"minimum": 0,
@@ -418,7 +439,7 @@
"name": ""
},
{
"id": 20,
"id": 21,
"node_id": 1,
"instance": 0,
"minimum": -64,
@@ -439,7 +460,7 @@
"name": ""
},
{
"id": 21,
"id": 22,
"node_id": 1,
"instance": 0,
"minimum": 0,
@@ -460,7 +481,7 @@
"name": ""
},
{
"id": 22,
"id": 23,
"node_id": 1,
"instance": 0,
"minimum": 0,
@@ -481,7 +502,7 @@
"name": ""
},
{
"id": 23,
"id": 24,
"node_id": 1,
"instance": 0,
"minimum": -50,
@@ -502,7 +523,7 @@
"name": ""
},
{
"id": 24,
"id": 25,
"node_id": 1,
"instance": 0,
"minimum": 0,
@@ -523,7 +544,7 @@
"name": ""
},
{
"id": 25,
"id": 26,
"node_id": 1,
"instance": 0,
"minimum": 0,
@@ -544,7 +565,7 @@
"name": ""
},
{
"id": 26,
"id": 27,
"node_id": 1,
"instance": 0,
"minimum": 0,
@@ -565,7 +586,7 @@
"name": ""
},
{
"id": 27,
"id": 28,
"node_id": 1,
"instance": 0,
"minimum": 0,
@@ -586,7 +607,7 @@
"name": ""
},
{
"id": 28,
"id": 29,
"node_id": 1,
"instance": 0,
"minimum": 0,
@@ -607,7 +628,7 @@
"name": ""
},
{
"id": 29,
"id": 30,
"node_id": 1,
"instance": 0,
"minimum": 0,
@@ -628,7 +649,7 @@
"name": ""
},
{
"id": 30,
"id": 31,
"node_id": 1,
"instance": 1,
"minimum": 0,
@@ -649,7 +670,7 @@
"name": ""
},
{
"id": 31,
"id": 32,
"node_id": 1,
"instance": 2,
"minimum": 0,
@@ -670,7 +691,7 @@
"name": ""
},
{
"id": 32,
"id": 33,
"node_id": 1,
"instance": 0,
"minimum": 0,
@@ -691,7 +712,7 @@
"name": ""
},
{
"id": 33,
"id": 34,
"node_id": 1,
"instance": 0,
"minimum": 0,
@@ -712,7 +733,7 @@
"name": ""
},
{
"id": 34,
"id": 35,
"node_id": 1,
"instance": 0,
"minimum": -50,
@@ -740,7 +761,7 @@
}
},
{
"id": 35,
"id": 36,
"node_id": 1,
"instance": 0,
"minimum": -50,

View File

@@ -90,7 +90,7 @@
'suggested_object_id': None,
'supported_features': 0,
'translation_key': 'current_instance',
'unique_id': '00055511EECC-1-7',
'unique_id': '00055511EECC-1-8',
'unit_of_measurement': <UnitOfElectricCurrent.AMPERE: 'A'>,
})
# ---
@@ -147,7 +147,7 @@
'suggested_object_id': None,
'supported_features': 0,
'translation_key': 'current_instance',
'unique_id': '00055511EECC-1-8',
'unique_id': '00055511EECC-1-9',
'unit_of_measurement': <UnitOfElectricCurrent.AMPERE: 'A'>,
})
# ---
@@ -201,7 +201,7 @@
'suggested_object_id': None,
'supported_features': 0,
'translation_key': 'dawn',
'unique_id': '00055511EECC-1-10',
'unique_id': '00055511EECC-1-11',
'unit_of_measurement': 'lx',
})
# ---
@@ -258,7 +258,7 @@
'suggested_object_id': None,
'supported_features': 0,
'translation_key': 'device_temperature',
'unique_id': '00055511EECC-1-11',
'unique_id': '00055511EECC-1-12',
'unit_of_measurement': <UnitOfTemperature.CELSIUS: '°C'>,
})
# ---
@@ -426,7 +426,7 @@
'suggested_object_id': None,
'supported_features': 0,
'translation_key': 'exhaust_motor_revs',
'unique_id': '00055511EECC-1-12',
'unique_id': '00055511EECC-1-13',
'unit_of_measurement': 'rpm',
})
# ---
@@ -482,7 +482,7 @@
'suggested_object_id': None,
'supported_features': 0,
'translation_key': 'external_temperature',
'unique_id': '00055511EECC-1-34',
'unique_id': '00055511EECC-1-35',
'unit_of_measurement': <UnitOfTemperature.CELSIUS: '°C'>,
})
# ---
@@ -539,7 +539,7 @@
'suggested_object_id': None,
'supported_features': 0,
'translation_key': 'floor_temperature',
'unique_id': '00055511EECC-1-35',
'unique_id': '00055511EECC-1-36',
'unit_of_measurement': <UnitOfTemperature.CELSIUS: '°C'>,
})
# ---
@@ -593,7 +593,7 @@
'suggested_object_id': None,
'supported_features': 0,
'translation_key': 'humidity',
'unique_id': '00055511EECC-1-22',
'unique_id': '00055511EECC-1-23',
'unit_of_measurement': '%',
})
# ---
@@ -720,6 +720,60 @@
'state': '175.0',
})
# ---
# name: test_sensor_snapshot[sensor.test_multisensor_illuminance_1_2-entry]
EntityRegistryEntrySnapshot({
'aliases': set({
}),
'area_id': None,
'capabilities': dict({
'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>,
}),
'config_entry_id': <ANY>,
'config_subentry_id': <ANY>,
'device_class': None,
'device_id': <ANY>,
'disabled_by': None,
'domain': 'sensor',
'entity_category': None,
'entity_id': 'sensor.test_multisensor_illuminance_1_2',
'has_entity_name': True,
'hidden_by': None,
'icon': None,
'id': <ANY>,
'labels': set({
}),
'name': None,
'object_id_base': 'Illuminance 1',
'options': dict({
}),
'original_device_class': <SensorDeviceClass.ILLUMINANCE: 'illuminance'>,
'original_icon': None,
'original_name': 'Illuminance 1',
'platform': 'homee',
'previous_unique_id': None,
'suggested_object_id': None,
'supported_features': 0,
'translation_key': 'brightness_instance',
'unique_id': '00055511EECC-1-6',
'unit_of_measurement': 'lx',
})
# ---
# name: test_sensor_snapshot[sensor.test_multisensor_illuminance_1_2-state]
StateSnapshot({
'attributes': ReadOnlyDict({
'device_class': 'illuminance',
'friendly_name': 'Test MultiSensor Illuminance 1',
'state_class': <SensorStateClass.MEASUREMENT: 'measurement'>,
'unit_of_measurement': 'lx',
}),
'context': <ANY>,
'entity_id': 'sensor.test_multisensor_illuminance_1_2',
'last_changed': <ANY>,
'last_reported': <ANY>,
'last_updated': <ANY>,
'state': '175.0',
})
# ---
# name: test_sensor_snapshot[sensor.test_multisensor_illuminance_2-entry]
EntityRegistryEntrySnapshot({
'aliases': set({
@@ -754,7 +808,7 @@
'suggested_object_id': None,
'supported_features': 0,
'translation_key': 'brightness_instance',
'unique_id': '00055511EECC-1-6',
'unique_id': '00055511EECC-1-7',
'unit_of_measurement': 'lx',
})
# ---
@@ -808,7 +862,7 @@
'suggested_object_id': None,
'supported_features': 0,
'translation_key': 'indoor_humidity',
'unique_id': '00055511EECC-1-13',
'unique_id': '00055511EECC-1-14',
'unit_of_measurement': '%',
})
# ---
@@ -865,7 +919,7 @@
'suggested_object_id': None,
'supported_features': 0,
'translation_key': 'indoor_temperature',
'unique_id': '00055511EECC-1-14',
'unique_id': '00055511EECC-1-15',
'unit_of_measurement': <UnitOfTemperature.CELSIUS: '°C'>,
})
# ---
@@ -919,7 +973,7 @@
'suggested_object_id': None,
'supported_features': 0,
'translation_key': 'intake_motor_revs',
'unique_id': '00055511EECC-1-15',
'unique_id': '00055511EECC-1-16',
'unit_of_measurement': 'rpm',
})
# ---
@@ -975,7 +1029,7 @@
'suggested_object_id': None,
'supported_features': 0,
'translation_key': 'level',
'unique_id': '00055511EECC-1-16',
'unique_id': '00055511EECC-1-17',
'unit_of_measurement': <UnitOfVolume.LITERS: 'L'>,
})
# ---
@@ -1029,7 +1083,7 @@
'suggested_object_id': None,
'supported_features': 0,
'translation_key': 'link_quality',
'unique_id': '00055511EECC-1-17',
'unique_id': '00055511EECC-1-18',
'unit_of_measurement': None,
})
# ---
@@ -1167,7 +1221,7 @@
'suggested_object_id': None,
'supported_features': 0,
'translation_key': 'operating_hours',
'unique_id': '00055511EECC-1-18',
'unique_id': '00055511EECC-1-19',
'unit_of_measurement': <UnitOfTime.HOURS: 'h'>,
})
# ---
@@ -1221,7 +1275,7 @@
'suggested_object_id': None,
'supported_features': 0,
'translation_key': 'outdoor_humidity',
'unique_id': '00055511EECC-1-19',
'unique_id': '00055511EECC-1-20',
'unit_of_measurement': '%',
})
# ---
@@ -1278,7 +1332,7 @@
'suggested_object_id': None,
'supported_features': 0,
'translation_key': 'outdoor_temperature',
'unique_id': '00055511EECC-1-20',
'unique_id': '00055511EECC-1-21',
'unit_of_measurement': <UnitOfTemperature.CELSIUS: '°C'>,
})
# ---
@@ -1332,7 +1386,7 @@
'suggested_object_id': None,
'supported_features': 0,
'translation_key': 'position',
'unique_id': '00055511EECC-1-21',
'unique_id': '00055511EECC-1-22',
'unit_of_measurement': '%',
})
# ---
@@ -1391,7 +1445,7 @@
'suggested_object_id': None,
'supported_features': 0,
'translation_key': 'up_down',
'unique_id': '00055511EECC-1-28',
'unique_id': '00055511EECC-1-29',
'unit_of_measurement': None,
})
# ---
@@ -1453,7 +1507,7 @@
'suggested_object_id': None,
'supported_features': 0,
'translation_key': 'temperature',
'unique_id': '00055511EECC-1-23',
'unique_id': '00055511EECC-1-24',
'unit_of_measurement': <UnitOfTemperature.CELSIUS: '°C'>,
})
# ---
@@ -1510,7 +1564,7 @@
'suggested_object_id': None,
'supported_features': 0,
'translation_key': 'total_current',
'unique_id': '00055511EECC-1-25',
'unique_id': '00055511EECC-1-26',
'unit_of_measurement': <UnitOfElectricCurrent.AMPERE: 'A'>,
})
# ---
@@ -1567,7 +1621,7 @@
'suggested_object_id': None,
'supported_features': 0,
'translation_key': 'total_energy',
'unique_id': '00055511EECC-1-24',
'unique_id': '00055511EECC-1-25',
'unit_of_measurement': <UnitOfEnergy.KILO_WATT_HOUR: 'kWh'>,
})
# ---
@@ -1624,7 +1678,7 @@
'suggested_object_id': None,
'supported_features': 0,
'translation_key': 'total_power',
'unique_id': '00055511EECC-1-26',
'unique_id': '00055511EECC-1-27',
'unit_of_measurement': <UnitOfPower.WATT: 'W'>,
})
# ---
@@ -1681,7 +1735,7 @@
'suggested_object_id': None,
'supported_features': 0,
'translation_key': 'total_voltage',
'unique_id': '00055511EECC-1-27',
'unique_id': '00055511EECC-1-28',
'unit_of_measurement': <UnitOfElectricPotential.VOLT: 'V'>,
})
# ---
@@ -1735,7 +1789,7 @@
'suggested_object_id': None,
'supported_features': 0,
'translation_key': 'uv',
'unique_id': '00055511EECC-1-29',
'unique_id': '00055511EECC-1-30',
'unit_of_measurement': None,
})
# ---
@@ -1790,7 +1844,7 @@
'suggested_object_id': None,
'supported_features': 0,
'translation_key': 'voltage_instance',
'unique_id': '00055511EECC-1-30',
'unique_id': '00055511EECC-1-31',
'unit_of_measurement': <UnitOfElectricPotential.VOLT: 'V'>,
})
# ---
@@ -1847,7 +1901,7 @@
'suggested_object_id': None,
'supported_features': 0,
'translation_key': 'voltage_instance',
'unique_id': '00055511EECC-1-31',
'unique_id': '00055511EECC-1-32',
'unit_of_measurement': <UnitOfElectricPotential.VOLT: 'V'>,
})
# ---
@@ -1907,7 +1961,7 @@
'suggested_object_id': None,
'supported_features': 0,
'translation_key': 'wind_speed',
'unique_id': '00055511EECC-1-32',
'unique_id': '00055511EECC-1-33',
'unit_of_measurement': <UnitOfSpeed.KILOMETERS_PER_HOUR: 'km/h'>,
})
# ---
@@ -1965,7 +2019,7 @@
'suggested_object_id': None,
'supported_features': 0,
'translation_key': 'window_position',
'unique_id': '00055511EECC-1-33',
'unique_id': '00055511EECC-1-34',
'unit_of_measurement': None,
})
# ---

View File

@@ -49,7 +49,7 @@ async def test_up_down_values(
assert hass.states.get("sensor.test_multisensor_state").state == OPEN_CLOSE_MAP[0]
attribute = mock_homee.nodes[0].attributes[27]
attribute = mock_homee.nodes[0].attributes[28]
for i in range(1, 5):
await async_update_attribute_value(hass, attribute, i)
assert (
@@ -79,7 +79,7 @@ async def test_window_position(
== WINDOW_MAP[0]
)
attribute = mock_homee.nodes[0].attributes[32]
attribute = mock_homee.nodes[0].attributes[33]
for i in range(1, 3):
await async_update_attribute_value(hass, attribute, i)
assert (
@@ -137,7 +137,7 @@ async def test_entity_update_action(
blocking=True,
)
mock_homee.update_attribute.assert_called_once_with(1, 23)
mock_homee.update_attribute.assert_called_once_with(1, 24)
async def test_sensor_snapshot(