]> www.average.org Git - loctrkd.git/blobdiff - loctrkd/zx303proto.py
Update changelog for 2.00 release
[loctrkd.git] / loctrkd / zx303proto.py
index 63dc3f5f294149c48d6ea8e910e283c3f174cdb3..bc044ddc988b4c447dedc5eed4f6b4f574bb8385 100755 (executable)
@@ -48,6 +48,7 @@ __all__ = (
     "Respond",
 )
 
+PMODNAME = __name__.split(".")[-1]
 PROTO_PREFIX: str = "ZX:"
 
 ### Deframer ###
@@ -372,9 +373,9 @@ class _GPS_POSITIONING(GPS303Pkt):
     def rectified(self) -> CoordReport:  # JSON-able dict
         return CoordReport(
             devtime=str(self.devtime),
-            battery_percentage=-1,
-            accuracy=-1.0,
-            altitude=-1.0,
+            battery_percentage=None,
+            accuracy=None,
+            altitude=None,
             speed=self.speed,
             direction=self.heading,
             latitude=self.latitude,
@@ -503,7 +504,7 @@ class _WIFI_POSITIONING(GPS303Pkt):
     def rectified(self) -> HintReport:
         return HintReport(
             devtime=str(self.devtime),
-            battery_percentage=-1,
+            battery_percentage=None,
             mcc=self.mcc,
             mnc=self.mnc,
             gsm_cells=self.gsm_cells,
@@ -895,3 +896,9 @@ def exposed_protos() -> List[Tuple[str, bool]]:
         for cls in CLASSES.values()
         if hasattr(cls, "rectified")
     ]
+
+
+def make_response(cmd: str, imei: str, **kwargs: Any) -> Optional[GPS303Pkt]:
+    if cmd == "poweroff":
+        return HIBERNATION.Out()
+    return None