空调模式

This commit is contained in:
孙小云 2026-02-06 14:24:39 +08:00
parent b5ccef48d0
commit e5a642b4d5
2 changed files with 20 additions and 1 deletions

View File

@ -225,6 +225,17 @@ public class TuohengDeviceAttributes {
}
);
/**
* 空调状态属性手动维护
*/
// 空调状态 - String (IDLE=空闲, COOLING=制冷, HEATING=制热, DEHUMIDIFYING=除湿)
public static final AttributeKey<String> 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
);
}

View File

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