FHEM - Hausautomations-Systeme > Unterstützende Dienste

Neues Modul InfluxDBLogger

<< < (35/36) > >>

wopl:
Großen Dank für die "Neu-Interpretation" des InfluxDBLoggers. Habe gerade das völlig veraltete Modul abgelöst.
Nach ein wenig Knobeln klappt es jetzt wie am Schnürchen.
Ganz viele Temperatur und Stromwerte werden jetzt in die InfluxDB geschrieben und mit Grafana angezeigt.

Edit: und jetzt kommen doch noch Fragen:
- ich habe einen typischen Temperatur/Feuchtesensor. Ich möchte gerne alles andere verwerfen und nur "temp" und "hum" in die InfluxDB schicken.
- mach ich das jetzt mit Attribut measurement (wie gebe ich hier beide an? einfach durch Komma getrennt?) oder ist es das Attribut readingInclude?
- oder sind es doch die Fields? ... jetzt bin ich doch ein wenig verwirrt.
- kann mir jemand mal bitte die attr. Zeile als Beispiel geben?

So ganz komme ich mit den Begriffen measurement und reading dann doch noch nicht klar.
Freue mich auf ein wenig Unterstützung.

Schöne Grüße aus Köln,
Wolfram

rob:
Hallo Wolfram.

Es gibt imho mehrere Möglichkeiten:
- im Sensor mit event-on-change-reading nur dort ein Event zulassen, wo Du es brauchst
- im Define zum Influx-Device explizit in die Liste aufnehmen, was Du magst
- im attr readingExclude das rausfiltern, was weg haben willst oder mit readingInclude umgekehrt nur das reinnehmen, was explizit haben willst (beides muss zum define passen)

Wahrscheinlich ist eine Kombination aus allem sinnvoll.

Beispiel für event-on-change-reading + event-min-interval im Sensor

--- Code: ---attr TempSensor event-min-interval temperature:120,humidity:120,myAbsoluteHumidity:120
attr TempSensor event-on-change-reading temperature:1,battery,humidity:1,myAbsoluteHumidity:1

--- Ende Code ---

Beispiel für define

--- Code: ---define myTestInflux InfluxDBLogger http://influx-ip:8086 myweatherdb TempSensor.*,DS18B20.*,WH1080

--- Ende Code ---

Beispiel für Exclude

--- Code: ---attr myTestInflux readingExclude state|.*windDirectionText.*

--- Ende Code ---

VG
rob

wopl:
Hallo rob,
mit dem event-on-change-reading und event-min-interval hatte ich bis jetzt noch nichts eingestellt. Wird in meine zukünfitigen Änderungen ganz sicher einfließen.

Meine initiale Frage ist damit mit dem readingExclude / readingInclude beantwortet. Klappt jetzt prima.
Vielen Dank,
Wolfram

okuegerl:
Geschätzte InfluxDBLogger - Community:
Ich würde gerne InfluxDB verwenden schaffe es aber leider nicht daher erlaube ich mir euch um Rat zu fragen:


Datenbankname: fhemtestdb
user: fhem
psw:  12345

open terminal:
==============
influx
create database fhemtestdb
create user fhem with password '12345' with all privileges
grant all privileges on fhemtestdb to fhem

show users

user admin
---- -----
fhem true

use fhemtestdb
exit

fhemtestdb ist unter http://192.168.1.37:8086 erreichbar

testen was zurück kommt:
============================
curl -G http://192.168.1.37:8086/query --data-urlencode "u=fhem" --data-urlencode "p=12345" --data-urlencode "q=SHOW DATABASES"

{"results":[{"statement_id":0,"series":[{"name":"databases","columns":["name"],"values":[["_internal"],["fhemtestdb"]]}]}]}


###################
## FHEM
###################
define testdummy dummy
  attr testdummy readingList a b value
  attr testdummy stateFormat Wert: value
setreading testdummy value 1


define influxtest InfluxDBLogger http://192.168.1.37:8086 fhemtestdb testdummy
   set influxtest password 12345
  attr influxtest api v1
  attr influxtest security basic_auth
  attr influxtest username fhem
  attr influxtest verbose 5

Internals:
   CFGFN     
   DATABASE   fhemtestdb
   DEF        http://192.168.1.37:8086 fhemtestdb testdummy
   FUUID      61e597bf-f33f-960b-f1c7-511c3e6bc31aa4ca
   NAME       influxtest
   NOTIFYDEV  testdummy
   NR         57
   NTFY_ORDER 50-influxtest
   STATE      Statistics: t=16 s=0 f=16 e=16
   TYPE       InfluxDBLogger
   URL        http://192.168.1.37:8086
   passwd     saved
   READINGS:
     2022-01-17 17:28:48   failed_writes   16
     2022-01-17 17:28:48   failed_writes_last_error connect to http://192.168.1.37:8086 timed out
     2022-01-17 17:28:48   state           Statistics: t=16 s=0 f=16 e=16
     2022-01-17 17:28:44   total_events    16
     2022-01-17 17:28:44   total_writes    16
Attributes:
   api        v1
   security   basic_auth
   username   fhem

jetzt setzte ich zum Testen ein paar Readingswerte
setreading testdummy value 1
setreading testdummy value 2
setreading testdummy value 3
 
... es wird aber nichts in die Datenbak geschrieben und ich erhalte die Meldung "failed_writes_last_error: connect to http://192.168.1.37:8086 timed out"

FÜR JEDE HILFE BIN ICH SEHR DANKBAR - DANKESCHÖN!

Events:
=======
2022-01-17 17:27:18.717 dummy testdummy value: 1
2022-01-17 17:27:21.504 InfluxDBLogger influxtest total_writes: 12
2022-01-17 17:27:21.504 InfluxDBLogger influxtest total_events: 12
2022-01-17 17:27:21.504 InfluxDBLogger influxtest Statistics: t=12 s=0 f=10 e=12
2022-01-17 17:27:21.507 dummy testdummy value: 2
2022-01-17 17:27:22.721 InfluxDBLogger influxtest failed_writes_last_error: connect to http://192.168.1.37:8086 timed out
2022-01-17 17:27:22.721 InfluxDBLogger influxtest failed_writes: 11
2022-01-17 17:27:22.723 InfluxDBLogger influxtest Statistics: t=12 s=0 f=11 e=12
2022-01-17 17:27:24.246 InfluxDBLogger influxtest total_writes: 13
2022-01-17 17:27:24.246 InfluxDBLogger influxtest total_events: 13
2022-01-17 17:27:24.246 InfluxDBLogger influxtest Statistics: t=13 s=0 f=11 e=13
2022-01-17 17:27:24.249 dummy testdummy value: 3
2022-01-17 17:27:25.509 InfluxDBLogger influxtest failed_writes_last_error: connect to http://192.168.1.37:8086 timed out
2022-01-17 17:27:25.509 InfluxDBLogger influxtest failed_writes: 12
2022-01-17 17:27:25.512 InfluxDBLogger influxtest Statistics: t=13 s=0 f=12 e=13
2022-01-17 17:27:28.254 InfluxDBLogger influxtest failed_writes_last_error: connect to http://192.168.1.37:8086 timed out
2022-01-17 17:27:28.254 InfluxDBLogger influxtest failed_writes: 13
2022-01-17 17:27:28.257 InfluxDBLogger influxtest Statistics: t=13 s=0 f=13 e=13

[/font][/size][/color]

meier81:
Hallo okuegerl,

also ich habe bei mir in FHEM das wie folgt definiert:


--- Code: ---define NN_xx_SW_InfluxDB_Energie InfluxDBLogger http://127.0.0.1:8086 Energie KG_hr_SZ_Haus
attr NN_xx_SW_InfluxDB_Energie alias InfluxDB Energie
attr NN_xx_SW_InfluxDB_Energie conversions closed=0,open=1,tilted=2,false|off|no=0,true|on|yes=1
attr NN_xx_SW_InfluxDB_Energie deviceTagName device_name
attr NN_xx_SW_InfluxDB_Energie icon time_note
attr NN_xx_SW_InfluxDB_Energie readingExclude (ENERGY_ApparentPower|ENERGY_ReactivePower):.*
attr NN_xx_SW_InfluxDB_Energie readingInclude (Power_.*__kW|ENERGY_Power):.*
--- Ende Code ---

Ich habe das bei mir ohne user, password, api und security gemacht, funktioniert einwandfrei.

Vermute das es bei dir Probleme gibt mit der Authentifizierung.

influxdb hatte ich lediglich folgendes gemacht auf der shell:


--- Code: ---sudo apt install influxdb influxdb-client
influx
CREATE DATABASE Energie

--- Ende Code ---

Eventuell kann dir jemand anderes weiterhelfen bezüglich der Authentifizierung, war für mich jetzt kein Problem die Daten so abzulegen. Wollte eigentlich mal auf influxdb 2 umsteigen, da bin ich aber leider auch bislang gescheitert.

Gruß Markus

Navigation

[0] Themen-Index

[#] Nächste Seite

[*] Vorherige Sete

Zur normalen Ansicht wechseln