work: добавил автоматический режим
This commit is contained in:
@@ -0,0 +1,44 @@
|
||||
# from dataclasses import asdict, dataclass
|
||||
#
|
||||
#
|
||||
# @dataclass(frozen=True, slots=True)
|
||||
# class QingpingState:
|
||||
# temperature: float
|
||||
# humidity: float
|
||||
# co2: int
|
||||
# pm25: int
|
||||
# pm10: int
|
||||
# rssi: int | None = None
|
||||
#
|
||||
# def to_dict(self) -> dict:
|
||||
# return asdict(self)
|
||||
#
|
||||
#
|
||||
from dataclasses import asdict, dataclass
|
||||
from datetime import datetime
|
||||
|
||||
@dataclass(frozen=True, slots=True)
|
||||
class QingpingState:
|
||||
temperature: float | None = None
|
||||
humidity: float | None = None
|
||||
co2: int | None = None
|
||||
pm25: int | None = None
|
||||
pm10: int | None = None
|
||||
battery: int | None = None
|
||||
|
||||
sample_timestamp: int | None = None
|
||||
sample_received_at: datetime | None = None
|
||||
last_message_at: datetime | None = None
|
||||
|
||||
wifi_rssi: int | None = None
|
||||
firmware: str | None = None
|
||||
mqtt_connected: bool = False
|
||||
|
||||
def to_dict(self) -> dict:
|
||||
result = asdict(self)
|
||||
|
||||
for key in ("sample_received_at", "last_message_at"):
|
||||
if result[key] is not None:
|
||||
result[key] = result[key].isoformat()
|
||||
|
||||
return result
|
||||
Reference in New Issue
Block a user