FHEM - Hausautomations-Systeme > Unterstützende Dienste

Neues Modul InfluxDBLogger

<< < (38/46) > >>

m-d-ley:
Ich habe den Fehler gefunden:

Sobald man sich im Perlmodus befindet muss man auch dort bleiben.

{"device=$device,serial=" .ReadingsVal("$device", "serial", 0).",unit=" .ReadingsVal("$device", "unit", 0).",scalefactor=" .ReadingsVal("$device", "scalefactor", 0).",value_unscaled=" .ReadingsVal("$device", "value_unscaled", 0).",name=" .ReadingsVal("$device", "name", 0)}

So passt es.

rob:
Naja, Du setzt dadurch alles in Perl zu einem String zusammen. OK. Und glücklicherweise wird dies akzeptiert/ aufgelöst. Sehe ich mehr als Workaround an. Lass mich aber gern vom Gegenteil überzeugen  ;)

Die cref lese ich jedenfalls so, dass das nicht nötig sein sollte. Insbesondere wird ja ein Beispiel entspr. gezeigt.

--- Zitat ---tags attr <name> tags <x,y>
Dies ist the Liste der tags die an InfluxDB mitgesendet werden. Das Schlüsselwort $DEVICE wird ersetzt durch den Gerätenamen. Wenn dieses Attribut gesetzt ist wird das Attribut deviceTagName nicht berücksichtigt. Standard ist site_name=$DEVICE. Um keine Tags zu schreiben (insbesondere, weil measurement auf $DEVICE und fields auf $READINGNAME=$READINGVALUE steht) bitte ein "-" eintragen. Es können Perl-Ausdrücke in geschweiften Klammern verwendet werden um z.B. Attribute als tag zu nutzen. $name, $device, $reading, $value stehen dabei als Variable zur Verfügung. attr influx tags device={AttrVal($device, "alias", "fallback")}

--- Ende Zitat ---

msome:
Hi, ich bin seit kurzem dabei bestimmte Daten statt in MySQL in die Influx DB zu senden.
Mit ein paar InfluxLogger Devices funktioniert das auch schon ganz schön, aber ich habe ständig dropped_writes .

Nachdem ich mich gerade ein bisserl im Code umgesehen habe, scheint das Problem darin zu liegen,
dass non-numeric values in InfluxDBLogger_BuildData explizit als "incompatible" verworfen werden. It's not a bug, it's a feature.

Leider habe ich aber halt Readings in Textform die ich auch gerne mit in der Influx DB hätte um nicht 90% Readings in Influx + 10% in MySQL haben zu müssen.
Kann sich jemand erinnern warum diese Beschränkung im Code eingebaut wurde?

meier81:
Hallo msome,

das ist ganz einfach, soweit ich mich erinnere kann influxdb nur zahlen loggen, keinen String, etc.

Es gibt die Möglichkeit das du mit dem Attribut "conversions" arbeitest, da kannst du "Ersetzungen" machen, hier mal eine von mir:


--- Code: ---closed=0,open=1,tilted=2,false|off|no=0,true|on|yes=1
--- Ende Code ---

Somit wandle ich z.B. "yes" oder "true" in 1 um, "no" oder "false" in "0" und für meine Fenster mache ich halt "0,1,2".

Anders wäre mir nicht bekannt das hier was geht, das ist halt der "einzige" Nachteil von influxdb. Da aber für mich die Vorteile überwiegen (einfacher konfigurierbar in Grafana, DB-Größe ist um ein vielfacher kleiner, etc.) gehe ich diesen "Verlust" gerne ein.

Gruß Markus

msome:
Hi,

dann war das wohl früher mal so.  Aktuell scheint es zu funktionieren.


--- Code: ---influx
use Zzz_test
insert testStrings,site_name=daham value="test test test"
--- Ende Code ---

Dann werd ich wohl mal versuchen müssen die Limitierung auszubauen...

Navigation

[0] Themen-Index

[#] Nächste Seite

[*] Vorherige Sete

Zur normalen Ansicht wechseln