Add icon translations to Prusalink (#112188)
This commit is contained in:
parent
85aadb2a20
commit
2585b240d3
3 changed files with 35 additions and 9 deletions
|
@ -40,7 +40,6 @@ BUTTONS: dict[str, tuple[PrusaLinkButtonEntityDescription, ...]] = {
|
||||||
PrusaLinkButtonEntityDescription[PrinterStatus](
|
PrusaLinkButtonEntityDescription[PrinterStatus](
|
||||||
key="printer.cancel_job",
|
key="printer.cancel_job",
|
||||||
translation_key="cancel_job",
|
translation_key="cancel_job",
|
||||||
icon="mdi:cancel",
|
|
||||||
press_fn=lambda api: api.cancel_job,
|
press_fn=lambda api: api.cancel_job,
|
||||||
available_fn=lambda data: (
|
available_fn=lambda data: (
|
||||||
data["printer"]["state"]
|
data["printer"]["state"]
|
||||||
|
@ -50,7 +49,6 @@ BUTTONS: dict[str, tuple[PrusaLinkButtonEntityDescription, ...]] = {
|
||||||
PrusaLinkButtonEntityDescription[PrinterStatus](
|
PrusaLinkButtonEntityDescription[PrinterStatus](
|
||||||
key="job.pause_job",
|
key="job.pause_job",
|
||||||
translation_key="pause_job",
|
translation_key="pause_job",
|
||||||
icon="mdi:pause",
|
|
||||||
press_fn=lambda api: api.pause_job,
|
press_fn=lambda api: api.pause_job,
|
||||||
available_fn=lambda data: cast(
|
available_fn=lambda data: cast(
|
||||||
bool, data["printer"]["state"] == PrinterState.PRINTING.value
|
bool, data["printer"]["state"] == PrinterState.PRINTING.value
|
||||||
|
@ -59,7 +57,6 @@ BUTTONS: dict[str, tuple[PrusaLinkButtonEntityDescription, ...]] = {
|
||||||
PrusaLinkButtonEntityDescription[PrinterStatus](
|
PrusaLinkButtonEntityDescription[PrinterStatus](
|
||||||
key="job.resume_job",
|
key="job.resume_job",
|
||||||
translation_key="resume_job",
|
translation_key="resume_job",
|
||||||
icon="mdi:play",
|
|
||||||
press_fn=lambda api: api.resume_job,
|
press_fn=lambda api: api.resume_job,
|
||||||
available_fn=lambda data: cast(
|
available_fn=lambda data: cast(
|
||||||
bool, data["printer"]["state"] == PrinterState.PAUSED.value
|
bool, data["printer"]["state"] == PrinterState.PAUSED.value
|
||||||
|
|
35
homeassistant/components/prusalink/icons.json
Normal file
35
homeassistant/components/prusalink/icons.json
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
{
|
||||||
|
"entity": {
|
||||||
|
"button": {
|
||||||
|
"cancel_job": {
|
||||||
|
"default": "mdi:cancel"
|
||||||
|
},
|
||||||
|
"pause_job": {
|
||||||
|
"default": "mdi:pause"
|
||||||
|
},
|
||||||
|
"resume_job": {
|
||||||
|
"default": "mdi:play"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"sensor": {
|
||||||
|
"printer_state": {
|
||||||
|
"default": "mdi:printer-3d"
|
||||||
|
},
|
||||||
|
"material": {
|
||||||
|
"default": "mdi:palette-swatch-variant"
|
||||||
|
},
|
||||||
|
"progress": {
|
||||||
|
"default": "mdi:progress-clock"
|
||||||
|
},
|
||||||
|
"filename": {
|
||||||
|
"default": "mdi:file-image-outline"
|
||||||
|
},
|
||||||
|
"print_start": {
|
||||||
|
"default": "mdi:clock-start"
|
||||||
|
},
|
||||||
|
"print_finish": {
|
||||||
|
"default": "mdi:clock-end"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -54,7 +54,6 @@ SENSORS: dict[str, tuple[PrusaLinkSensorEntityDescription, ...]] = {
|
||||||
PrusaLinkSensorEntityDescription[PrinterStatus](
|
PrusaLinkSensorEntityDescription[PrinterStatus](
|
||||||
key="printer.state",
|
key="printer.state",
|
||||||
name=None,
|
name=None,
|
||||||
icon="mdi:printer-3d",
|
|
||||||
value_fn=lambda data: (cast(str, data["printer"]["state"].lower())),
|
value_fn=lambda data: (cast(str, data["printer"]["state"].lower())),
|
||||||
device_class=SensorDeviceClass.ENUM,
|
device_class=SensorDeviceClass.ENUM,
|
||||||
options=[state.value.lower() for state in PrinterState],
|
options=[state.value.lower() for state in PrinterState],
|
||||||
|
@ -137,7 +136,6 @@ SENSORS: dict[str, tuple[PrusaLinkSensorEntityDescription, ...]] = {
|
||||||
PrusaLinkSensorEntityDescription[LegacyPrinterStatus](
|
PrusaLinkSensorEntityDescription[LegacyPrinterStatus](
|
||||||
key="printer.telemetry.material",
|
key="printer.telemetry.material",
|
||||||
translation_key="material",
|
translation_key="material",
|
||||||
icon="mdi:palette-swatch-variant",
|
|
||||||
value_fn=lambda data: cast(str, data["telemetry"]["material"]),
|
value_fn=lambda data: cast(str, data["telemetry"]["material"]),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
@ -145,7 +143,6 @@ SENSORS: dict[str, tuple[PrusaLinkSensorEntityDescription, ...]] = {
|
||||||
PrusaLinkSensorEntityDescription[JobInfo](
|
PrusaLinkSensorEntityDescription[JobInfo](
|
||||||
key="job.progress",
|
key="job.progress",
|
||||||
translation_key="progress",
|
translation_key="progress",
|
||||||
icon="mdi:progress-clock",
|
|
||||||
native_unit_of_measurement=PERCENTAGE,
|
native_unit_of_measurement=PERCENTAGE,
|
||||||
value_fn=lambda data: cast(float, data["progress"]),
|
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,
|
||||||
|
@ -153,7 +150,6 @@ SENSORS: dict[str, tuple[PrusaLinkSensorEntityDescription, ...]] = {
|
||||||
PrusaLinkSensorEntityDescription[JobInfo](
|
PrusaLinkSensorEntityDescription[JobInfo](
|
||||||
key="job.filename",
|
key="job.filename",
|
||||||
translation_key="filename",
|
translation_key="filename",
|
||||||
icon="mdi:file-image-outline",
|
|
||||||
value_fn=lambda data: cast(str, data["file"]["display_name"]),
|
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,
|
||||||
),
|
),
|
||||||
|
@ -161,7 +157,6 @@ SENSORS: dict[str, tuple[PrusaLinkSensorEntityDescription, ...]] = {
|
||||||
key="job.start",
|
key="job.start",
|
||||||
translation_key="print_start",
|
translation_key="print_start",
|
||||||
device_class=SensorDeviceClass.TIMESTAMP,
|
device_class=SensorDeviceClass.TIMESTAMP,
|
||||||
icon="mdi:clock-start",
|
|
||||||
value_fn=ignore_variance(
|
value_fn=ignore_variance(
|
||||||
lambda data: (utcnow() - timedelta(seconds=data["time_printing"])),
|
lambda data: (utcnow() - timedelta(seconds=data["time_printing"])),
|
||||||
timedelta(minutes=2),
|
timedelta(minutes=2),
|
||||||
|
@ -171,7 +166,6 @@ SENSORS: dict[str, tuple[PrusaLinkSensorEntityDescription, ...]] = {
|
||||||
PrusaLinkSensorEntityDescription[JobInfo](
|
PrusaLinkSensorEntityDescription[JobInfo](
|
||||||
key="job.finish",
|
key="job.finish",
|
||||||
translation_key="print_finish",
|
translation_key="print_finish",
|
||||||
icon="mdi:clock-end",
|
|
||||||
device_class=SensorDeviceClass.TIMESTAMP,
|
device_class=SensorDeviceClass.TIMESTAMP,
|
||||||
value_fn=ignore_variance(
|
value_fn=ignore_variance(
|
||||||
lambda data: (utcnow() + timedelta(seconds=data["time_remaining"])),
|
lambda data: (utcnow() + timedelta(seconds=data["time_remaining"])),
|
||||||
|
|
Loading…
Add table
Reference in a new issue