package com.battery.device.api; import java.util.List; import java.util.Map; import java.util.Set; import com.battery.device.api.model.AdapterCapabilities; import com.battery.device.api.model.ChannelIdentity; import com.battery.device.api.model.DetectedChannel; import com.battery.device.api.model.DeviceObservation; /** 业务依赖的最小厂商无关设备观测契约。 */ public interface DeviceObservationAdapter extends AutoCloseable { /** 返回适配器实例的稳定编码。 */ String adapterCode(); /** 返回当前运行时能力;业务不得据此向设备发送未授权命令。 */ AdapterCapabilities capabilities(); /** 发现当前端点可见的通道和设备身份。 */ List discoverChannels(); /** 批量返回厂商无关观测;不可观测通道仍返回离线事实。 */ Map observe(Set channels); @Override default void close() { } }