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

Offline ChrisW

  • Hero Member
  • *****
  • Beiträge: 2129
Antw:Neues Modul: 93_InfluxDBLog
« Antwort #105 am: 26 Januar 2019, 19:19:39 »
Edit:
Okay da er immer 65000 hochzählt hab ich das mal mit den letzten15 minuten versucht bin gespannt. Hoffe nur das das nie mal ausfällt
« Letzte Änderung: 26 Januar 2019, 21:10:50 von ChrisW »
Raspberry PI3 mit allem möglichen.

Offline kadettilac89

  • Hero Member
  • *****
  • Beiträge: 1554
Antw:Neues Modul: 93_InfluxDBLog
« Antwort #106 am: 27 Januar 2019, 12:12:05 »
Edit:
Okay da er immer 65000 hochzählt hab ich das mal mit den letzten15 minuten versucht bin gespannt. Hoffe nur das das nie mal ausfällt

wenn du das Skript in Crontab hast mache den Zähler raus, der flutet dir sonst das daemon-log.

Offline plin

  • Developer
  • Sr. Member
  • ****
  • Beiträge: 868
    • FHEM-Landschaft von plin
Antw:Neues Modul: 93_InfluxDBLog
« Antwort #107 am: 27 Januar 2019, 15:39:00 »
Ich hätte da einen Wunsch fürs Modul selbst:

Bei nicht numerischen Werten gibt es Fehlermeldungen im Log. Die würde ich überspringen.

Praktisch wäre außerdem ein Mapping für den Status
  • on => 1
  • off => 0
  • open => 1
  • closed => 0
Sieht bei mir dann so aus:

diff 93_InfluxDBLog.pm 93_InfluxDBLog.pm.orig
114,121c114
<   my $value = $arr[1];
<   return if ! ( $value =~ /^[0-9,.E]+$/ );
<   $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
<
<   my $data = "$arr[0],site_name=$NAME value=$value";
---
>   my $data = "$arr[0],site_name=$NAME value=$arr[1]";

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 kadettilac89

  • Hero Member
  • *****
  • Beiträge: 1554
Antw:Neues Modul: 93_InfluxDBLog
« Antwort #108 am: 27 Januar 2019, 17:49:33 »
Ich hätte da einen Wunsch fürs Modul selbst:

Bei nicht numerischen Werten gibt es Fehlermeldungen im Log. Die würde ich überspringen.

Praktisch wäre außerdem ein Mapping für den Status
  • on => 1
  • off => 0
  • open => 1
  • closed => 0


muss der modulauthor entscheiden.  ... nice to have aber es gibt wichtigere requests. mapping im fhem device selber ...

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

Offline plin

  • Developer
  • Sr. Member
  • ****
  • Beiträge: 868
    • FHEM-Landschaft von plin
Antw:Neues Modul: 93_InfluxDBLog
« Antwort #109 am: 27 Januar 2019, 18:59:17 »
mapping im fhem device selber ...

Na ja, wie wär's denn mit der Variante: Im InfloxDBLog-Modul wird das Regelwerk in einem oder mehreren Attributen als Tabelle hinterlegt
s/on/1/
s/off/0/
s/open/1/
s/closed/0/

Die Attribute könnten den Namen des Readings beinhalten auf das die regex angewandt werden sollen
  • process_state
  • process_power
  • process_metrikname
Wenn die Variable $value im Modul gefüllt ist, kann das Regelwerk angewandt werden.

Beispiel:
#!/usr/bin/perl

my $value = "closed";
@trial_array = ("s/on/1/", "s/off/0/", "s/open/1/", "s/closed/0/");
foreach $regex (@trial_array)
{
    my $formula = "\$value =~ ".$regex.";";
    eval($formula);
}
print $value."\n";

Der Vorteil dieser Lösung: man muss die Regeln nur einmal zentral definieren und nicht in jedem Device einzeln.
« Letzte Änderung: 27 Januar 2019, 19:51:35 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 kadettilac89

  • Hero Member
  • *****
  • Beiträge: 1554
Antw:Neues Modul: 93_InfluxDBLog
« Antwort #110 am: 27 Januar 2019, 19:50:07 »


Der Vorteil dieser Lösung: man muss die Regeln nur einmal zentral definieren und nicht in jedem Device einzeln.

Wie gesagt. Muss der Autor entscheiden. Das Modul wurde schon eine Weile nicht mehr angepasst.


Offline plin

  • Developer
  • Sr. Member
  • ****
  • Beiträge: 868
    • FHEM-Landschaft von plin
Antw:Neues Modul: 93_InfluxDBLog
« Antwort #111 am: 27 Januar 2019, 19:55:48 »
Das Modul wurde schon eine Weile nicht mehr angepasst.
Seine persönliche Forumseite sagt

Letzter Besuch:
    02 Mai 2018, 13:16:22

Wenn der nicht mehr aktiv ist (sein Problem ist gelöst) muss man vielleicht einen Fork starten ...

P.S. Habe ihm gerade eine PN geschickt.
« Letzte Änderung: 27 Januar 2019, 20:07:39 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 kadettilac89

  • Hero Member
  • *****
  • Beiträge: 1554
Antw:Neues Modul: 93_InfluxDBLog
« Antwort #112 am: 27 Januar 2019, 20:07:53 »
Könnte man, ja. Ds_starter, maintainer vom dblog wollte sich das Thema mal ansehen. Aktuell ist die Nachfrage aber gering. Es funktioniert und es gibt wenige Nutzer.

Offline DS_Starter

  • Developer
  • Hero Member
  • ****
  • Beiträge: 8118
Antw:Neues Modul: 93_InfluxDBLog
« Antwort #113 am: 27 Januar 2019, 20:22:14 »
Zitat
Könnte man, ja. Ds_starter, maintainer vom dblog wollte sich das Thema mal ansehen. Aktuell ist die Nachfrage aber gering.
Hallo ihr zwei. Ich lese tatsächlich immer mal mit.
Es ist tatsächlich so, dass ich einfach zu wenig Zeit habe und momentan mit meinen Modulen und deren Weiterentwicklung gut beschäftigt bin.  ;)
Und da ich influxDbLog selbst nicht einsetze, ist die Motivation nicht so dramatisch hoch. Bin eher im MySQL/MariaDB Umfeld tätig.
Eigentlich hatte ich vor einen DbLog-Nachfolger nur für MySQL über das Winterhalbjahr zu bauen, was sich wirklich nur um das Logging kümmert. Alles andere liegt im DbRep. Ich weiß nicht ob ich es noch schaffen werde.

Dann könnte man evtl. influxDb als noSQL mit integrieren. Es war nämlich mein Problem, dass die vielen Zusatzfunktionen die es seit langem im DbLog gibt, nicht mit einer noSQL harmonieren und schlecht programmtechnisch zusammengeführt werden können.
Bei einem neuen Modul könnte man es im Design berücksichtigen.

Mal schauen ... Aber vielleicht macht der Influx-Autor auch nur eine schöpferische Pause. :)

Grüße
Heiko
« Letzte Änderung: 27 Januar 2019, 20:34:25 von DS_Starter »
ESXi 6.5 @NUC6i5SYH mit FHEM auf Debian 10, DbLog/DbRep mit MariaDB auf VM
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

Offline ChrisW

  • Hero Member
  • *****
  • Beiträge: 2129
Antw:Neues Modul: 93_InfluxDBLog
« Antwort #114 am: 27 Januar 2019, 21:11:56 »
also ich als nichts mysql Profi finde dieses Influx echt super.
Die Auswertungen mit Grafana sind echt Kinderleich. Glaub wenn es da eine Schnitstelle direkt im dblog gibt werden das viel mehr benutzen.

DBlog und mysql funktioniert ja sehr gut. Influxdb hier legt leider mein FHEM lahm :(
Raspberry PI3 mit allem möglichen.

Offline d.schoen

  • Jr. Member
  • **
  • Beiträge: 92
Antw:Neues Modul: 93_InfluxDBLog
« Antwort #115 am: 27 Januar 2019, 21:31:26 »
Hallo, ich war in der Tat länger nicht mehr da und das Modul auch nur so ein Testfeld.

Es freut mich natürlich, dass mein Modul Anklang findet. „Leider“ bin ich kittlerweile aber auf OpenHAB umgestiegen.

Macht daher gern einen Fork und entwickelt das Modul nach euren Wünschen weiter.
FHEM 5.7 auf RasPi2
COC 868MHz, Jeelink Clone
Devices: IT, HomeMatic, LaCrosse, ENIGMA2, LG-TV, Thinkingcleaner (iRobot Roomba), LIFX Wifi-Bulbs
Helper: TelegramBot, Homebridge (Siri), Geofency

Offline DS_Starter

  • Developer
  • Hero Member
  • ****
  • Beiträge: 8118
Antw:Neues Modul: 93_InfluxDBLog
« Antwort #116 am: 27 Januar 2019, 21:36:28 »
Jede DB hat ihre Stärken und nicht für jeden Zweck ist jede DB gleich gut geeignet. Es gibt natürlich nicht nur Influx als noSQL, sondern  z.B. auch MongoDB und mehr.
Damit die Influx dein FHEM nicht ausbremst, wäre wahrscheinlich eine ähnliche Technik wie ich sie bei DbLog mit dem asynchronen Mode eingebaut habe, ausreichend. Allerdings kenne ich mich mit der InfluxDB nicht aus, müßte mich erst intensiv damit befassen.
ESXi 6.5 @NUC6i5SYH mit FHEM auf Debian 10, DbLog/DbRep mit MariaDB auf VM
Maintainer: SSCam, SSChatBot, SSCal, SSFile, DbLog/DbRep, Log2Syslog, SolarForecast,Watches, Dashboard
Kaffeekasse: https://www.paypal.me/HMaaz
Contrib: https://svn.fhem.de/trac/browser/trunk/fhem/contrib/DS_Starter

Offline kadettilac89

  • Hero Member
  • *****
  • Beiträge: 1554
Antw:Neues Modul: 93_InfluxDBLog
« Antwort #117 am: 27 Januar 2019, 21:42:47 »
Influxdb hier legt leider mein FHEM lahm :(

du kannst ja mal testen was plin gemacht hat. die idee hatte ich auch mal aber plin war schneller :)

mach dir eine 2. fhem instanz die nur dazu da ist, in influxdb zu schreiben. hauptinstanz mach normale arbeit, zweite instanz hat das influxdb device und schreibt. verbunden über fhem2fhem. ist ein asynchron-workaround.
Gefällt mir Gefällt mir x 1 Zustimmung Zustimmung x 1 Liste anzeigen

Offline MarkusN

  • Full Member
  • ***
  • Beiträge: 287
Antw:Neues Modul: 93_InfluxDBLog
« Antwort #118 am: 31 Januar 2019, 14:23:02 »
Ich hätte da einen Wunsch fürs Modul selbst:

Bei nicht numerischen Werten gibt es Fehlermeldungen im Log. Die würde ich überspringen.

Praktisch wäre außerdem ein Mapping für den Status
  • on => 1
  • off => 0
  • open => 1
  • closed => 0
Sieht bei mir dann so aus:

diff 93_InfluxDBLog.pm 93_InfluxDBLog.pm.orig
114,121c114
<   my $value = $arr[1];
<   return if ! ( $value =~ /^[0-9,.E]+$/ );
<   $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
<
<   my $data = "$arr[0],site_name=$NAME value=$value";
---
>   my $data = "$arr[0],site_name=$NAME value=$arr[1]";

VG plin

Habe das mal eingebaut, aber zumindest der state scheint dabei nicht geloggt zu werden. Funktioniert das so bei dir?
Mir ist auch aufgefallen dass offenbar keine negativen werte mit diesem Plugin geloggt werden. Kann das jemand bestätigen?

Offline kadettilac89

  • Hero Member
  • *****
  • Beiträge: 1554
Antw:Neues Modul: 93_InfluxDBLog
« Antwort #119 am: 31 Januar 2019, 16:05:33 »
Habe das mal eingebaut, aber zumindest der state scheint dabei nicht geloggt zu werden. Funktioniert das so bei dir?
Mir ist auch aufgefallen dass offenbar keine negativen werte mit diesem Plugin geloggt werden. Kann das jemand bestätigen?

ich logge kein state da es m. e. keinen sinn macht. negative werte an sich habe ich aber in der db und diese werden auch in grafana angezeigt. s. angehängtem screenshot