This commit is contained in:
fuenmao
2026-10-09 16:46:35 +08:00
parent 4925c4c74d
commit 563836f789
60 changed files with 4729 additions and 2047 deletions
+13
View File
@@ -0,0 +1,13 @@
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 }
}