Bugfix und Regattaauswahl verbessert
This commit is contained in:
parent
eab6cdf4c9
commit
65335e3c91
|
@ -233,7 +233,7 @@ class RaceTracker(Page):
|
||||||
|
|
||||||
x0 = 8 # Labelspalte
|
x0 = 8 # Labelspalte
|
||||||
x1 = 88 # Datenspalte
|
x1 = 88 # Datenspalte
|
||||||
y0 = 75
|
y0 = 70
|
||||||
yoffset = 16
|
yoffset = 16
|
||||||
|
|
||||||
# Bootsdaten
|
# Bootsdaten
|
||||||
|
@ -324,8 +324,8 @@ class RaceTracker(Page):
|
||||||
# Rechte Spalte mit Regattaauswahl
|
# Rechte Spalte mit Regattaauswahl
|
||||||
|
|
||||||
x = 208
|
x = 208
|
||||||
y = 75
|
y = 70
|
||||||
yoffset = 16
|
yoffset = 21
|
||||||
|
|
||||||
# Mögliche Regatten
|
# Mögliche Regatten
|
||||||
self.races = self.app.track.hero_get_races()
|
self.races = self.app.track.hero_get_races()
|
||||||
|
|
14
tracker.py
14
tracker.py
|
@ -4,7 +4,7 @@ Tracker-Daten
|
||||||
Mögliche Typen:
|
Mögliche Typen:
|
||||||
HERO - Regatta Hero
|
HERO - Regatta Hero
|
||||||
SDCARD
|
SDCARD
|
||||||
LOCAL
|
LOCAL - gpx Datei
|
||||||
SERVER - spezielle Software benötigt, kann auch ein Raspi an Bord sein
|
SERVER - spezielle Software benötigt, kann auch ein Raspi an Bord sein
|
||||||
NONE - kein Tracking
|
NONE - kein Tracking
|
||||||
|
|
||||||
|
@ -83,6 +83,7 @@ class Tracker():
|
||||||
}
|
}
|
||||||
|
|
||||||
self.hero_raceid = None # Aktuell ausgewählte Regatta
|
self.hero_raceid = None # Aktuell ausgewählte Regatta
|
||||||
|
self.hero_racephase = 0 # Bei Änderung Event auslösen
|
||||||
|
|
||||||
# MQTT
|
# MQTT
|
||||||
self.client = mqtt.Client()
|
self.client = mqtt.Client()
|
||||||
|
@ -345,7 +346,14 @@ class Tracker():
|
||||||
# dem Topic angehängt ist noch die raceid
|
# dem Topic angehängt ist noch die raceid
|
||||||
payload = json.loads(msg.payload)
|
payload = json.loads(msg.payload)
|
||||||
self.hero_racestatus = payload['racestatus']
|
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
|
time: negativ: Zeit vor dem Start, positiv: Zeit nach dem Start
|
||||||
in Sekunden
|
in Sekunden
|
||||||
|
@ -369,7 +377,7 @@ class Tracker():
|
||||||
self.log.warning(f"UNKNOWN TOPIC: {msg.topic}")
|
self.log.warning(f"UNKNOWN TOPIC: {msg.topic}")
|
||||||
self.log.debug(msg.payload)
|
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
|
Payload vorbelegt als Template, so daß nur noch die veränderlichen
|
||||||
GPS-Daten eingefügt werden müssen: LAT LON SOG TIMESTAMP
|
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']['lon'] = round(lon, 5)
|
||||||
payload['gps']['speed'] = sog
|
payload['gps']['speed'] = sog
|
||||||
payload['gps']['timestamp'] = time.strftime("%Y-%m-%dT%H:%M:%S.000Z", time.gmtime())
|
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:
|
else:
|
||||||
self.log.debug("No GPS data available. Nothing published!")
|
self.log.debug("No GPS data available. Nothing published!")
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue