Skip to main content
版本:v3

SLEEP

创建传感器

const sleep = hmSensor.createSensor(hmSensor.id.SLEEP)

sleep 实例

sleep.updateInfo()

主动更新睡眠信息

类型

() => void

sleep.getSleepStageData()

获取阶段睡眠信息

类型

() => Array<SleepInfo>
SleepInfo
属性说明类型
model模式number
start开始时间,基于当天 0 点的分钟数number
stop结束事件,基于当天 0 点的分钟数number
model:number

modelDatasleep.getSleepStageModel()

说明
modelData.WAKE_STAGE清醒
modelData.REM_STAGEREM 阶段
modelData.LIGHT_STAGE浅睡眠阶段
modelData.DEEP_STAGE深睡眠阶段

示例用法

const sleepStageArray = sleep.getSleepStageData()

for (int i = 0; i < sleepStageArray.length; i++) {
const data = sleepStageArray[i];
console.log(data.model)
console.log(data.start)
console.log(data.stop)
}

sleep.getSleepStageModel()

获取睡眠模式

类型

() => modelData

示例用法

const modelData = sleep.getSleepStageModel()
console.log(modelData.WAKE_STAGE)
console.log(modelData.REM_STAGE)
console.log(modelData.LIGHT_STAGE)
console.log(modelData.DEEP_STAGE)

sleep.getSleepHrData()

获取睡眠心率

类型

() => void

sleep.getTotalTime()

获取睡眠总时间

类型

() => number

代码示例

const totalTime = sleep.getTotalTime()

sleep.getBasicInfo()

类型

() => BasicInfo
BasicInfo
属性说明类型
score睡眠得分number
deepMin深睡时间 单位分number
startTime睡眠起始时间, 基于当天 0 点的分钟数number
endTime睡眠结束时间, 和起始时间同基点的分钟数number

代码示例

const basicInfo = sleep.getBasicInfo()
console.log('basicInfo score=' + basicInfo.score) //睡眠得分
console.log('basicInfo deepMin=' + basicInfo.deepMin) //深睡时间 单位分
console.log('basicInfo startTime=' + basicInfo.startTime) // 睡眠起始时间, 基于当天0点的分钟数
console.log('basicInfo endTime=' + basicInfo.endTime) // 睡眠结束时间, 和起始时间同基点的分钟数
// 睡眠totalTime = endTime - startTime + 1;

let start = basicInfo.startTime
if (start >= SLEEP_REFERENCE_ZERO) {
// SLEEP_REFERENCE_ZERO 是一天的分钟数, 即 24*60
start -= SLEEP_REFERENCE_ZERO
}

hour = start / 60
minute = start % 60

const end = basicInfo.endTime + 1 // 和副屏中对齐的话,, 结束时间需要加1
if (end >= SLEEP_REFERENCE_ZERO) {
end -= SLEEP_REFERENCE_ZERO
}
hour = end / 60
minute = end % 60