Skip to content

Commit

Permalink
Update sensor.py
Browse files Browse the repository at this point in the history
Removal of line 28 :-)
Removal of dummy poller sensor
  • Loading branch information
kayjei authored Feb 5, 2021
1 parent 507e6f9 commit ec3d21e
Showing 1 changed file with 17 additions and 17 deletions.
34 changes: 17 additions & 17 deletions custom_components/badtemp_karlskrona/sensor.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,11 +21,11 @@
URL = 'https://service.karlskrona.se/FileStorageArea/Documents/bad/swimAreas.json'
PERS_JSON = '.badtemp_karlskrona.json'

UPDATE_INTERVAL = datetime.timedelta(minutes=30)
UPDATE_INTERVAL = datetime.timedelta(minutes=3)

def setup_platform(hass, config, add_devices, discovery_info=None):
"""Set up the sensor platform"""
headers = {"Content-type": "application/json"}

response = urllib.request.urlopen(URL)
response_json = json.dumps(json.loads(response.read()))
_LOGGER.debug("Response: " + response_json)
Expand All @@ -35,9 +35,9 @@ def setup_platform(hass, config, add_devices, discovery_info=None):
dev = json.loads(response_json)

devices = []
devices.append(SensorDevice('0_poller', None, None, None, datetime.datetime.now().strftime("%Y-%m-%dT%H:%M:%S"), '0_poller'))
_LOGGER.info("Adding poller sensor: Poller")

poller_entity = dev["Payload"]["swimAreas"][0]["nameArea"].lower().replace("\xe5","a").replace("\xe4","a").replace("\xf6","o")
_LOGGER.debug("Creating poller device: " + poller_entity)

for jsonr in dev["Payload"]["swimAreas"]:
_LOGGER.debug("Device: " + str(jsonr))
Expand All @@ -49,42 +49,42 @@ def setup_platform(hass, config, add_devices, discovery_info=None):
timestamp = datetime.datetime.strptime(str(jsonr["timeStamp"]).split('.')[0], "%Y-%m-%dT%H:%M:%S")

if isinstance(temp, float):
devices.append(SensorDevice(id, temp, lat, lon, timestamp, name))
devices.append(SensorDevice(id, temp, lat, lon, timestamp, name, poller_entity))
_LOGGER.info("Adding sensor: " + str(id))

else:
devices.append(SensorDevice(id, None, lat, lon, timestamp, name))
devices.append(SensorDevice(id, None, lat, lon, timestamp, name, poller_entity))
_LOGGER.info("Adding faulty sensor: " + str(id) + " (temperature missing)")

add_devices(devices)

class SensorDevice(Entity):
def __init__(self, id, temperature, latitude, longitude, timestamp, name):
def __init__(self, id, temperature, latitude, longitude, timestamp, name, poller_entity):
self._device_id = id
self._state = temperature
self._entity_id = 'sensor.badtemp_' + str.lower(self._device_id)
self._latitude = latitude
self._longitude = longitude
self._timestamp = timestamp
self._friendly_name = name
self._poller = poller_entity
self.update()

@Throttle(UPDATE_INTERVAL)
def update(self):
"""Temperature"""

if str.lower(self._device_id) == '0_poller':
if str.lower(self._device_id) == self._poller:
ApiRequest.call()

else:
for jsonr in ReadJson().json_data()["Payload"]["swimAreas"]:
if str.lower(jsonr["nameArea"]).replace("\xe5","a").replace("\xe4","a").replace("\xf6","o") == str.lower(self._device_id):
if self._state is not None:
self._state = float(round(jsonr["temperatureWater"], 1))
self._latitude = str(jsonr["geometryArea"]["y"])
self._longitude = str(jsonr["geometryArea"]["x"])
self._timestamp = datetime.datetime.strptime(str(jsonr["timeStamp"]).split('.')[0], "%Y-%m-%dT%H:%M:%S")
_LOGGER.debug("Temp is " + str(self._state) + " for " + str(self._device_id))
for jsonr in ReadJson().json_data()["Payload"]["swimAreas"]:
if str.lower(jsonr["nameArea"]).replace("\xe5","a").replace("\xe4","a").replace("\xf6","o") == str.lower(self._device_id):
if self._state is not None:
self._state = float(round(jsonr["temperatureWater"], 1))
self._latitude = str(jsonr["geometryArea"]["y"])
self._longitude = str(jsonr["geometryArea"]["x"])
self._timestamp = datetime.datetime.strptime(str(jsonr["timeStamp"]).split('.')[0], "%Y-%m-%dT%H:%M:%S")
_LOGGER.debug("Temp is " + str(self._state) + " for " + str(self._device_id))

@property
def entity_id(self):
Expand Down

0 comments on commit ec3d21e

Please sign in to comment.