diff --git a/pages/racetracker.py b/pages/racetracker.py index 551bdd2..82cd50c 100644 --- a/pages/racetracker.py +++ b/pages/racetracker.py @@ -233,7 +233,7 @@ class RaceTracker(Page): x0 = 8 # Labelspalte x1 = 88 # Datenspalte - y0 = 75 + y0 = 70 yoffset = 16 # Bootsdaten @@ -324,8 +324,8 @@ class RaceTracker(Page): # Rechte Spalte mit Regattaauswahl x = 208 - y = 75 - yoffset = 16 + y = 70 + yoffset = 21 # Mögliche Regatten self.races = self.app.track.hero_get_races() diff --git a/tracker.py b/tracker.py index 3e30891..0d39647 100644 --- a/tracker.py +++ b/tracker.py @@ -4,7 +4,7 @@ Tracker-Daten Mögliche Typen: HERO - Regatta Hero SDCARD - LOCAL + LOCAL - gpx Datei SERVER - spezielle Software benötigt, kann auch ein Raspi an Bord sein NONE - kein Tracking @@ -83,6 +83,7 @@ class Tracker(): } self.hero_raceid = None # Aktuell ausgewählte Regatta + self.hero_racephase = 0 # Bei Änderung Event auslösen # MQTT self.client = mqtt.Client() @@ -345,7 +346,14 @@ class Tracker(): # dem Topic angehängt ist noch die raceid payload = json.loads(msg.payload) self.hero_racestatus = payload['racestatus'] + racephase = payload['racestatus']['racephase'] + if self.hero_racephase != racephase: + # Phasenänderung! Event! + print("Event: Phasenübergang {} -> {}".format(self.hero_racephase, racephase)) + self.hero_racephase = racephase + # payload['racestatus']['racestarted'] + # payload['racesettings'] """ time: negativ: Zeit vor dem Start, positiv: Zeit nach dem Start in Sekunden @@ -369,7 +377,7 @@ class Tracker(): self.log.warning(f"UNKNOWN TOPIC: {msg.topic}") self.log.debug(msg.payload) - def mqtt_publish(self, client, topic, payload, bv_lat, bv_lon, bv_sog): + def mqtt_publish(self, topic, payload, bv_lat, bv_lon, bv_sog): """ Payload vorbelegt als Template, so daß nur noch die veränderlichen GPS-Daten eingefügt werden müssen: LAT LON SOG TIMESTAMP @@ -385,7 +393,7 @@ class Tracker(): payload['gps']['lon'] = round(lon, 5) payload['gps']['speed'] = sog payload['gps']['timestamp'] = time.strftime("%Y-%m-%dT%H:%M:%S.000Z", time.gmtime()) - client.publish(topic, json.dumps(payload)) + self.client.publish(topic, json.dumps(payload)) else: self.log.debug("No GPS data available. Nothing published!")