mirror of
https://github.com/home-assistant/core.git
synced 2025-07-20 11:47:06 +00:00
Fix fitbit KeyError (#2077)
* Fix fitbit KeyError * Set units compared to temperature_unit * Pass true or false for is_metric
This commit is contained in:
parent
f7b401a20e
commit
1eb3181c14
@ -10,7 +10,7 @@ import logging
|
|||||||
import datetime
|
import datetime
|
||||||
import time
|
import time
|
||||||
|
|
||||||
from homeassistant.const import HTTP_OK
|
from homeassistant.const import HTTP_OK, TEMP_CELSIUS
|
||||||
from homeassistant.util import Throttle
|
from homeassistant.util import Throttle
|
||||||
from homeassistant.helpers.entity import Entity
|
from homeassistant.helpers.entity import Entity
|
||||||
from homeassistant.loader import get_component
|
from homeassistant.loader import get_component
|
||||||
@ -236,7 +236,9 @@ def setup_platform(hass, config, add_devices, discovery_info=None):
|
|||||||
dev = []
|
dev = []
|
||||||
for resource in config.get("monitored_resources",
|
for resource in config.get("monitored_resources",
|
||||||
FITBIT_DEFAULT_RESOURCE_LIST):
|
FITBIT_DEFAULT_RESOURCE_LIST):
|
||||||
dev.append(FitbitSensor(authd_client, config_path, resource))
|
dev.append(FitbitSensor(authd_client, config_path, resource,
|
||||||
|
hass.config.temperature_unit ==
|
||||||
|
TEMP_CELSIUS))
|
||||||
add_devices(dev)
|
add_devices(dev)
|
||||||
|
|
||||||
else:
|
else:
|
||||||
@ -314,8 +316,8 @@ def setup_platform(hass, config, add_devices, discovery_info=None):
|
|||||||
class FitbitSensor(Entity):
|
class FitbitSensor(Entity):
|
||||||
"""Implementation of a Fitbit sensor."""
|
"""Implementation of a Fitbit sensor."""
|
||||||
|
|
||||||
def __init__(self, client, config_path, resource_type):
|
def __init__(self, client, config_path, resource_type, is_metric):
|
||||||
"""Initialize the Uber sensor."""
|
"""Initialize the Fitbit sensor."""
|
||||||
self.client = client
|
self.client = client
|
||||||
self.config_path = config_path
|
self.config_path = config_path
|
||||||
self.resource_type = resource_type
|
self.resource_type = resource_type
|
||||||
@ -328,7 +330,13 @@ class FitbitSensor(Entity):
|
|||||||
unit_type = FITBIT_RESOURCES_LIST[self.resource_type]
|
unit_type = FITBIT_RESOURCES_LIST[self.resource_type]
|
||||||
if unit_type == "":
|
if unit_type == "":
|
||||||
split_resource = self.resource_type.split("/")
|
split_resource = self.resource_type.split("/")
|
||||||
measurement_system = FITBIT_MEASUREMENTS[self.client.system]
|
try:
|
||||||
|
measurement_system = FITBIT_MEASUREMENTS[self.client.system]
|
||||||
|
except KeyError:
|
||||||
|
if is_metric:
|
||||||
|
measurement_system = FITBIT_MEASUREMENTS["metric"]
|
||||||
|
else:
|
||||||
|
measurement_system = FITBIT_MEASUREMENTS["en_US"]
|
||||||
unit_type = measurement_system[split_resource[-1]]
|
unit_type = measurement_system[split_resource[-1]]
|
||||||
self._unit_of_measurement = unit_type
|
self._unit_of_measurement = unit_type
|
||||||
self._state = 0
|
self._state = 0
|
||||||
|
Loading…
x
Reference in New Issue
Block a user