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 fa262b6..bc3e6ee 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 @@ -236,6 +236,36 @@ public class TuohengDeviceAttributes { value -> value != null ? value.toString() : null ); + /** + * 环境数据属性(手动维护) + */ + + // 环境温度 - Double + public static final AttributeKey ENVIRONMENT_TEMPERATURE = AttributeKey.of( + "environmentTemperature", + Double.class, + value -> { + if (value == null) return null; + if (value instanceof Number) { + return ((Number) value).doubleValue(); + } + return Double.parseDouble(value.toString()); + } + ); + + // 环境湿度 - Double + public static final AttributeKey ENVIRONMENT_HUMIDITY = AttributeKey.of( + "environmentHumidity", + Double.class, + value -> { + if (value == null) return null; + if (value instanceof Number) { + return ((Number) value).doubleValue(); + } + return Double.parseDouble(value.toString()); + } + ); + private TuohengDeviceAttributes() { // 工具类,禁止实例化 } @@ -265,7 +295,9 @@ public class TuohengDeviceAttributes { BACKUP_LATITUDE, RUNNING_DURATION, MISSION_COUNT, - AIR_CONDITIONER_STATUS + AIR_CONDITIONER_STATUS, + ENVIRONMENT_TEMPERATURE, + ENVIRONMENT_HUMIDITY ); } diff --git a/src/main/java/com/ruoyi/device/service/dto/DockDetailDTO.java b/src/main/java/com/ruoyi/device/service/dto/DockDetailDTO.java index 4e07fc5..c1f9774 100644 --- a/src/main/java/com/ruoyi/device/service/dto/DockDetailDTO.java +++ b/src/main/java/com/ruoyi/device/service/dto/DockDetailDTO.java @@ -114,8 +114,8 @@ public class DockDetailDTO implements Serializable /** 舱门状态 */ private String cabinDoorStatus; - /** 机场运行状态 */ - private String dockRunStatus; +// /** 机场运行状态 */ +// private String dockRunStatus; /** 舱内摄像头 */ private String internalCamera; 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 dfa937a..0e6724f 100644 --- a/src/main/java/com/ruoyi/device/service/impl/TuohengBufferDeviceImpl.java +++ b/src/main/java/com/ruoyi/device/service/impl/TuohengBufferDeviceImpl.java @@ -373,11 +373,19 @@ public class TuohengBufferDeviceImpl implements IBufferDeviceService { // 设置环境数据 log.info("---------- 解析气象数据 ----------"); - telemetry.get(TuohengDeviceTelemetry.NEST_INNER_TEMP) + // 环境温度和湿度从属性中获取(手动维护),取不到则为 null + attributes.get(TuohengDeviceAttributes.ENVIRONMENT_TEMPERATURE) .ifPresent(value -> { - log.info("环境温度(使用舱内温度): {}", value.getValue()); - dto.setEnvironmentTemperature(value.getValue()); + log.info("ENVIRONMENT_TEMPERATURE 环境温度: {}", value); + dto.setEnvironmentTemperature(value); }); + attributes.get(TuohengDeviceAttributes.ENVIRONMENT_HUMIDITY) + .ifPresent(value -> { + log.info("ENVIRONMENT_HUMIDITY 环境湿度: {}", value); + dto.setEnvironmentHumidity(value); + }); + + // 风速和降雨量从遥测数据中获取 telemetry.get(TuohengDeviceTelemetry.WEATHER_WIND_SPEED) .ifPresent(value -> { log.info("WEATHER_WIND_SPEED 风速: {}", value.getValue());