smart-switch-java/smart-switch-service/src/main/java/com/ruoyi/iot/service/IotService.java
2024-08-12 20:55:59 +08:00

140 lines
3.5 KiB
Java
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package com.ruoyi.iot.service;
import com.ruoyi.iot.domain.CurrentDeviceData;
import com.ruoyi.iot.domain.HistoryDeviceData;
import com.ruoyi.iot.domain.IotDeviceDetail;
import com.ruoyi.iot.domain.IotDeviceInfo;
import com.ruoyi.iot.domain.response.CommandResponse;
import com.ruoyi.ss.device.domain.Device;
import com.ruoyi.ss.device.domain.enums.DeviceOnlineStatus;
import java.util.List;
/**
* @author wjh
* 2024/3/20
*/
public interface IotService {
/**
* 向设备发送命令
*
* @param deviceName OneNet设备名称即设备表的MAC号
* @param command 命令字符串
* @param productId
* @return
*/
default CommandResponse sendCommand(String deviceName, String command, String productId) {
return sendCommand(deviceName, command, null, productId);
}
/**
* 向设备发送命令
*
* @param deviceName OneNet设备名称即设备表的MAC号
* @param command 命令字符串
* @param timeout
* @param productId
* @return
*/
CommandResponse sendCommand(String deviceName, String command, Integer timeout, String productId);
/**
* 获取设备在线状态
*
* @param deviceName OneNet设备名称即设备表的MAC号
* @param productId
*/
DeviceOnlineStatus getOnlineStatus(String deviceName, String productId);
/**
* 通电
*
* @param deviceName OneNet设备名称即设备表的MAC号
* @param productId
* @return 是否成功
*/
boolean open(String deviceName, String productId);
/**
* 断电
*
* @param deviceName OneNet设备名称即设备表的MAC号
* @param productId
* @return 是否成功
*/
boolean close(String deviceName, String productId);
/**
* 获取历史设备数据点信息
*
* @param deviceName OneNet设备名称即设备表的MAC号
* @param productId
*/
HistoryDeviceData getHistoryDataPoint(String deviceName, String productId);
/**
* 批量获取当前设备数据点信息
*
* @param deviceNames 设备名称列表
* @param productId
*/
List<CurrentDeviceData> getCurrentDataPoint(List<String> deviceNames, String productId);
/**
* 获取当前设备数据点信息
*
* @param deviceName 设备名称
* @param productId
*/
CurrentDeviceData getCurrentDataPoint(String deviceName, String productId);
/**
* 获取设备详情
*
* @param deviceName 设备名称
* @param productId
*/
IotDeviceDetail getDeviceDetail(String deviceName, String productId);
/**
* 设置剩余时长
*
* @param deviceName 设备名称
* @param seconds 时长(秒)
* @param productId
*/
CommandResponse setTime(String deviceName, long seconds, String productId);
/**
* 更新设备信息
*
* @param device 设备信息
* @param productId
*/
boolean updateDevice(Device device, String productId);
/**
* 获取设备信息并转化为IotDeviceInfo
*
* @param deviceName 设备名称
* @param productId
*/
IotDeviceInfo getDeviceInfo(String deviceName, String productId);
/**
* 获取设备信息列表并转换为IotDeviceInfo
*
* @param deviceNames 设备名称列表
* @param productId
*/
List<IotDeviceInfo> getDeviceInfo(List<String> deviceNames, String productId);
/**
* 注册设备
*/
int create(String mac, String productId);
}