mirror of
https://github.com/home-assistant/core.git
synced 2025-04-25 09:47:52 +00:00
Tweak Dremel 3D Printer sensors (#94552)
This commit is contained in:
parent
4efe217d9b
commit
c6775920f5
@ -56,11 +56,11 @@ SENSOR_TYPES: tuple[Dremel3DPrinterSensorEntityDescription, ...] = (
|
||||
),
|
||||
Dremel3DPrinterSensorEntityDescription(
|
||||
key="remaining_time",
|
||||
translation_key="remaining_time",
|
||||
translation_key="completion_time",
|
||||
device_class=SensorDeviceClass.TIMESTAMP,
|
||||
available_fn=lambda api, key: api.get_job_status()[key] > 0,
|
||||
value_fn=ignore_variance(
|
||||
lambda api, key: utcnow() - timedelta(seconds=api.get_job_status()[key]),
|
||||
lambda api, key: utcnow() + timedelta(seconds=api.get_job_status()[key]),
|
||||
timedelta(minutes=2),
|
||||
),
|
||||
),
|
||||
@ -170,26 +170,22 @@ SENSOR_TYPES: tuple[Dremel3DPrinterSensorEntityDescription, ...] = (
|
||||
Dremel3DPrinterSensorEntityDescription(
|
||||
key="elapsed_time",
|
||||
translation_key="elapsed_time",
|
||||
device_class=SensorDeviceClass.TIMESTAMP,
|
||||
native_unit_of_measurement=UnitOfTime.SECONDS,
|
||||
device_class=SensorDeviceClass.DURATION,
|
||||
entity_category=EntityCategory.DIAGNOSTIC,
|
||||
entity_registry_enabled_default=False,
|
||||
available_fn=lambda api, _: api.get_printing_status() == "building",
|
||||
value_fn=ignore_variance(
|
||||
lambda api, key: utcnow() - timedelta(seconds=api.get_job_status()[key]),
|
||||
timedelta(minutes=2),
|
||||
),
|
||||
value_fn=lambda api, key: api.get_job_status()[key],
|
||||
),
|
||||
Dremel3DPrinterSensorEntityDescription(
|
||||
key="estimated_total_time",
|
||||
translation_key="estimated_total_time",
|
||||
device_class=SensorDeviceClass.TIMESTAMP,
|
||||
native_unit_of_measurement=UnitOfTime.SECONDS,
|
||||
device_class=SensorDeviceClass.DURATION,
|
||||
entity_category=EntityCategory.DIAGNOSTIC,
|
||||
entity_registry_enabled_default=False,
|
||||
available_fn=lambda api, key: api.get_job_status()[key] > 0,
|
||||
value_fn=ignore_variance(
|
||||
lambda api, key: utcnow() - timedelta(seconds=api.get_job_status()[key]),
|
||||
timedelta(minutes=2),
|
||||
),
|
||||
value_fn=lambda api, key: api.get_job_status()[key],
|
||||
),
|
||||
Dremel3DPrinterSensorEntityDescription(
|
||||
key="job_status",
|
||||
@ -245,7 +241,6 @@ SENSOR_TYPES: tuple[Dremel3DPrinterSensorEntityDescription, ...] = (
|
||||
translation_key="hours_used",
|
||||
icon="mdi:clock",
|
||||
native_unit_of_measurement=UnitOfTime.HOURS,
|
||||
device_class=SensorDeviceClass.DURATION,
|
||||
entity_category=EntityCategory.DIAGNOSTIC,
|
||||
entity_registry_enabled_default=False,
|
||||
value_fn=lambda api, key: api.get_printer_info()[key],
|
||||
|
@ -20,8 +20,8 @@
|
||||
"job_phase": {
|
||||
"name": "Job phase"
|
||||
},
|
||||
"remaining_time": {
|
||||
"name": "Remaining time"
|
||||
"completion_time": {
|
||||
"name": "Completion time"
|
||||
},
|
||||
"progress": {
|
||||
"name": "Progress"
|
||||
|
@ -38,8 +38,8 @@ async def test_sensors(
|
||||
assert await async_setup_component(hass, DOMAIN, {})
|
||||
state = hass.states.get("sensor.dremel_3d45_job_phase")
|
||||
assert state.state == "building"
|
||||
state = hass.states.get("sensor.dremel_3d45_remaining_time")
|
||||
assert state.state == "2023-05-31T12:27:44+00:00"
|
||||
state = hass.states.get("sensor.dremel_3d45_completion_time")
|
||||
assert state.state == "2023-05-31T14:32:16+00:00"
|
||||
assert state.attributes.get(ATTR_DEVICE_CLASS) == SensorDeviceClass.TIMESTAMP
|
||||
state = hass.states.get("sensor.dremel_3d45_progress")
|
||||
assert state.state == "13.9"
|
||||
@ -85,11 +85,13 @@ async def test_sensors(
|
||||
state = hass.states.get("sensor.dremel_3d45_filament")
|
||||
assert state.state == "ECO-ABS"
|
||||
state = hass.states.get("sensor.dremel_3d45_elapsed_time")
|
||||
assert state.state == "2023-05-31T13:30:00+00:00"
|
||||
assert state.attributes.get(ATTR_DEVICE_CLASS) == SensorDeviceClass.TIMESTAMP
|
||||
assert state.state == "0"
|
||||
assert state.attributes.get(ATTR_DEVICE_CLASS) == SensorDeviceClass.DURATION
|
||||
assert state.attributes.get(ATTR_UNIT_OF_MEASUREMENT) == UnitOfTime.SECONDS
|
||||
state = hass.states.get("sensor.dremel_3d45_estimated_total_time")
|
||||
assert state.state == "2023-05-31T12:17:40+00:00"
|
||||
assert state.attributes.get(ATTR_DEVICE_CLASS) == SensorDeviceClass.TIMESTAMP
|
||||
assert state.state == "4340"
|
||||
assert state.attributes.get(ATTR_DEVICE_CLASS) == SensorDeviceClass.DURATION
|
||||
assert state.attributes.get(ATTR_UNIT_OF_MEASUREMENT) == UnitOfTime.SECONDS
|
||||
state = hass.states.get("sensor.dremel_3d45_job_status")
|
||||
assert state.state == "building"
|
||||
state = hass.states.get("sensor.dremel_3d45_job_name")
|
||||
@ -107,4 +109,3 @@ async def test_sensors(
|
||||
state = hass.states.get("sensor.dremel_3d45_hours_used")
|
||||
assert state.state == "7"
|
||||
assert state.attributes.get(ATTR_UNIT_OF_MEASUREMENT) is UnitOfTime.HOURS
|
||||
assert state.attributes.get(ATTR_DEVICE_CLASS) == SensorDeviceClass.DURATION
|
||||
|
Loading…
x
Reference in New Issue
Block a user