File tree Expand file tree Collapse file tree 2 files changed +30
-0
lines changed
Expand file tree Collapse file tree 2 files changed +30
-0
lines changed Original file line number Diff line number Diff line change 2323 Lux ,
2424 Moisture ,
2525 Pressure ,
26+ PumpBoard ,
2627 RelayBoard ,
2728 RelayStatus ,
2829 Temperature ,
@@ -118,6 +119,7 @@ def get_device_info_cached(device_id: str):
118119 "pH" : "pH" ,
119120 "liquid" : "liquid" ,
120121 "relays" : "relays" ,
122+ "pumps" : "pumps" ,
121123}
122124
123125
@@ -185,6 +187,8 @@ def _record_data_to_ts_collection(
185187 doc_to_insert [column_name + "_unit" ] = value
186188 elif key == "relays" :
187189 doc_to_insert [column_name ] = json .dumps (value )
190+ elif key == "pumps" :
191+ doc_to_insert [column_name ] = json .dumps (value )
188192 else :
189193 doc_to_insert [column_name ] = str (value )
190194
@@ -742,6 +746,12 @@ async def historical_data_route(
742746 response_model = Page [RelayBoard ],
743747 methods = ["GET" ],
744748)
749+ router .add_api_route (
750+ "/pumps/{device_id}" ,
751+ create_historical_data_route (PumpBoard ),
752+ response_model = Page [PumpBoard ],
753+ methods = ["GET" ],
754+ )
745755
746756
747757@router .post ("/environment/" )
Original file line number Diff line number Diff line change @@ -77,6 +77,25 @@ def collection_name(cls):
7777 return "relays"
7878
7979
80+ class PumpStatus (BaseModel ):
81+ position : int
82+ enabled : bool
83+ speed : float | None = None
84+ duration : float | None = None
85+ timestamp : float | None = None
86+ description : str | None = None
87+
88+
89+ class PumpBoard (TimestampModel ):
90+ """Pump activity tracking"""
91+
92+ pumps : List [PumpStatus ]
93+
94+ @classmethod
95+ def collection_name (cls ):
96+ return "pumps"
97+
98+
8099class Moisture (TimestampModel ):
81100 readings : List [float | Decimal | int ] | str
82101
@@ -99,6 +118,7 @@ class Environment(BaseModel):
99118 pH : PH | None = None
100119 liquid : LiquidLevel | None = None
101120 relays : RelayBoard | None = None
121+ pumps : PumpBoard | None = None
102122
103123
104124class VPD (BaseModel ):
You can’t perform that action at this time.
0 commit comments