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'; } };