Skip to content

Commit 145643d

Browse files
authored
Fixed error caused by change in API
1 parent 15ca12c commit 145643d

File tree

2 files changed

+12
-9
lines changed

2 files changed

+12
-9
lines changed

custom_components/pollen_dk/manifest.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,5 +7,5 @@
77
"codeowners": ["@J-Lindvig"],
88
"requirements": [],
99
"iot_class": "cloud_polling",
10-
"version": "0.2"
10+
"version": "0.2.1"
1111
}

custom_components/pollen_dk/pollen_dk_api.py

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -28,10 +28,13 @@ def update(self):
2828
r = self._session.get(POLLEN_URL)
2929
if r.status_code == 200:
3030
r_json = json.loads(r.json())
31-
for regionID in r_json.keys():
31+
# for regionID in r_json.keys():
32+
for regionID in r_json["fields"].keys():
3233
if int(regionID) in self._regionIDs:
3334
self._regions[regionID] = PollenRegion(
34-
int(regionID), self._pollenIDs, r_json[regionID]
35+
int(regionID),
36+
self._pollenIDs,
37+
r_json["fields"][regionID]["mapValue"]["fields"],
3538
)
3639

3740
def getRegions(self):
@@ -46,10 +49,10 @@ def __init__(self, regionID, pollenIDs, rawData):
4649
self._date = rawData["date"]
4750
self._pollenTypes = {}
4851

49-
for pollenID, pollenData in rawData["data"].items():
52+
for pollenID, pollenData in rawData["data"]["mapValue"]["fields"].items():
5053
if int(pollenID) in self._pollenIDs:
5154
self._pollenTypes[pollenID] = PollenType(
52-
int(pollenID), pollenData, self._date
55+
int(pollenID), pollenData["mapValue"]["fields"], self._date
5356
)
5457

5558
def getID(self):
@@ -72,12 +75,12 @@ def __init__(self, pollenID, rawData, date):
7275
list(POLLEN_IDS.values()).index(pollenID)
7376
].title()
7477
self._date = date
75-
self._inSeason = rawData["inSeason"]
76-
self._level = rawData["level"]
78+
self._inSeason = rawData["inSeason"]["booleanValue"]
79+
self._level = rawData["level"]["integerValue"]
7780
self._predictions = []
7881

79-
for date, dateKey in rawData["predictions"].items():
80-
level = dateKey["prediction"]
82+
for date, dateKey in rawData["predictions"]["mapValue"]["fields"].items():
83+
level = dateKey["mapValue"]["fields"]["prediction"]["stringValue"]
8184
if level:
8285
self._predictions.append(PollenPrediction(date, int(level)))
8386
if self._predictions:

0 commit comments

Comments
 (0)