134 lines
3.2 KiB
Java
134 lines
3.2 KiB
Java
package com.ruoyi.iot.service;
|
||
|
||
|
||
import com.ruoyi.iot.domain.HistoryDeviceData;
|
||
import com.ruoyi.iot.domain.IotDeviceInfo;
|
||
import com.ruoyi.iot.domain.response.CommandResponse;
|
||
import com.ruoyi.iot.interfaces.IotDevice;
|
||
import com.ruoyi.ss.device.domain.enums.DeviceOnlineStatus;
|
||
import com.ruoyi.ss.device.domain.vo.DeviceVO;
|
||
|
||
import java.math.BigDecimal;
|
||
import java.util.List;
|
||
|
||
/**
|
||
* @author wjh
|
||
* 2024/3/20
|
||
*/
|
||
public interface IotService {
|
||
|
||
/**
|
||
* 获取设备在线状态
|
||
*
|
||
* @param deviceName OneNet设备名称(即设备表的MAC号)
|
||
* @param productId
|
||
*/
|
||
DeviceOnlineStatus getOnlineStatus(String deviceName, String productId);
|
||
|
||
/**
|
||
* 获取设备在线状态
|
||
*/
|
||
DeviceOnlineStatus getOnlineStatus(IotDevice device);
|
||
|
||
/**
|
||
* 通电
|
||
*/
|
||
boolean open(IotDevice device, String reason);
|
||
|
||
/**
|
||
* 断电
|
||
*/
|
||
boolean close(IotDevice device, String reason);
|
||
|
||
/**
|
||
* 设置剩余时长
|
||
*/
|
||
CommandResponse setTime(IotDevice device, long seconds, String reason);
|
||
|
||
/**
|
||
* 获取设备信息,并转为IotDeviceInfo
|
||
*/
|
||
IotDeviceInfo getDeviceInfo(IotDevice device);
|
||
|
||
/**
|
||
* 获取设备信息列表,并转换为IotDeviceInfo
|
||
*
|
||
* @param deviceList 设备名称列表
|
||
* @param productId
|
||
*/
|
||
List<IotDeviceInfo> getDeviceInfo(List<? extends IotDevice> deviceList, String productId);
|
||
|
||
/**
|
||
* 注册设备
|
||
*/
|
||
int create(String mac, String productId);
|
||
|
||
/**
|
||
* 设备添加电量(度)
|
||
*/
|
||
CommandResponse addEle(IotDevice device, BigDecimal ele, String reason);
|
||
|
||
/**
|
||
* 直接设置设备电量(度)
|
||
*/
|
||
CommandResponse setEle(IotDevice device, BigDecimal ele, String reason);
|
||
|
||
/**
|
||
* 尝试设置设备剩余时长
|
||
*
|
||
* @param device MAC
|
||
* @param seconds 时长
|
||
* @param tryCount 尝试次数
|
||
* @param reason
|
||
*/
|
||
CommandResponse trySetTime(IotDevice device, long seconds, int tryCount, String reason);
|
||
|
||
/**
|
||
* 尝试设置设备剩余时长
|
||
*
|
||
* @param device MAC
|
||
* @param ele 电量(度)
|
||
* @param tryCount 尝试次数
|
||
* @param reason
|
||
*/
|
||
CommandResponse trySetEle(IotDevice device, BigDecimal ele, int tryCount, String reason);
|
||
|
||
/**
|
||
* 设置设备WIFI
|
||
*
|
||
* @param device 设备
|
||
* @param wifiName WIFI名称
|
||
* @param wifiPwd WIFI 密码
|
||
* @param reason
|
||
*/
|
||
CommandResponse setWifi(IotDevice device, String wifiName, String wifiPwd, String reason);
|
||
|
||
/**
|
||
* 设置倒计时提醒
|
||
*
|
||
* @param device 设备
|
||
* @param seconds 倒计时(秒)
|
||
* @param reason
|
||
*/
|
||
boolean setVoice(IotDevice device, long seconds, String reason);
|
||
|
||
/**
|
||
* 设置总用电量
|
||
*
|
||
* @param device 设备
|
||
* @param totalEle 总用电量(瓦时)
|
||
* @param reason
|
||
*/
|
||
boolean setTotalEle(IotDevice device, BigDecimal totalEle, String reason);
|
||
|
||
/**
|
||
* 获取历史数据
|
||
*/
|
||
HistoryDeviceData getHistoryDataPoint(String deviceName, String productId);
|
||
|
||
/**
|
||
* 设置电压系数
|
||
*/
|
||
CommandResponse setVxs(DeviceVO device, BigDecimal vxs, String reason);
|
||
}
|