NEWS
Grafana Heatmap für Autofahrten
-
Hallo
Ich möchte mit einer Heatmap von Grafana meine Autofahrten darstellen.
Die Koordinaten der Fahren bekomme ich bereits über Homekit.
Dazu muss ich eine Influxdb Datenbank erstellen, die von den Feldern abweicht von dem, was iobroker über den Adapter erzeugt. Derzeit habe ich Influxdb 1.x installiert.
Im Prinzip möchte die Befehl von Influx mit Javascript absetzen.USE geolocation INSERT location,lat=48.2990 lon=11.284317mit dem "Exec" Befehl funktioniert es leider nicht, weil ich die influxdb in einem anderen Docker laufen lasse als iobroker. Irgendwie kann man das sicherlich über http POST machen.
Ein andere Idee wäre in einem Datenpunkt ein JSON zu persistieren und dann in der Abfrage in Grafana die lat und lon zu extrahieren.
Hat jemand einen Tip für mich?
-
Hallo
Ich möchte mit einer Heatmap von Grafana meine Autofahrten darstellen.
Die Koordinaten der Fahren bekomme ich bereits über Homekit.
Dazu muss ich eine Influxdb Datenbank erstellen, die von den Feldern abweicht von dem, was iobroker über den Adapter erzeugt. Derzeit habe ich Influxdb 1.x installiert.
Im Prinzip möchte die Befehl von Influx mit Javascript absetzen.USE geolocation INSERT location,lat=48.2990 lon=11.284317mit dem "Exec" Befehl funktioniert es leider nicht, weil ich die influxdb in einem anderen Docker laufen lasse als iobroker. Irgendwie kann man das sicherlich über http POST machen.
Ein andere Idee wäre in einem Datenpunkt ein JSON zu persistieren und dann in der Abfrage in Grafana die lat und lon zu extrahieren.
Hat jemand einen Tip für mich?
Damit konnte ich in dem gewünschten Format schreiben.
function persist_geo(lon,lat) { var url = 'curl -i -XPOST "http://localhost:8086/write?db=geolocation" --data-binary "location,lat=' + lat + " lon=" + lon + '"' log(url) exec(url, function (error, stdout, stderr) { log(stdout) }); }
Meine Test Heatmap mit 3 Fahrten in München und 2 Fahrten in Hamburg.
-
Damit konnte ich in dem gewünschten Format schreiben.
function persist_geo(lon,lat) { var url = 'curl -i -XPOST "http://localhost:8086/write?db=geolocation" --data-binary "location,lat=' + lat + " lon=" + lon + '"' log(url) exec(url, function (error, stdout, stderr) { log(stdout) }); }
Meine Test Heatmap mit 3 Fahrten in München und 2 Fahrten in Hamburg.
@marty56 In den aktuellen Versionen vom JavaScript-Adapter kannst Du auch ein httpPost direkt ausführen (ohne Umweg über exec/curl):
https://github.com/ioBroker/ioBroker.javascript/blob/master/docs/en/javascript.md#httppost
Gern mal testen
httpPost('http://localhost:8086/write?db=geolocation', `location,lat=${lat} lon=${lon}`, { timeout: 1000 }, (error, response) => { if (error) { console.error(error); } }); -
@marty56 In den aktuellen Versionen vom JavaScript-Adapter kannst Du auch ein httpPost direkt ausführen (ohne Umweg über exec/curl):
https://github.com/ioBroker/ioBroker.javascript/blob/master/docs/en/javascript.md#httppost
Gern mal testen
httpPost('http://localhost:8086/write?db=geolocation', `location,lat=${lat} lon=${lon}`, { timeout: 1000 }, (error, response) => { if (error) { console.error(error); } });@haus-automatisierung sagte in Grafana Heatmap für Autofahrten:
httpPost('http://localhost:8086/write?db=geolocation', `location,lat=${lat} lon=${lon}`, { timeout: 1000 }, (error, response) => { if (error) { console.error(error); } });Danke für die Rückmeldung.
bekommeReferenceError: httpPost is not definedBenötige ich da noch irgendein ein require("")?
Update: ich habe noch die stable Version 7.8.0 installiert. Vermutlich geht das erst mit 7.9.0
-
@haus-automatisierung sagte in Grafana Heatmap für Autofahrten:
httpPost('http://localhost:8086/write?db=geolocation', `location,lat=${lat} lon=${lon}`, { timeout: 1000 }, (error, response) => { if (error) { console.error(error); } });Danke für die Rückmeldung.
bekommeReferenceError: httpPost is not definedBenötige ich da noch irgendein ein require("")?
Update: ich habe noch die stable Version 7.8.0 installiert. Vermutlich geht das erst mit 7.9.0
@marty56 Genau, ab 7.9.0
-
@marty56 Genau, ab 7.9.0
Ich hab es mal versucht.
mit der neusten Version gibt es keine Fehlermeldung mehr, aber es wird nichts in die Influxdb geschrieben.
Ich vermute, dass der Parameter "--data-binary" von dem curl Kommando nicht richtig "übersetzt" wurde.
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden