smart-switch-java/smart-switch-service/src/main/java/com/ruoyi/iot/service/IotService.java

99 lines
2.5 KiB
Java
Raw Normal View History

2024-04-23 11:19:24 +08:00
package com.ruoyi.iot.service;
2024-04-19 16:36:24 +08:00
2024-05-06 18:06:58 +08:00
2024-04-23 11:19:24 +08:00
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.SmDevice;
import com.ruoyi.ss.device.domain.enums.DeviceOnlineStatus;
2024-04-19 16:36:24 +08:00
import java.math.BigDecimal;
import java.util.List;
/**
* @author wjh
* 2024/3/20
*/
public interface IotService {
/**
* 向设备发送命令
* @param deviceName OneNet设备名称即设备表的MAC号
* @param command 命令字符串
* @return
*/
CommandResponse sendCommand(String deviceName, String command);
/**
* 获取设备在线状态
* @param deviceName OneNet设备名称即设备表的MAC号
*/
DeviceOnlineStatus getOnlineStatus(String deviceName);
/**
* 通电
* @param deviceName OneNet设备名称即设备表的MAC号
* @return 是否成功
*/
boolean open(String deviceName);
/**
* 断电
* @param deviceName OneNet设备名称即设备表的MAC号
* @return 是否成功
*/
boolean close(String deviceName);
/**
* 获取历史设备数据点信息
* @param deviceName OneNet设备名称即设备表的MAC号
*/
HistoryDeviceData getHistoryDataPoint(String deviceName);
/**
* 批量获取当前设备数据点信息
* @param deviceNames 设备名称列表
*/
List<CurrentDeviceData> getCurrentDataPoint(List<String> deviceNames);
/**
* 获取当前设备数据点信息
* @param deviceName 设备名称
*/
CurrentDeviceData getCurrentDataPoint(String deviceName);
/**
* 获取设备详情
* @param deviceName 设备名称
*/
IotDeviceDetail getDeviceDetail(String deviceName);
/**
* 设备电量充值
* @param deviceName 设备名称
* @param num 充值度数
*/
boolean recharge(String deviceName, BigDecimal num);
/**
* 更新设备信息
* @param device 设备信息
*/
boolean updateDevice(SmDevice device);
/**
* 获取设备信息并转化为IotDeviceInfo
* @param deviceName 设备名称
*/
IotDeviceInfo getDeviceInfo(String deviceName);
/**
* 获取设备信息列表并转换为IotDeviceInfo
* @param deviceNames 设备名称列表
*/
List<IotDeviceInfo> getDeviceInfo(List<String> deviceNames);
}