Garmin Vivomove HR support
- communication protocols
- device support implementation
- download FIT file storage
Features:
- basic connectivity: time sync, battery status, HW/FW version info
- real-time activity tracking
- fitness data sync
- find the device, find the phone
- factory reset
Features implemented but not working:
- notifications: fully implemented, seem to communicate correctly, but not shown on watch
Features implemented partially (not expected to work now):
- weather information (and in future possibly weather alerts)
- music info
- firmware update: only the initial file upload implemented, not used
Things to improve/change:
- Device name hardcoded in `VivomoveHrCoordinator.getSupportedType`, service UUIDs not available
- Download FIT file storage: Should be store (and offer the user to export?) the FIT data forever?
- Obviously, various code improvements, cleanup, etc.
2023-06-15 17:47:42 +02:00
|
|
|
syntax = "proto2";
|
|
|
|
|
|
|
|
package garmin_vivomovehr;
|
|
|
|
|
2023-06-17 15:08:11 +02:00
|
|
|
option java_package = "nodomain.freeyourgadget.gadgetbridge.proto.vivomovehr";
|
Garmin Vivomove HR support
- communication protocols
- device support implementation
- download FIT file storage
Features:
- basic connectivity: time sync, battery status, HW/FW version info
- real-time activity tracking
- fitness data sync
- find the device, find the phone
- factory reset
Features implemented but not working:
- notifications: fully implemented, seem to communicate correctly, but not shown on watch
Features implemented partially (not expected to work now):
- weather information (and in future possibly weather alerts)
- music info
- firmware update: only the initial file upload implemented, not used
Things to improve/change:
- Device name hardcoded in `VivomoveHrCoordinator.getSupportedType`, service UUIDs not available
- Download FIT file storage: Should be store (and offer the user to export?) the FIT data forever?
- Obviously, various code improvements, cleanup, etc.
2023-06-15 17:47:42 +02:00
|
|
|
|
|
|
|
message DeviceStatusService {
|
|
|
|
optional RemoteDeviceBatteryStatusChangedNotification remote_device_battery_status_changed_notification = 1;
|
|
|
|
optional RemoteDeviceBatteryStatusRequest remote_device_battery_status_request = 2;
|
|
|
|
optional RemoteDeviceBatteryStatusResponse remote_device_battery_status_response = 3;
|
|
|
|
optional ActivityStatusRequest activity_status_request = 4;
|
|
|
|
optional ActivityStatusResponse activity_status_response = 5;
|
|
|
|
|
|
|
|
message RemoteDeviceBatteryStatusChangedNotification {
|
|
|
|
}
|
|
|
|
|
|
|
|
message RemoteDeviceBatteryStatusRequest {
|
|
|
|
}
|
|
|
|
|
|
|
|
message RemoteDeviceBatteryStatusResponse {
|
|
|
|
optional ResponseStatus status = 1;
|
|
|
|
optional int32 current_battery_level = 2;
|
|
|
|
}
|
|
|
|
|
|
|
|
message ActivityStatusRequest {
|
|
|
|
}
|
|
|
|
|
|
|
|
message ActivityStatusResponse {
|
|
|
|
optional ActivityStatus status = 1;
|
|
|
|
|
|
|
|
enum ActivityStatus {
|
|
|
|
OFF = 0;
|
|
|
|
STOPPED = 1;
|
|
|
|
PAUSED = 2;
|
|
|
|
ON = 3;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
enum ResponseStatus {
|
|
|
|
UNKNOWN_RESPONSE_STATUS = 0;
|
|
|
|
OK = 1;
|
|
|
|
NO_REMOTE_DEVICE = 2;
|
|
|
|
}
|
|
|
|
}
|