diff --git a/pages/tracker.py b/pages/tracker.py index 4810731..7999978 100644 --- a/pages/tracker.py +++ b/pages/tracker.py @@ -270,11 +270,14 @@ class Tracker(Page): # Mögliche Regatten self.races = self.appdata.track.hero_get_races() + if len(self.races) == 1: + self.raceid = self.races[0] + self.menupos = 1 x = 208 y = 180 ctx.set_font_size(20) ctx.move_to(x, y) - ctx.show_text("Regattas") + ctx.show_text("Select Regatta") ctx.set_font_size(16) y += 4 if self.menupos > len(self.races): diff --git a/tracker.py b/tracker.py index 2abff7a..cd8ce72 100644 --- a/tracker.py +++ b/tracker.py @@ -43,9 +43,10 @@ class Tracker(): self.tspos = None # timestamp (hh:ss:mm) as datetime.time self.sog = None - self.hero_orgstatus = None - self.hero_racestatus = None # Aktuelle Regatta - self.hero_raceid = None + self.hero_orgid = None # Eingestellt in Gerätekonfiguration + self.hero_orgstatus = None + self.hero_racestatus = None + self.hero_raceid = None # Aktuelle Regatta # TODO Wirklich alles im Tracker oder ist einiges generisch? self.boatid = None @@ -100,7 +101,12 @@ class Tracker(): def hero_get_races(self): if not self.hero_orgstatus: return [] - return [r for r in self.hero_orgstatus['races']] + races = [] + for r in self.hero_orgstatus['races'].values(): + if not r['hiderace']: + races.append(r['raceid']) + return races + #return [r for r in self.hero_orgstatus['races']] def mqtt_on_connect(self, client, userdata, flags, rc): print(f"MQTT connected with result code {rc}") @@ -197,7 +203,15 @@ class Tracker(): def mqtt_tracker(self, cfg, boat, appdata, boatdata): print("MQTT tracker enabled") self.appdata = appdata + self.boatid = cfg['uuid'] + self.sailno = boat['sailno'] + self.boatname = boat['name'] + self.boatclass = boat['class'] + self.handicap = boat['handicap'] + self.club = boat['club'] + self.team = boat['team'] # TODO eher zu Tracker gehörig? self.trace = cfg['trace'] + self.hero_orgid = cfg['orgname'] client = mqtt.Client() client.on_connect = self.mqtt_on_connect client.on_message = self.mqtt_on_message @@ -222,10 +236,10 @@ class Tracker(): "lat": 0.0, "lon": 0.0, "speed": 0.0, - "age": 500, - # "odo": 1000, # deprecated + "age": 500, # letzter Kontakt zum GPS empfänger in ms + # "odo": 1000, # deprecated "bat": 1.0, - "timestamp": "" # ISO8601 Format mit Millisekunden in UTC + "timestamp": "" # ISO8601 Format mit Millisekunden in UTC }, "boat": { "boatid": cfg['uuid'],