Fitbit


The Fitbit sensor allows you to expose data from Fitbit to Home Assistant.

Prior to enabling the sensor, your Home Assistant instance must be enabled with SSL, using services such as Home Assistant cloud or Duck DNS integrating Let’s Encrypt. Fitbit will not allow insecure integrations.

There is no need for Access from the Internet to Home Assistant for this Integration to work. Home Assistant can only be accessible from the internal Network or via VPN. But a Certificate is required in any case.

Your Fitbit account must also be registered as an Developer account at the Fitbit Developer Portal, and have a verified email address.

Enable the sensor by adding the following to your configuration.yaml file:

# Example configuration.yaml entry
sensor:
  - platform: fitbit
    clock_format: 12H
    monitored_resources:
      - "body/weight"

Restart Home Assistant once this is complete. Go to the frontend. You will see a new notification for configuring Fitbit. Follow the instructions there to complete the setup process. You will need to visit this notification multiple times to set your API keys and authorize your custom app with your Fitbit account.

Please be aware that Fitbit has very low rate limits, 150 per user per hour. The clock resets at the top of the hour (meaning it is not a rolling 60 minutes). There is no way around the limits. Due to the rate limits, the sensor only updates every 30 minutes. You can manually trigger an update by restarting Home Assistant. Keep in mind that 1 request is used for every entry in monitored_resources.

The unit system that the sensor will use is based on the country you set in your Fitbit profile.

Configuration Variables

monitored_resources list (Optional)

Resource to monitor.

Default:

activities/steps

clock_format string (Optional, default: 24H)

Format to use for sleep/startTime resource. Accepts 12H or 24H.

unit_system string (Optional, default: default)

Unit system to use for measurements. Accepts default, metric, en_US or en_GB.

Below is the list of resources that you can add to monitored_resources. One sensor is exposed for every resource.

activities/activityCalories
activities/calories
activities/caloriesBMR
activities/distance
activities/elevation
activities/floors
activities/heart
activities/minutesFairlyActive
activities/minutesLightlyActive
activities/minutesSedentary
activities/minutesVeryActive
activities/steps
activities/tracker/activityCalories
activities/tracker/calories
activities/tracker/distance
activities/tracker/elevation
activities/tracker/floors
activities/tracker/minutesFairlyActive
activities/tracker/minutesLightlyActive
activities/tracker/minutesSedentary
activities/tracker/minutesVeryActive
activities/tracker/steps
body/bmi
body/fat
body/weight
devices/battery
sleep/awakeningsCount
sleep/efficiency
sleep/minutesAfterWakeup
sleep/minutesAsleep
sleep/minutesAwake
sleep/minutesToFallAsleep
sleep/startTime
sleep/timeInBed