Browse Source

1、修复美的热泵时间设置读取问题;

dev
mh 5 months ago
parent
commit
0c5f9c3c45
  1. 9
      user-service/src/main/java/com/mh/user/service/impl/DeviceControlServiceImpl.java
  2. 5
      user-service/src/main/java/com/mh/user/strategy/HeatPumpStrategy.java

9
user-service/src/main/java/com/mh/user/service/impl/DeviceControlServiceImpl.java

@ -400,6 +400,15 @@ public class DeviceControlServiceImpl implements DeviceControlService {
if (rtData.length() == 8) {
String statTime = rtData.substring(0, 2) + ":" + rtData.substring(2, 4);
String closeTime = rtData.substring(4, 6) + ":" + rtData.substring(6, 8);
if ("美的".equals(deviceCodeParam.getBrand())) {
String convertData = ExchangeStringUtil.addZeroForNum(ExchangeStringUtil.hexToDec(rtData.substring(0, 2)), 2)
+ ExchangeStringUtil.addZeroForNum(ExchangeStringUtil.hexToDec(rtData.substring(2, 4)), 2)
+ ExchangeStringUtil.addZeroForNum(ExchangeStringUtil.hexToDec(rtData.substring(4, 6)), 2)
+ ExchangeStringUtil.addZeroForNum(ExchangeStringUtil.hexToDec(rtData.substring(6, 8)), 2);
statTime = convertData.substring(0, 2) + ":" + convertData.substring(2, 4);
closeTime = convertData.substring(4, 6) + ":" + convertData.substring(6, 8);
rtData = convertData;
}
if ("时段1".equals(deviceCodeParam.getParam())) {
pumpData.setStartTime1(statTime);
pumpData.setCloseTime1(closeTime);

5
user-service/src/main/java/com/mh/user/strategy/HeatPumpStrategy.java

@ -83,7 +83,10 @@ public class HeatPumpStrategy implements DeviceStrategy {
str = str + "100642000102" + ExchangeStringUtil.addZeroForNum(ExchangeStringUtil.decToHex(String.valueOf(dataValue)), 4); //写,待测试
} else {
if (dataValue.length() == 8) {
String strData = "00" + dataValue.substring(0, 2) + "00" + dataValue.substring(2, 4) + "00" + dataValue.substring(4, 6) + "00" + dataValue.substring(6, 8);
String strData = "00" + ExchangeStringUtil.addZeroForNum(ExchangeStringUtil.decToHex(dataValue.substring(0, 2)), 2)
+ "00" + ExchangeStringUtil.addZeroForNum(ExchangeStringUtil.decToHex(dataValue.substring(2, 4)), 2)
+ "00" + ExchangeStringUtil.addZeroForNum(ExchangeStringUtil.decToHex(dataValue.substring(4, 6)), 2)
+ "00" + ExchangeStringUtil.addZeroForNum(ExchangeStringUtil.decToHex(dataValue.substring(6, 8)), 2);
if (registerAddr.equalsIgnoreCase("0656")) {//时段1
str = str + "100656000408" + strData; //写
} else if (registerAddr.equalsIgnoreCase("065A")) {//时段2

Loading…
Cancel
Save