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

Offline plin

  • Developer
  • Sr. Member
  • ****
  • Beiträge: 873
    • FHEM-Landschaft von plin
Antw:Neues Modul: 93_InfluxDBLog
« Antwort #120 am: 01 Februar 2019, 17:13:33 »
Funktioniert das so bei dir?
Hat es mal. Jetzt aber nicht mehr. Schaue ich mir am Wochenende an.

Update: Tja, knapp daneben ist auch daneben.

diff 93_InfluxDBLog.pm 93_InfluxDBLog.pm.orig
114,121c114
<   my $value = $arr[1];
<   $value = 1   if ( lc $value eq "on");               # state on
<   $value = 0   if ( lc $value eq "off");      # state off
<   $value = 1   if ( lc $value eq "open");     # contact open
<   $value = 0   if ( lc $value eq "closed");   # contact closed
<   return if ! ( $value =~ /^[0-9,.E]+$/ );
<
<   my $data = "$arr[0],site_name=$NAME value=$value";
---
>   my $data = "$arr[0],site_name=$NAME value=$arr[1]";
Die Numerisch-Prüfung sollte nicht vor der Substitution durchgeführt werden.

In Grafana sollte dann
    FROM default state WHERE site_name = <devicename>
mit
    SELECT field(value) distinct()
ausgewählt werden. Dann gibt's auch was zu sehen.

VG plin
« Letzte Änderung: 01 Februar 2019, 17:51:04 von plin »
FHEM1 (Main) Raspi3b mit CUL, Homematic, SDUINO 433/OOK, zentrale Steuerung
FHEM2 (Keller) x86 mit CUL/hmland, IP-basierte Module
FHEM3 (Erdgeschoss) Raspi2 mit SDUINO 868/GFSK
FHEM4 (Hausanschlussraum), USV und OBIS-Modul
FHEM5 (Docker) mit FHEM2FHEM, InfluxDB

Offline ChrisW

  • Hero Member
  • *****
  • Beiträge: 2130
Antw:Neues Modul: 93_InfluxDBLog
« Antwort #121 am: 08 Februar 2019, 08:16:13 »
also das mit dem Modul SQL in Influxdb will einfach nicht so recht. Es funktioniert zwar aber irgendwie viel zu langsam ..
Habe nun schon einestellt check letzte 15 Minuten und lasse es alle 10 Minuten von Fhem ausführen.
Gerade geguckt seit gestern abend habe ich aktuell 6 offene Prozesse mit dem script :(

Ich kann mir nur vorstellen das das Filtern der nicht "zahlen" werte so lange dauert da ich in die sql relativ viel anderes noch speicher ??!!
Raspberry PI3 mit allem möglichen.

Offline kadettilac89

  • Hero Member
  • *****
  • Beiträge: 1570
Antw:Neues Modul: 93_InfluxDBLog
« Antwort #122 am: 08 Februar 2019, 17:07:32 »
also das mit dem Modul SQL in Influxdb will einfach nicht so recht. Es funktioniert zwar aber irgendwie viel zu langsam ..
Habe nun schon einestellt check letzte 15 Minuten und lasse es alle 10 Minuten von Fhem ausführen.
Gerade geguckt seit gestern abend habe ich aktuell 6 offene Prozesse mit dem script :(

Ich kann mir nur vorstellen das das Filtern der nicht "zahlen" werte so lange dauert da ich in die sql relativ viel anderes noch speicher ??!!
Kann ich nicht sagen. Ich habe reine zahlenwerte und es hängt nichts. Dann musst du wohl oder übel dein Setup auf influx optimieren.

Offline ChrisW

  • Hero Member
  • *****
  • Beiträge: 2130
Antw:Neues Modul: 93_InfluxDBLog
« Antwort #123 am: 08 Februar 2019, 19:42:10 »
ja ich will das mit dem 2. Fhem vermeiden.

Schade das man im Device nicht sowas wie incinflux excinflux setzen kann
Raspberry PI3 mit allem möglichen.

Offline kadettilac89

  • Hero Member
  • *****
  • Beiträge: 1570
Antw:Neues Modul: 93_InfluxDBLog
« Antwort #124 am: 08 Februar 2019, 19:47:24 »
Global kannst du das setzen was du loggen willst.

Offline ChrisW

  • Hero Member
  • *****
  • Beiträge: 2130
Antw:Neues Modul: 93_InfluxDBLog
« Antwort #125 am: 15 Februar 2019, 13:13:22 »
ja aber da muss ich das alles Manuell exakt angeben :( Würde es gerne per Device steuern. Quasi wie beim dblog

Und wie kann ich da bei influx etwas Optimieren ? Das script zum sql zu influx ist einfach zu langsam :( sehe das im Prozess das es teilweise 6-7 mal immer gleichzeitig offen ist. In Grafana hab ich dadurch oft auch ausfälle das einiges nicht mit kommt. Aktuell musste ich fhem ganz neu starten weil zu viel offen war. Grafana hing schon 3 Stunden zurück.
« Letzte Änderung: 15 Februar 2019, 13:19:32 von ChrisW »
Raspberry PI3 mit allem möglichen.

Offline kadettilac89

  • Hero Member
  • *****
  • Beiträge: 1570
Antw:Neues Modul: 93_InfluxDBLog
« Antwort #126 am: 15 Februar 2019, 16:19:53 »


Und wie kann ich da bei influx etwas Optimieren ? Das script zum sql zu influx ist einfach zu langsam

Das mag für dein setup so sein. Über welche Datenmenge reden wir hier?wie viele Sätze willst du übertragen? Laufzeit war bei mir für 10 Minuten Delta im unteren einstelligen sekundenbereich.


Offline Andreasgs

  • New Member
  • *
  • Beiträge: 10
Antw:Neues Modul: 93_InfluxDBLog
« Antwort #127 am: 18 August 2019, 00:19:58 »
Hallo Zusammen,

Habe grade mit erschrecken festgestellt, dass es by design nicht möglich ist, dass das InfluxDBLog Modul stings in die Datenbank schreibt. Den fehler hab ich jetzt seit 2 Monaten gesucht.

So wie ich den Thread verstehe, wirds wohl dahingehend keine Besserung geben, und wenn ich in Grafana Strings anzeigen lassen will, (z.B. "Regen?" - "Ja"/"Nein") komme ich an einer zweiten Datenbank wie SQL nicht rum. Ist der Status mittlerweile anders?

 >:( Die hatte ich schon in Nutzung, und habs dann zugunsten der InfluxDB totgelegt.

Grüße,
Andreas

Offline plin

  • Developer
  • Sr. Member
  • ****
  • Beiträge: 873
    • FHEM-Landschaft von plin
Antw:Neues Modul: 93_InfluxDBLog
« Antwort #128 am: 18 August 2019, 08:31:48 »
Hallo Andreas,

sieh Dir meinen Post weiter oben vom 31 Januar 2019, 14:23:02an.

Ich habe durch Anpassung des Modules aus den üblichen Strings wie on/off, open/closed jeweils Zahlen gemacht. Die Zahlen lassen sich in Grafana dann wieder als Text ausgeben.

VG plin
FHEM1 (Main) Raspi3b mit CUL, Homematic, SDUINO 433/OOK, zentrale Steuerung
FHEM2 (Keller) x86 mit CUL/hmland, IP-basierte Module
FHEM3 (Erdgeschoss) Raspi2 mit SDUINO 868/GFSK
FHEM4 (Hausanschlussraum), USV und OBIS-Modul
FHEM5 (Docker) mit FHEM2FHEM, InfluxDB

Offline volschin

  • Hero Member
  • *****
  • Beiträge: 1625
Antw:Neues Modul: 93_InfluxDBLog
« Antwort #129 am: 18 August 2019, 08:51:39 »
Habe grade mit erschrecken festgestellt, dass es by design nicht möglich ist, dass das InfluxDBLog Modul stings in die Datenbank schreibt.
Das ist weniger Problem des Moduls, als Design der InfluxDB als Timeseries Datenbank für Messwerte.
Intel NUC+Ubuntu 20.04+Docker+FHEM6
HomeMatic: HM-MOD-RPI-PCB+HM-USB-CFG2+hmland+diverse, HUE: Hue-Bridge, RaspBee+deCONZ+diverse
Amzn Dash-Buttons, Siro Rollos
4xRPi, 4xCO20, OWL+USB, HarmonyHub, FRITZ!Box 7590, Echo Dots+Show5, Logi Circle 2, HomeBridge
TIG Stack (Telegraf, InfluxDB, Grafana)

Offline plin

  • Developer
  • Sr. Member
  • ****
  • Beiträge: 873
    • FHEM-Landschaft von plin
Antw:Neues Modul: 93_InfluxDBLog
« Antwort #130 am: 22 August 2019, 17:50:30 »
Hi,

ich war so frei und habe das Modul 93_InfluxDBLog.pm um zwei weitere Attribute ergänzt:

regexp_0: regular expression für strings die auf '0' zu setzen sind, z.B. '(off|closed|battery low)'
regexp_1: regular expression für strings die auf '1' zu setzen sind, z.B. '(on|open|battery ok)'

Alle nicht-numerischen Werte werden übersprungen, erzeugen also keinen Datenbankfehler beim Schreiben.

VG plin
« Letzte Änderung: 23 August 2019, 18:49:17 von plin »
FHEM1 (Main) Raspi3b mit CUL, Homematic, SDUINO 433/OOK, zentrale Steuerung
FHEM2 (Keller) x86 mit CUL/hmland, IP-basierte Module
FHEM3 (Erdgeschoss) Raspi2 mit SDUINO 868/GFSK
FHEM4 (Hausanschlussraum), USV und OBIS-Modul
FHEM5 (Docker) mit FHEM2FHEM, InfluxDB

Offline W_Esch

  • New Member
  • *
  • Beiträge: 16
Antw:Neues Modul: 93_InfluxDBLog
« Antwort #131 am: 05 Dezember 2019, 16:03:37 »
Das Schreiben von negativen Werten funktioniert, wenn man in der Zeile vor dem log "Writing data" -->  return if ! ( $value =~ /^[0-9,.E]+$/ ); nach dem E noch ein Minuszeichen setzt. Habe ich heute getestet, nachdem die ersten Minustemperaturen nicht in die InfluxDB geschrieben wurden.
FHEM, Viessmann 300, SMA inverter, Zaehler über OBIS, DeltaSol über VBUS, Bayrol SaltRelax über httpmod, MQTT, Firmata, Homematic, MAX, FS20, Gardena smart Bewässerung, OneWire, SONOS, InfluxDB, GRAFANA, alles integriert und alles auf Docker

Offline kadettilac89

  • Hero Member
  • *****
  • Beiträge: 1570
Antw:Neues Modul: 93_InfluxDBLog
« Antwort #132 am: 08 Dezember 2019, 13:51:37 »
Das Schreiben von negativen Werten funktioniert, wenn man in der Zeile vor dem log "Writing data" -->  return if ! ( $value =~ /^[0-9,.E]+$/ ); nach dem E noch ein Minuszeichen setzt. Habe ich heute getestet, nachdem die ersten Minustemperaturen nicht in die InfluxDB geschrieben wurden.

Negative Werte werden beim mir seit Beginn korrekt geschrieben. Das Problem hatte hier schon mal jemand nachdem er das Modul um Status 0/1 oder ähnlich erweitert hatte.

Offline pitre

  • New Member
  • *
  • Beiträge: 4
Antw:Neues Modul: 93_InfluxDBLog
« Antwort #133 am: 21 Dezember 2019, 15:11:11 »
Es wurde ja schon ein paar Mal gefragt, aber Antwort konnte ich keine finden.
Ist es möglich Daten aus Influxdb nach FHEM zu laden? Hintergrund: ich habe Daten, die nur in influxdb liegen und die ich über andere Wege auch nicht erhalten kann (kleiner Arduino schickt direkt an influx (und macht einiges anderes) und der Sourcecode ist weg). In FHEM bräuchte ich jetzt genau diese Daten für eine Steuerung.

Offline kadettilac89

  • Hero Member
  • *****
  • Beiträge: 1570
Antw:Neues Modul: 93_InfluxDBLog
« Antwort #134 am: 21 Dezember 2019, 16:38:47 »
Es wurde ja schon ein paar Mal gefragt, aber Antwort konnte ich keine finden.
Ist es möglich Daten aus Influxdb nach FHEM zu laden? Hintergrund: ich habe Daten, die nur in influxdb liegen und die ich über andere Wege auch nicht erhalten kann (kleiner Arduino schickt direkt an influx (und macht einiges anderes) und der Sourcecode ist weg). In FHEM bräuchte ich jetzt genau diese Daten für eine Steuerung.

Mehr Informationen wenn du mehr Input lieferst. Was bedeutet "nach FHEM laden?". Willst du in MySQL laden und in Fhem DBLog nutzen? Wenn ja ... was Fertiges wirst du hier nicht finden da die DB-Strukturen zu unterschiedlich sind.

Möglicher Weg wenn du ein bischen IT-Background hast
1) lade dir einen INfluxdb Editor / Client runter. z. B. InfluxDB Studio und exportiere die Werte in CSV
2) Bearbeite die Daten in Excel o. ä.
3) Lade die CSV in PhpMyadmin oder Console in MySQL

Vorgehen abhängig von Datenstruktur und Menge vielleicht nicht anwendbar bzw. in Paketen.

Ich habe hier mal die umgekehrte Richtung befüllt .... wenn du Perl kannst könntest du dir auch sowas basteln.
https://forum.fhem.de/index.php/topic,71551.msg838940.html#msg838940

 

decade-submarginal