Autor Thema: InfluxDBLogger: Perl Ausdrücke für measurement Attribut  (Gelesen 768 mal)

Offline haxtibal

  • Newbie
  • Beiträge: 2
InfluxDBLogger: Perl Ausdrücke für measurement Attribut
« am: 27 Dezember 2020, 23:54:50 »
Hallo Forum, Hallo Tim sofern Du mitliest,

vielen Dank für das InfluxDBLogger Modul. Es funktioniert hier bestens und eröffnet ungeahnte Möglichkeiten.

Eine kleine Anregung: In InfluxDBLogger_GetTagSet wertest Du Perl Ausdrücke im tags Attribut aus. Könntest Du das selbe für das measurement Attribut in InfluxDBLogger_GetMeasurement einbauen? Ich möchte viele Readings unterschiedlicher Devices nach etwas aufwändigeren Regeln in verschiedene InfluxDB Measurements einsortieren (in der Hoffnung den InfluxDB Schema Design Best Practices Rechnung zu tragen). Im Moment habe ich dazu InfluxDBLogger_GetMeasurement derart lokal gepatched
      my $measurement =  AttrVal($name, "measurement", $reading);
+     $measurement =~ s/\{(.*)\}/eval($1) /ei;
      $measurement =~ s/\$DEVICE/$device/ei;
      $measurement =~ s/\$READINGNAME/$reading/ei;
Dann die Abbildung von (Device,Reading) auf Measurement in einer Funktion in 99_InfluxUtils.pm implementiert, und folgendes konfiguriert:
attr influxdb measurement { InfluxDbUtils_measurement($device, $reading) }
Funktioniert einwandfrei, ich würde nur gerne den lokalen Patch loswerden.

Viele Grüße
Tobias

Offline timmib

  • Developer
  • Full Member
  • ****
  • Beiträge: 221
Antw:InfluxDBLogger: Perl Ausdrücke für measurement Attribut
« Antwort #1 am: 15 Januar 2021, 16:06:33 »
Hi, sorry den Post grade erst gefunden. Ich schaue mir das am WE an.

Offline timmib

  • Developer
  • Full Member
  • ****
  • Beiträge: 221
Antw:InfluxDBLogger: Perl Ausdrücke für measurement Attribut
« Antwort #2 am: 18 Januar 2021, 11:32:55 »
Hallo,

vielen Dank für Deinen Vorschlag. Ich werde es übernehmen und die Doku anpassen.

Viele Grüße

Tim

Offline timmib

  • Developer
  • Full Member
  • ****
  • Beiträge: 221
Antw:InfluxDBLogger: Perl Ausdrücke für measurement Attribut
« Antwort #3 am: 18 Januar 2021, 12:34:01 »
So, habe es jetzt commited. Ich habe den Code ein wenig angepasst. Es werden die Ersetzungen nur gemacht, wenn das Attribut gesetzt war und nicht immer.

Doku ist auch angepasst mit Beispiel.

Nochmal viele Dank.