feature/InfluxDB-Connection-Update #1
Loading…
Reference in a new issue
No description provided.
Delete branch "feature/InfluxDB-Connection-Update"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Added InfluxDB 2 support.
Improver homebridge web statistics functionality.
Some minor changes.
Bin mal die Changes durchgegangen und hab ein paar Kommentare hinterlassen. Hauptsächlich verständnisfragen. Ich teste dann die Firmware heute Abend mal aus, sieht aber gut aus.
@ -27,0 +28,4 @@
#define RESET_ESP_TIME_INTERVAL_MS 3600000
#define WIND_SENSOR_MEAS_TIME_S 15.0
#define ROTOR_LENGTH_CM 8.25
Für welchen Windsensor sind diese Bemaßungen? Ist das von einem Eigenbau oder von dem welchen wir von Aliexpress gekauft hatten?
Das Feature hat bereits ein gleichnamiges #define in der user config mit dem man es aktivieren kann.
@ -27,0 +32,4 @@
#define ROTOR_LENGTH_M (ROTOR_LENGTH_CM / 100.0)
#define ROTOR_LENGTH_KM (ROTOR_LENGTH_M / 1000.0)
#define SEC_TO_HOUR_FACTOR (60.0 * 60.0)
#define MPS_CORRECT_FACT 9.28
Ist dass der Faktor, der sich aus der Messung mit deinem gekauften Windmessgerät gergeben hat? Ich erinnere mich dunkel, dass du was von 10x geschrieben hattest.
Ja richtig das sind die Faktoren und Divisoren die man braucht um v=u * 2 * pi * r / t_meas * Korrekturfaktor zu berechnen. Vorher stand im Code die Zahl 2.4 ohne einen Kommentar.
Prinzipiell würde ich gerne die user config so umbauen das man dort nur noch sein eigenes wlan konfiguriert.
Der Rest der dort drin ist unterscheidet sich nicht deutlich von dem was in der config.h enthalten ist. Die Trennung zwischen user und der generellen config ist da sehr verweichlicht. Zudem sind in der config.h Konstanten enthalten deren Werte zum Beispiel Array Indizes entsprechen und somit nie angepasst werden.
Ich bin generell für ein Refactoring. Auch von den verschachtelten loop-Funktionen.
Ja bin ich auch voll dafür!
@ -27,0 +39,4 @@
#define HTTP_CALL_ON_WINDSPEED_EXCEED_MPS 5.0 // 5.0 m/s == 18 km/h
#define HTTP_CALL_ON_WINDSPEED_INTERVAL_S 60 // it's required to be bigger than WIND_SENSOR_MEAS_TIME_S
#define HTTP_CALL_ON_WINDSPEED_URL "http://192.168.0.250:3001/button-windspeedexceed?event=click"
Ist das die Callback-URL, wenn der Wind zu stark weht?
Es wäre gut, wenn man das Feature an/ausschalten könnte, da es schon sehr spezifisch auf deinen Anwendungsfall gestrickt ist.
@ -29,9 +38,16 @@ const char *INFLUXDB_DB = "database";
const char *INFLUXDB_USER = "user";
const char *INFLUXDB_PASS = "password";
// InfluxDB2 credentials
Sind die Zugangs-Daten bei Version 1 und 2 so unterschiedlichen? Könnte man das nicht zusammenfassen in einen "connection string" oder so?
Das sind einzelne Parameter die man dem Init übergeben muss. Zumindest ist es so lesbar.
@ -32,0 +42,4 @@
const char *INFLUXDB_URL = "http://192.168.0.123:3124";
const char *INFLUXDB_ORG = "home_org";
const char *INFLUXDB_BUCKET = "mybucket;
const char *INFLUXDB_TOKEN = "your api tiken";
token
@ -31,0 +43,4 @@
httpServer.on("/", showHTMLMain);
httpServer.on("/resetWifiManager", resetWifiManager);
#ifdef HOMEBRIDGE_WEBSTAT
httpServer.on("/hbWebstat", hb_webstat_send);
Ein Prometheus Endpunkt wäre noch der Oberhammer :)
Ich denke das bau ich dann ein, wenn der PR gemerged ist.
Das wäre super wenn wir noch mehrere andere Plattformen unterstützen könnten!
@ -1,4 +1,9 @@
#include <ESP8266Influxdb.h> // https://github.com/hwwong/ESP8266Influxdb
Die wird für version 1 gebraucht.
Erledigt
@ -32,0 +41,4 @@
// InfluxDB2 credentials
const char *INFLUXDB_URL = "http://192.168.0.123:3124";
const char *INFLUXDB_ORG = "home_org";
const char *INFLUXDB_BUCKET = "mybucket;
" fehlt.
Erledigt
@ -73,1 +78,3 @@
debug("WiFi connection failed, going into deep sleep ...");
#ifndef SLEEP_IF_NO_WLAN_CONNECTION
// do not sleep, repeat connecting
while
Das ist ziemlich dirty gelöst und meine Arduino-IDE weigert sich sogar, das zu compilieren. Auch wenn es ein paar bytes verschenkt ist, wäre es schöner, einfach immer was
while
stehen zu lassen und dann ein ```#ifdef`` in der schleife rein.feature/InfluxDB-Connection-Updateto WIP: feature/InfluxDB-Connection-UpdateWIP: feature/InfluxDB-Connection-Updateto feature/InfluxDB-Connection-Update