Autor Thema: Neues Modul: 93_InfluxDBLog  (Gelesen 19226 mal)

Offline wuast94

  • Full Member
  • ***
  • Beiträge: 142
Antw:Neues Modul: 93_InfluxDBLog
« Antwort #75 am: 22 September 2018, 19:28:44 »
gibt es eine möglichkeit werte in die datenbank zu schreiben die nicht nur zahlen sind? meine strom messung zb hat das reading "1.37 kWh" oder "   
24.5 W" allerding nimmt er die ja nicht weil es nicht nur zahlen sind.
CCU2 + 3 HM-CC-RT-DN
RspFHEM + Denon AV Reciver +
Funksteckdosen 433Mhz + Z-Wave Fibaro Wall Plugs
Bald Alexa Sprachsteuerung

Offline kadettilac89

  • Sr. Member
  • ****
  • Beiträge: 992
Antw:Neues Modul: 93_InfluxDBLog
« Antwort #76 am: 23 September 2018, 10:03:54 »
gibt es eine möglichkeit werte in die datenbank zu schreiben die nicht nur zahlen sind? meine strom messung zb hat das reading "1.37 kWh" oder "   
24.5 W" allerding nimmt er die ja nicht weil es nicht nur zahlen sind.
Möglich, ich habe mir userReadings angelegt und diese dann geloggt. Dann sind es reine zahlen und gut ist ...

beispiel
attr sysmon userReadings wlan0_diff_RX:wlan0_diff.* { my @a = split ' ',ReadingsVal($name,'wlan0_diff',0);;$a[1] },\
wlan0_diff_TX:wlan0_diff.* { my @a = split ' ',ReadingsVal($name,'wlan0_diff',0);;$a[4] }

Offline kadettilac89

  • Sr. Member
  • ****
  • Beiträge: 992
Antw:Neues Modul: 93_InfluxDBLog
« Antwort #77 am: 23 September 2018, 18:02:26 »
Vielleicht kanns jemand gebrauchen

habe mir ein Perl-Script geschrieben um Daten von DbLog nach Influxdb zu migrieren

- MySQL Konfiguration wird aus FHEM genommen
- InfluxDB host, port, user, pw müssen im Script eingetragen (geändert) werden
- InfluxDB, user und pw muss bereits existieren ... wenn das Modul bereits installiert ist - DB, user + pw von der Definition übernehmen
- Log der nicht geschriebenen Sätze wird im Fhem-Logverzeichnis erstellt

Läuft bei mir mit 500.000 Sätzen ca. 1 Stunde. Kann mehrfach ausgeführt werden. Sätze die schon existieren werden von InfluxDB ignoriert

Wenn man die anzahl der verarbeiteten Sätze sehen will Zeile 84 wieder einkommentieren, "      #print "$cnt\n";"   dann sieht man  bei welchem Satz (Nummer) gerade gearbeitet wird.

Läuft mit einem DB-Cursor somit läuft Memory nicht über. Dafür läufts länger.

Wenn man den Select einschränkt kann man auch paketweise arbeiten. Ich lade mir aktuell alle 5 Minuten die Sätze in InfluxDB. Beispielselect ist im Script als Kommentar enthalten.

Nicht-numerische Sätze landen im Fehlerlog, werden nicht migriert

Ansonsten ... läuft, jedoch etwas DB-Wissen vorausgesetzt. Und sichern ... ich bin nicht für Datenverluste verantwortlich :)

Aufruf auf der Console

perl mysql2influx__db_fhem.pm
« Letzte Änderung: 23 September 2018, 18:04:29 von kadettilac89 »
Gefällt mir Gefällt mir x 3 Liste anzeigen

Offline wuast94

  • Full Member
  • ***
  • Beiträge: 142
Antw:Neues Modul: 93_InfluxDBLog
« Antwort #78 am: 25 September 2018, 00:09:24 »
wäre geil wenn das script oder das modul selbst von alleine nicht nummerische werte in nummerische werte umwandeln würde .. dann hat man den stress mit userreadings etc nicht
CCU2 + 3 HM-CC-RT-DN
RspFHEM + Denon AV Reciver +
Funksteckdosen 433Mhz + Z-Wave Fibaro Wall Plugs
Bald Alexa Sprachsteuerung

Offline kadettilac89

  • Sr. Member
  • ****
  • Beiträge: 992
Antw:Neues Modul: 93_InfluxDBLog
« Antwort #79 am: 25 September 2018, 07:14:57 »
wäre geil wenn das script oder das modul selbst von alleine nicht nummerische werte in nummerische werte umwandeln würde .. dann hat man den stress mit userreadings etc nicht

die Readings müssen in Fhem behandelt werden, entweder im erzeugenden Modul oder im InfluxDB-Modul. Aber hier auch die Frage ... wie soll das Modul wissen wie du das Reading haben möchtest.

Das Script ist für eine initiale Befüllung gedacht. Mapping ist leicht einzubauen ...

my ($timestamp, $unixts, $device, $reading, $value) = @row;  
#print $timestamp,$device,$reading,$value,"\n";

----> your code here

my $data = "$reading,site_name=$device value=$value $unixts";
#print "data: $data\n";

Wenn du ein Mapping oder Konvertierung willst kannst das an der markierten Stelle machen. in $value ist der Readingwert, kannst du dir an der Stelle entsprechend erweitern.

Offline wuast94

  • Full Member
  • ***
  • Beiträge: 142
Antw:Neues Modul: 93_InfluxDBLog
« Antwort #80 am: 25 September 2018, 11:45:28 »
naja in dem moment wo ich ein gerät habe das als reading zb "254 W" hat muss ich dann ja n user reading anlegen das dann n reading mit "254" anlegt und dann ist es quasi doppelt. Also wäre es da sinnvoll wenn das influxdb modul einfach aus "254 W" "254" in die db schreibt. So wie es momentan ist wird es einfach gar nicht geloggt.
CCU2 + 3 HM-CC-RT-DN
RspFHEM + Denon AV Reciver +
Funksteckdosen 433Mhz + Z-Wave Fibaro Wall Plugs
Bald Alexa Sprachsteuerung

Offline kadettilac89

  • Sr. Member
  • ****
  • Beiträge: 992
Antw:Neues Modul: 93_InfluxDBLog
« Antwort #81 am: 25 September 2018, 13:13:43 »
naja in dem moment wo ich ein gerät habe das als reading zb "254 W" hat muss ich dann ja n user reading anlegen das dann n reading mit "254" anlegt und dann ist es quasi doppelt. Also wäre es da sinnvoll wenn das influxdb modul einfach aus "254 W" "254" in die db schreibt. So wie es momentan ist wird es einfach gar nicht geloggt.

Steht im Reading oder in state das "254 W"? Hast du DBLog im Einsatz, steht da im Feld "Value" wirklich 254 W? DBLog sollte
Value    254
unit       W
loggen. Wenn nicht ist das ein Thema für das ursprüngliche Modul, nicht für InfluxDB-Modul.

Offline wuast94

  • Full Member
  • ***
  • Beiträge: 142
Antw:Neues Modul: 93_InfluxDBLog
« Antwort #82 am: 25 September 2018, 17:43:09 »
im dblog modul ist das getrennt meine ich ja. aber das script würde ich zum einmaligen übertragen nutzen und den rest dann mit influxdb loggen. anstatt beides pöaralell laufen zu lassen und mit dem script immer alles neue übertragen.

deswegen meine ich wäre es sinnvoll wenn das influxdb modul das von sich aus machen würde .. dann könnte ich einfach komplett umsteigen. so muss beides laufen was iwie öde ist
CCU2 + 3 HM-CC-RT-DN
RspFHEM + Denon AV Reciver +
Funksteckdosen 433Mhz + Z-Wave Fibaro Wall Plugs
Bald Alexa Sprachsteuerung

Offline kadettilac89

  • Sr. Member
  • ****
  • Beiträge: 992
Antw:Neues Modul: 93_InfluxDBLog
« Antwort #83 am: 25 September 2018, 18:21:36 »
im dblog modul ist das getrennt meine ich ja. aber das script würde ich zum einmaligen übertragen nutzen und den rest dann mit influxdb loggen. anstatt beides pöaralell laufen zu lassen und mit dem script immer alles neue übertragen.

deswegen meine ich wäre es sinnvoll wenn das influxdb modul das von sich aus machen würde .. dann könnte ich einfach komplett umsteigen. so muss beides laufen was iwie öde ist
ich verstehe das problem nicht. wenn es in dblog sauber geloggt wird ist das reading ja numerisch, wieso soll das dann hier nicht funktionieren? hast du es getestet und die werte fehlen?

Offline wuast94

  • Full Member
  • ***
  • Beiträge: 142
Antw:Neues Modul: 93_InfluxDBLog
« Antwort #84 am: 03 Oktober 2018, 22:39:24 »
kann es sein das das modul ohne dblogging nicht funktioniert ? hatte alles eingerichtet und funktionerte auch alles und seid dem ich dblog gelöscht habe wird nichts mehr in die influx db geschrieben.

state ist activ.
verbose auf 5 und im log geguckt aber da steht nur:
2018.10.03 22:38:17 4 : Influxdblog: Log
2018.10.03 22:38:17 4 : Influxdblog: 73
2018.10.03 22:38:17 4 : Influxdblog: Log End
CCU2 + 3 HM-CC-RT-DN
RspFHEM + Denon AV Reciver +
Funksteckdosen 433Mhz + Z-Wave Fibaro Wall Plugs
Bald Alexa Sprachsteuerung

Offline Patrick85

  • New Member
  • *
  • Beiträge: 28
Antw:Neues Modul: 93_InfluxDBLog
« Antwort #85 am: 18 Oktober 2018, 17:32:31 »
Hallo wuast94,
bei mir funktioniert das Modul auch ohne dblog. Ich habe alle dblog Einstellungen nach der Umstellung auf influxdb komplett aus der Konfiguration entfernt.

Offline Dave90

  • New Member
  • *
  • Beiträge: 38
Antw:Neues Modul: 93_InfluxDBLog
« Antwort #86 am: 02 November 2018, 18:37:50 »
Hallo,
zunächst vielen Dank für das Modul. :)
Habe Grafana und die Influxdb aufgesetzt und fhem schreibt auch direkt fleißig Werte, welche ich mit Grafana auslesen kann.
Leider habe ich aber trotzdem ein Problem:
Fhem schreibt jedes reading als ein measurement. Das bedeutet bspw. bei mehreren Temperatursensoren habe ich nur einmal das measurement "temperature" auf das alle Sensoren schreiben. Wie habt ihr das gelöst? ;)

Edit: Ok kann über das site_name im query gelöst werden. Hat sich erledigt ;)

Danke und viele Grüße
David
« Letzte Änderung: 03 November 2018, 08:45:12 von Dave90 »
Hardware:  FHEM-& LMS-Server + NAS: Banana Pi; Hyperion Ambilight Server + anderer Kleinkram: RPI Model B; Lampen: Philips Hue + Milight; Homematic Heizungssteuerung; Entertainment: Harmony Hub
sonstiges: Funksteckdosen

Offline highball

  • Newbie
  • Beiträge: 1
Antw:Neues Modul: 93_InfluxDBLog
« Antwort #87 am: 09 Januar 2019, 16:33:40 »
Hallo zusammen,

erstmal vielen Dank für das influxdb Modul  :), ich habe jetzt soweit alles zusammen mit Grafana am laufen... Aber jetzt zu meiner Frage: Ich würde nun gerne meine FritzBox einbinden, dabei aber nur wenige definierte readings in die influxdb schreiben: box_powerRate, box_rateDown, box_rateUp box_wlanCount

Beim "normalen" DbLog würde ich nun: "attr FritzBox DbLogInclude  box_powerRate,box_rateDown,box_rateUp,box_wlanCount"

Funktioniert das dann auch mit "InfluxDbLog", also "attr FritzBox InfluxDbLogInclude  box_powerRate,box_rateDown,box_rateUp,box_wlanCount" oder muss ich hier dann DbLogInclude nutzen? Irgendwie bekomme ich das nicht so hin wie ich gerne würde  ;)

Vielen Dank und viele Grüße
Jens

Offline plin

  • Developer
  • Full Member
  • ****
  • Beiträge: 389
Antw:Neues Modul: 93_InfluxDBLog
« Antwort #88 am: 21 Januar 2019, 18:18:08 »
Hi,

ich habe das Modul seit einigen Monaten im Einsatz. Ich habe beobachtet, dass sich die FHEM-GUI aufhängt wenn die Influx-DB nicht zu erreichen ist. Hat jemand anders auch schon die Erfahrung gemacht?

VG plin

Offline kadettilac89

  • Sr. Member
  • ****
  • Beiträge: 992
Antw:Neues Modul: 93_InfluxDBLog
« Antwort #89 am: 21 Januar 2019, 19:13:17 »
Hi,

ich habe das Modul seit einigen Monaten im Einsatz. Ich habe beobachtet, dass sich die FHEM-GUI aufhängt wenn die Influx-DB nicht zu erreichen ist. Hat jemand anders auch schon die Erfahrung gemacht?

VG plin

https://forum.fhem.de/index.php/topic,71551.msg837607.html#msg837607



Im DBLog ist das von DS_Starter gut gelöst, da wird asynchron geschrieben - per Attribut aktivierbar. Wenn die DB kurzzeitig nicht erreichbar ist läuft FHEM seelenruhig weiter.

bekannt aber ist halt nicht asynchron.