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 23
23
Lux ,
24
24
Moisture ,
25
25
Pressure ,
26
+ PumpBoard ,
26
27
RelayBoard ,
27
28
RelayStatus ,
28
29
Temperature ,
@@ -118,6 +119,7 @@ def get_device_info_cached(device_id: str):
118
119
"pH" : "pH" ,
119
120
"liquid" : "liquid" ,
120
121
"relays" : "relays" ,
122
+ "pumps" : "pumps" ,
121
123
}
122
124
123
125
@@ -185,6 +187,8 @@ def _record_data_to_ts_collection(
185
187
doc_to_insert [column_name + "_unit" ] = value
186
188
elif key == "relays" :
187
189
doc_to_insert [column_name ] = json .dumps (value )
190
+ elif key == "pumps" :
191
+ doc_to_insert [column_name ] = json .dumps (value )
188
192
else :
189
193
doc_to_insert [column_name ] = str (value )
190
194
@@ -742,6 +746,12 @@ async def historical_data_route(
742
746
response_model = Page [RelayBoard ],
743
747
methods = ["GET" ],
744
748
)
749
+ router .add_api_route (
750
+ "/pumps/{device_id}" ,
751
+ create_historical_data_route (PumpBoard ),
752
+ response_model = Page [PumpBoard ],
753
+ methods = ["GET" ],
754
+ )
745
755
746
756
747
757
@router .post ("/environment/" )
Original file line number Diff line number Diff line change @@ -77,6 +77,25 @@ def collection_name(cls):
77
77
return "relays"
78
78
79
79
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
+
80
99
class Moisture (TimestampModel ):
81
100
readings : List [float | Decimal | int ] | str
82
101
@@ -99,6 +118,7 @@ class Environment(BaseModel):
99
118
pH : PH | None = None
100
119
liquid : LiquidLevel | None = None
101
120
relays : RelayBoard | None = None
121
+ pumps : PumpBoard | None = None
102
122
103
123
104
124
class VPD (BaseModel ):
You can’t perform that action at this time.
0 commit comments