Bump pyprusalink to 2.1.1 and support Prusa MK3 (#114210)

Co-authored-by: Robert Resch <robert@resch.dev>
Co-authored-by: J. Nick Koston <nick@koston.org>
This commit is contained in:
Tereza Tomcova 2024-03-27 15:26:44 +01:00 committed by GitHub
parent 1a64be6da6
commit a00c1fa241
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
11 changed files with 244 additions and 20 deletions

View file

@ -146,13 +146,15 @@ SENSORS: dict[str, tuple[PrusaLinkSensorEntityDescription, ...]] = {
translation_key="progress",
native_unit_of_measurement=PERCENTAGE,
value_fn=lambda data: cast(float, data["progress"]),
available_fn=lambda data: data.get("progress") is not None,
available_fn=lambda data: data.get("progress") is not None
and data.get("state") != PrinterState.IDLE.value,
),
PrusaLinkSensorEntityDescription[JobInfo](
key="job.filename",
translation_key="filename",
value_fn=lambda data: cast(str, data["file"]["display_name"]),
available_fn=lambda data: data.get("file") is not None,
available_fn=lambda data: data.get("file") is not None
and data.get("state") != PrinterState.IDLE.value,
),
PrusaLinkSensorEntityDescription[JobInfo](
key="job.start",
@ -162,7 +164,8 @@ SENSORS: dict[str, tuple[PrusaLinkSensorEntityDescription, ...]] = {
lambda data: (utcnow() - timedelta(seconds=data["time_printing"])),
timedelta(minutes=2),
),
available_fn=lambda data: data.get("time_printing") is not None,
available_fn=lambda data: data.get("time_printing") is not None
and data.get("state") != PrinterState.IDLE.value,
),
PrusaLinkSensorEntityDescription[JobInfo](
key="job.finish",
@ -172,7 +175,8 @@ SENSORS: dict[str, tuple[PrusaLinkSensorEntityDescription, ...]] = {
lambda data: (utcnow() + timedelta(seconds=data["time_remaining"])),
timedelta(minutes=2),
),
available_fn=lambda data: data.get("time_remaining") is not None,
available_fn=lambda data: data.get("time_remaining") is not None
and data.get("state") != PrinterState.IDLE.value,
),
),
}