mirror of
https://codeberg.org/Freeyourgadget/Gadgetbridge.git
synced 2026-07-31 07:44:24 +02:00
Zepp OS: Fetch sleep stages and score
Newer Zepp OS devices report sleep sessions separately, which include accurate sleep stages, and a sleep score. - Persist this data raw, since we don't know how to fully process it - Overlay (and prefer) this data over sleep samples Devices that do not support these such as the Mi Band 7 reply with an unsuccessful fetch response, which is fine.
This commit is contained in:
@@ -56,7 +56,7 @@ public class GBDaoGenerator {
|
||||
|
||||
|
||||
public static void main(String[] args) throws Exception {
|
||||
final Schema schema = new Schema(98, MAIN_PACKAGE + ".entities");
|
||||
final Schema schema = new Schema(99, MAIN_PACKAGE + ".entities");
|
||||
|
||||
Entity userAttributes = addUserAttributes(schema);
|
||||
Entity user = addUserInfo(schema, userAttributes);
|
||||
@@ -81,6 +81,7 @@ public class GBDaoGenerator {
|
||||
addHuamiHeartRateRestingSample(schema, user, device);
|
||||
addHuamiPaiSample(schema, user, device);
|
||||
addHuamiSleepRespiratoryRateSample(schema, user, device);
|
||||
addHuamiSleepSessionSample(schema, user, device);
|
||||
addXiaomiActivitySample(schema, user, device);
|
||||
addXiaomiSleepTimeSamples(schema, user, device);
|
||||
addHeartPulseSamples(schema, user, device);
|
||||
@@ -404,6 +405,13 @@ public class GBDaoGenerator {
|
||||
return sleepRespiratoryRateSample;
|
||||
}
|
||||
|
||||
private static Entity addHuamiSleepSessionSample(Schema schema, Entity user, Entity device) {
|
||||
Entity sample = addEntity(schema, "HuamiSleepSessionSample");
|
||||
addCommonTimeSampleProperties("AbstractHuamiSleepSessionSample", sample, user, device);
|
||||
sample.addByteArrayProperty("data");
|
||||
return sample;
|
||||
}
|
||||
|
||||
private static Entity addXiaomiActivitySample(Schema schema, Entity user, Entity device) {
|
||||
Entity activitySample = addEntity(schema, "XiaomiActivitySample");
|
||||
addCommonActivitySampleProperties("AbstractActivitySample", activitySample, user, device);
|
||||
@@ -925,7 +933,8 @@ public class GBDaoGenerator {
|
||||
private static Entity addGarminSleepStatsSample(Schema schema, Entity user, Entity device) {
|
||||
Entity sample = addEntity(schema, "GarminSleepStatsSample");
|
||||
sample.addImport(MAIN_PACKAGE + ".model.SleepScoreSample");
|
||||
addCommonTimeSampleProperties("SleepScoreSample", sample, user, device);
|
||||
addCommonTimeSampleProperties("AbstractTimeSample", sample, user, device);
|
||||
sample.implementsInterface("SleepScoreSample");
|
||||
sample.addIntProperty("sleepScore").notNull().codeBeforeGetter(OVERRIDE);
|
||||
return sample;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user