From fc3741911c636b4fedc9c14f75e2f52298b39eb3 Mon Sep 17 00:00:00 2001 From: Philip Lundrigan Date: Wed, 3 Feb 2016 14:54:41 -0700 Subject: [PATCH] Fix problem with field type conflict in influxdb --- homeassistant/components/influxdb.py | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/homeassistant/components/influxdb.py b/homeassistant/components/influxdb.py index 99b5be37556..ab8a2d76e94 100644 --- a/homeassistant/components/influxdb.py +++ b/homeassistant/components/influxdb.py @@ -70,25 +70,22 @@ def setup(hass, config): """ Listen for new messages on the bus and sends them to Influx. """ state = event.data.get('new_state') - - if state is None: + if state is None or state.state in (STATE_UNKNOWN, ''): return if state.state in (STATE_ON, STATE_LOCKED, STATE_ABOVE_HORIZON): _state = 1 - elif state.state in (STATE_OFF, STATE_UNLOCKED, STATE_UNKNOWN, - STATE_BELOW_HORIZON): + elif state.state in (STATE_OFF, STATE_UNLOCKED, STATE_BELOW_HORIZON): _state = 0 else: - _state = state.state - if _state == '': - return try: - _state = float(_state) + _state = float(state.state) except ValueError: - pass + _state = state.state - measurement = state.attributes.get('unit_of_measurement', state.domain) + measurement = state.attributes.get('unit_of_measurement') + if measurement in (None, ''): + measurement = '{}.{}'.format(state.domain, state.object_id) json_body = [ {