diff --git a/src/common/const.ts b/src/common/const.ts index 1222fa9ebf..d75aa3f3dc 100644 --- a/src/common/const.ts +++ b/src/common/const.ts @@ -103,7 +103,6 @@ export const FIXED_DOMAIN_ICONS = { siren: mdiBullhorn, simple_alarm: mdiBell, sun: mdiWhiteBalanceSunny, - switch: mdiFlash, timer: mdiTimerOutline, updater: mdiCloudUpload, vacuum: mdiRobotVacuum, diff --git a/src/common/entity/domain_icon.ts b/src/common/entity/domain_icon.ts index b3033c346c..2a0c3031b3 100644 --- a/src/common/entity/domain_icon.ts +++ b/src/common/entity/domain_icon.ts @@ -3,6 +3,7 @@ import { mdiAccountArrowRight, mdiAirHumidifierOff, mdiAirHumidifier, + mdiFlash, mdiBluetooth, mdiBluetoothConnect, mdiLanConnect, @@ -14,8 +15,12 @@ import { mdiCastConnected, mdiCast, mdiEmoticonDead, + mdiPowerPlug, + mdiPowerPlugOff, mdiSleep, mdiTimerSand, + mdiToggleSwitch, + mdiToggleSwitchOff, mdiZWave, mdiClock, mdiCalendar, @@ -80,6 +85,16 @@ export const domainIcon = ( case "media_player": return compareState === "playing" ? mdiCastConnected : mdiCast; + case "switch": + switch (stateObj?.attributes.device_class) { + case "outlet": + return state === "on" ? mdiPowerPlug : mdiPowerPlugOff; + case "switch": + return state === "on" ? mdiToggleSwitch : mdiToggleSwitchOff; + default: + return mdiFlash; + } + case "zwave": switch (compareState) { case "dead":