Add lawn mower entity state, icon and color (#17558)

* start of lawn mower entity in the frontend

* added colours for states

* remove schedule states as no longer needed

* change mowing to teal

* remove docking as not included in architecture discussion and was missed
This commit is contained in:
Michael Arthur 2023-08-21 22:19:15 +12:00 committed by GitHub
parent d0a6e727f2
commit 196c15ff3e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 9 additions and 0 deletions

View File

@ -49,6 +49,7 @@ import {
mdiProgressClock,
mdiRayVertex,
mdiRemote,
mdiRobotMower,
mdiRobotVacuum,
mdiScriptText,
mdiSineWave,
@ -99,6 +100,7 @@ export const FIXED_DOMAIN_ICONS = {
input_number: mdiRayVertex,
input_select: mdiFormatListBulleted,
input_text: mdiFormTextbox,
lawn_mower: mdiRobotMower,
light: mdiLightbulb,
mailbox: mdiMailbox,
notify: mdiCommentAlert,
@ -187,6 +189,7 @@ export const DOMAINS_WITH_CARD = [
"input_number",
"input_text",
"humidifier",
"lawn_mower",
"lock",
"media_player",
"number",

View File

@ -26,6 +26,7 @@ export const FIXED_DOMAIN_STATES = {
humidifier: ["on", "off"],
input_boolean: ["on", "off"],
input_button: [],
lawn_mower: ["error", "paused", "mowing", "docked"],
light: ["on", "off"],
lock: ["jammed", "locked", "locking", "unlocked", "unlocking"],
media_player: [

View File

@ -34,6 +34,8 @@ export function stateActive(stateObj: HassEntity, state?: string): boolean {
case "device_tracker":
case "person":
return compareState !== "not_home";
case "lawn_mower":
return ["mowing", "error"].includes(compareState);
case "lock":
return compareState !== "locked";
case "media_player":

View File

@ -22,6 +22,7 @@ const STATE_COLORED_DOMAIN = new Set([
"group",
"humidifier",
"input_boolean",
"lawn_mower",
"light",
"lock",
"media_player",

View File

@ -158,6 +158,8 @@ documentContainer.innerHTML = `<custom-style>
--state-device_tracker-home-color: var(--green-color);
--state-fan-active-color: var(--cyan-color);
--state-humidifier-on-color: var(--blue-color);
--state-lawn_mower-error-color: var(--red-color);
--state-lawn_mower-mowing-color: var(--teal-color);
--state-light-active-color: var(--amber-color);
--state-lock-jammed-color: var(--red-color);
--state-lock-locked-color: var(--green-color);