Keine GPS Position in Pekaway App

Hallo zusammen,

ich nutze den Core Pro (Software 2.10) und die LTE Bridge (v5). Seit dem Update auf die Version 2.10 sehe ich ich in der App keine GPS Position mehr. Darüber hinaus wirft die node “get gps data” alle 3 Sekunden diesen Fehler:

"TypeError: Method Date.prototype.toLocaleString called on incompatible receiver [object Date]"

Der Fehler wird in diesem Bereich geworfen:

//default gps data is Pekaway GmbH location
let lat = global.get("latitude") || 47.557550; 
let lon = global.get("longitude") || 10.749732;
let update = global.get("gps_updated") || new Date(0)  // date needed to show when the last valid gps data has arrived (in smartphone app)

let van_name = global.get("van_name") || ""

let options = { day: '2-digit', month: 'short', year: 'numeric', hour: '2-digit', minute: '2-digit', second: '2-digit', hour12: false };
msg.update = update.toLocaleString(undefined, options)

Das scheint aber nicht die Ursache zu sein. Das Problem entsteht bereits beim Schreiben der globalen Variablen “gps_updated” in der node “heartbeat update”. Diese Implementierung schreibt ein Datum-Objekt in die globale Variable. Damit kommt der lesende Prozess nicht zurecht.

if (p.date) {

    const d = new Date(p.date);

    if (!isNaN(d)) global.set("gps_updated", d);

}

Ich habe die Implementierung daher so geändert, dass ein Timestamp geschrieben wird. Damit verschwinden die Fehlermeldungen und die GPS Position wird wieder in der App angezeigt.

if (p.date) {

    const d = new Date(p.date);

if (!isNaN(d.getTime())) global.set("gps_updated", d.getTime());

}

Zumindest in meiner Konstellation hat diese Korrektur zum Erfolg geführt.

@Karl und @Vincent Schaut Ihr Euch das bitte mal an und behebt es im kommenden Release?

Danke und Grüße

Michael

1 Like