Skip to content

Commit c2ec1b6

Browse files
committed
Update relays condition to be an array returend
1 parent f41e831 commit c2ec1b6

File tree

1 file changed

+10
-1
lines changed

1 file changed

+10
-1
lines changed

opensensor/collection_apis.py

+10-1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import json
12
import logging
23
from datetime import datetime, timedelta, timezone
34
from typing import Generic, List, Optional, Type, TypeVar, get_args, get_origin
@@ -21,6 +22,7 @@
2122
Moisture,
2223
Pressure,
2324
RelayBoard,
25+
RelayStatus,
2426
Temperature,
2527
)
2628
from opensensor.db import get_open_sensor_db
@@ -574,7 +576,14 @@ def sample_and_paginate_collection(
574576
# So, you can directly use it to create the response model instances.
575577
data = [VPD(**item) for item in raw_data]
576578
elif response_model is RelayBoard:
577-
data = [RelayBoard(**item) for item in raw_data]
579+
data = []
580+
relays = []
581+
for item in raw_data:
582+
for relay in item["relays"]:
583+
relay = json.loads(relay)
584+
relays.append(RelayStatus(**relay))
585+
relay_board = RelayBoard(relays=relays)
586+
data.append(relay_board)
578587
else:
579588
data = [create_model_instance(response_model, item, unit) for item in raw_data]
580589

0 commit comments

Comments
 (0)