Initial common.js refactor.
This commit is contained in:
@@ -0,0 +1,58 @@
|
||||
import { HassEntity } from 'home-assistant-js-websocket';
|
||||
|
||||
export const binarySensorIcon = (state?: string, entity?: HassEntity) => {
|
||||
const isOff = state === 'off';
|
||||
switch (entity?.attributes.device_class) {
|
||||
case 'battery':
|
||||
return isOff ? 'mdi:battery' : 'mdi:battery-outline';
|
||||
case 'battery_charging':
|
||||
return isOff ? 'mdi:battery' : 'mdi:battery-charging';
|
||||
case 'cold':
|
||||
return isOff ? 'mdi:thermometer' : 'mdi:snowflake';
|
||||
case 'connectivity':
|
||||
return isOff ? 'mdi:close-network-outline' : 'mdi:check-network-outline';
|
||||
case 'door':
|
||||
return isOff ? 'mdi:door-closed' : 'mdi:door-open';
|
||||
case 'garage_door':
|
||||
return isOff ? 'mdi:garage' : 'mdi:garage-open';
|
||||
case 'power':
|
||||
return isOff ? 'mdi:power-plug-off' : 'mdi:power-plug';
|
||||
case 'gas':
|
||||
case 'problem':
|
||||
case 'safety':
|
||||
case 'tamper':
|
||||
return isOff ? 'mdi:check-circle' : 'mdi:alert-circle';
|
||||
case 'smoke':
|
||||
return isOff ? 'mdi:check-circle' : 'mdi:smoke';
|
||||
case 'heat':
|
||||
return isOff ? 'mdi:thermometer' : 'mdi:fire';
|
||||
case 'light':
|
||||
return isOff ? 'mdi:brightness5' : 'mdi:brightness-7';
|
||||
case 'lock':
|
||||
return isOff ? 'mdi:lock' : 'mdi:lock-open';
|
||||
case 'moisture':
|
||||
return isOff ? 'mdi:water-off' : 'mdi:water';
|
||||
case 'motion':
|
||||
return isOff ? 'mdi:motion-sensor-off' : 'mdi:motion-sensor';
|
||||
case 'occupancy':
|
||||
return isOff ? 'mdi:home-outline' : 'mdi:home';
|
||||
case 'opening':
|
||||
return isOff ? 'mdi:square' : 'mdi:square-outline';
|
||||
case 'plug':
|
||||
return isOff ? 'mdi:power-plug-off' : 'mdi:power-plug';
|
||||
case 'presence':
|
||||
return isOff ? 'mdi:home-outline' : 'mdi:home';
|
||||
case 'running':
|
||||
return isOff ? 'mdi:stop' : 'mdi:play';
|
||||
case 'sound':
|
||||
return isOff ? 'mdi:music-note-off' : 'mdi:music-note';
|
||||
case 'update':
|
||||
return isOff ? 'mdi:package' : 'mdi:package-up';
|
||||
case 'vibration':
|
||||
return isOff ? 'mdi:crop-portrait' : 'mdi:vibrate';
|
||||
case 'window':
|
||||
return isOff ? 'mdi:window-closed' : 'mdi:window-open';
|
||||
default:
|
||||
return isOff ? 'mdi:radiobox-blank' : 'mdi:checkbox-marked-circle';
|
||||
}
|
||||
};
|
||||
Reference in New Issue
Block a user