Tracker Regattaselektion verbessert

This commit is contained in:
Thomas Hooge 2025-09-15 20:16:10 +02:00
parent eb41bdafa4
commit 9b4811a11d
2 changed files with 25 additions and 8 deletions

View File

@ -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):

View File

@ -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'],