import type { HomeAssistantDiscoveredDevice } from '../services/health' import { useDeviceControlContext } from './controlContext' /** 专属详情必须检查当前设备的参数实体,不能用在线设备数或默认值冒充读数。 */ export function useDeviceCardState(device: () => HomeAssistantDiscoveredDevice) { const context = useDeviceControlContext() const available = (parameter: string) => context.isParameterAvailable(parameter, device()) const readable = (parameter: string) => context.hasParameterReading(parameter, device()) const display = (parameter: string, value: unknown, suffix = '') => readable(parameter) ? `${value}${suffix}` : '--' const powerAvailable = () => context.isDeviceControlAvailable(device()) const powerLabel = (on: string, off: string) => powerAvailable() ? context.isDeviceTurnedOn(device()) ? on : off : '暂不可用' return { available, readable, display, powerAvailable, powerLabel } }