Pebble.Health
Access Pebble Health data such as step count, active time, distance, sleep, calories, and heart rate.
Check supported first on older watches, then request metrics and subscribe to service events for live updates.
import Pebble.Health as Health
type Msg
= GotSupported Bool
| GotSteps Int
| HealthEvent Health.Event
init _ =
( model
, Cmd.batch
[ Health.supported GotSupported
, Health.value Health.StepCount GotSteps
]
)
subscriptions _ =
Health.onEvent HealthEvent
For a runnable example, use the watch-demo-health project template in the IDE.
Native Pebble C API
- HealthService on developer.repebble.com
Types
Metric
type Metric
= StepCount
| ActiveSeconds
| WalkedDistanceMeters
| SleepSeconds
| RestfulSleepSeconds
| RestingKCalories
| ActiveKCalories
| HeartRateBPMA Pebble health metric.
Event
type Event
= SignificantUpdate
| MovementUpdate
| SleepUpdateA Pebble health service event.
Commands
supported
supported : (Bool -> msg) -> Cmd msgRequest whether the Health API is available on this watch.
value
value : Metric -> (Int -> msg) -> Cmd msgRequest the current value for a metric.
For example, value StepCount GotSteps requests the current step count.
sumToday
sumToday : Metric -> (Int -> msg) -> Cmd msgRequest today's total for a metric.
sum
sum : Metric -> Int -> Int -> (Int -> msg) -> Cmd msgRequest the total for a metric between two Unix timestamps in seconds.
accessible
accessible : Metric -> Int -> Int -> (Bool -> msg) -> Cmd msgRequest whether a metric is available between two Unix timestamps in seconds.
Subscriptions
onEvent
onEvent : (Event -> msg) -> Sub msgReceive health service events.