1
This commit is contained in:
@@ -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 }
|
||||
}
|
||||
Reference in New Issue
Block a user