From 42613c3084ae1371ce1141b0d66f8af5ce0ade39 Mon Sep 17 00:00:00 2001 From: Eugene Crosser Date: Tue, 9 Aug 2022 23:46:43 +0200 Subject: [PATCH] beesure: implement a few more server commands --- loctrkd/beesure.py | 46 ++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 38 insertions(+), 8 deletions(-) diff --git a/loctrkd/beesure.py b/loctrkd/beesure.py index f5bf443..9e9e22b 100755 --- a/loctrkd/beesure.py +++ b/loctrkd/beesure.py @@ -312,6 +312,14 @@ class UNKNOWN(BeeSurePkt): pass +class _SET_PHONE(BeeSurePkt): + OUT_KWARGS = (("phonenumber", str, ""),) + + def out_encode(self) -> str: + self.phonenumber: str + return self.phonenumber + + class _LOC_DATA(BeeSurePkt): def in_decode(self, *args: str) -> None: p = SimpleNamespace() @@ -402,6 +410,14 @@ class AL(_LOC_DATA): RESPOND = Respond.INL +class CALL(_SET_PHONE): + pass + + +class CENTER(_SET_PHONE): + pass + + class CONFIG(BeeSurePkt): pass @@ -410,6 +426,10 @@ class CR(BeeSurePkt): pass +class FIND(BeeSurePkt): + pass + + class FLOWER(BeeSurePkt): OUT_KWARGS = (("number", int, 1),) @@ -438,6 +458,13 @@ class LK(BeeSurePkt): return "LK" +class LZ(BeeSurePkt): + OUT_KWARGS = (("language", int, 1), ("timezone", int, 0)) + + def out_encode(self) -> str: + return f"{self.language},{self.timezone}" + + class MESSAGE(BeeSurePkt): OUT_KWARGS = (("message", str, ""),) @@ -445,6 +472,10 @@ class MESSAGE(BeeSurePkt): return str(self.message.encode("utf_16_be").hex()) +class MONITOR(BeeSurePkt): + pass + + class _PHB(BeeSurePkt): OUT_KWARGS: Tuple[Tuple[str, Callable[[Any], Any], Any], ...] = ( ("entries", pblist, []), @@ -484,14 +515,6 @@ class SOS(BeeSurePkt): return ",".join(self.phonenumbers) -class _SET_PHONE(BeeSurePkt): - OUT_KWARGS = (("phonenumber", str, ""),) - - def out_encode(self) -> str: - self.phonenumber: str - return self.phonenumber - - class SOS1(_SET_PHONE): pass @@ -539,6 +562,13 @@ class UD2(_LOC_DATA): pass +class UPLOAD(BeeSurePkt): + OUT_KWARGS = (("interval", int, 600),) + + def out_encode(self) -> str: + return str(self.interval) + + # Build dicts protocol number -> class and class name -> protocol number CLASSES = {} if True: # just to indent the code, sorry! -- 2.43.0