diff --git a/src/main/java/com/ruoyi/device/domain/model/thingsboard/tuoheng/constants/TuohengDeviceAttributes.java b/src/main/java/com/ruoyi/device/domain/model/thingsboard/tuoheng/constants/TuohengDeviceAttributes.java index ebbc792..fa262b6 100644 --- a/src/main/java/com/ruoyi/device/domain/model/thingsboard/tuoheng/constants/TuohengDeviceAttributes.java +++ b/src/main/java/com/ruoyi/device/domain/model/thingsboard/tuoheng/constants/TuohengDeviceAttributes.java @@ -225,6 +225,17 @@ public class TuohengDeviceAttributes { } ); + /** + * 空调状态属性(手动维护) + */ + + // 空调状态 - String (IDLE=空闲, COOLING=制冷, HEATING=制热, DEHUMIDIFYING=除湿) + public static final AttributeKey AIR_CONDITIONER_STATUS = AttributeKey.of( + "airConditionerStatus", + String.class, + value -> value != null ? value.toString() : null + ); + private TuohengDeviceAttributes() { // 工具类,禁止实例化 } @@ -253,7 +264,8 @@ public class TuohengDeviceAttributes { BACKUP_LONGITUDE, BACKUP_LATITUDE, RUNNING_DURATION, - MISSION_COUNT + MISSION_COUNT, + AIR_CONDITIONER_STATUS ); } diff --git a/src/main/java/com/ruoyi/device/service/impl/TuohengBufferDeviceImpl.java b/src/main/java/com/ruoyi/device/service/impl/TuohengBufferDeviceImpl.java index a5fe0aa..dfa937a 100644 --- a/src/main/java/com/ruoyi/device/service/impl/TuohengBufferDeviceImpl.java +++ b/src/main/java/com/ruoyi/device/service/impl/TuohengBufferDeviceImpl.java @@ -364,6 +364,13 @@ public class TuohengBufferDeviceImpl implements IBufferDeviceService { log.info("设置舱门状态: {}", cabinDoorStatus); }); + // 设置空调状态(从属性中获取 airConditionerStatus,取不到则默认为 IDLE) + log.info("---------- 解析空调状态 ----------"); + String airConditionerStatus = attributes.get(TuohengDeviceAttributes.AIR_CONDITIONER_STATUS) + .orElse("IDLE"); + log.info("AIR_CONDITIONER_STATUS 空调状态: {}", airConditionerStatus); + dto.setAirConditionerStatus(airConditionerStatus); + // 设置环境数据 log.info("---------- 解析气象数据 ----------"); telemetry.get(TuohengDeviceTelemetry.NEST_INNER_TEMP)