环境温度和湿度也从IOT读取

This commit is contained in:
孙小云 2026-02-06 14:38:49 +08:00
parent e5a642b4d5
commit 5eafcff343
3 changed files with 46 additions and 6 deletions

View File

@ -236,6 +236,36 @@ public class TuohengDeviceAttributes {
value -> value != null ? value.toString() : null
);
/**
* 环境数据属性手动维护
*/
// 环境温度 - Double
public static final AttributeKey<Double> 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<Double> 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
);
}

View File

@ -114,8 +114,8 @@ public class DockDetailDTO implements Serializable
/** 舱门状态 */
private String cabinDoorStatus;
/** 机场运行状态 */
private String dockRunStatus;
// /** 机场运行状态 */
// private String dockRunStatus;
/** 舱内摄像头 */
private String internalCamera;

View File

@ -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());