[Gelöst]Aktuellen Zustand in Datei exportieren

Begonnen von Pythonf, 17 Oktober 2018, 13:47:53

Vorheriges Thema - Nächstes Thema

Pythonf

Hallo FHEM-Freunde,

Ich beschäftige mich gerade etwas mit Datenverarbeitung und würde dazu gerne den aktuellen Status aller Geräte in FHEM exportieren.
Bisher exportiere ich die Daten mit DBLog. Hierbei habe ich die für mich interessanten Readings in den Geräten mit DBLogInclude markiert und mein DBLog auf "DbLogSelectionMode include" eingestellt.

Was ich aber zusätzlich gerne hätte, wäre der aktuelle Wert jedes geloggten Readings, sobald sich ein Reading ändert. Diese würde ich dann auch nicht in die Datenbank schreiben wollen, sondern als Datei exportieren.

Die Datei sollte ähnlich der SQL-Datenbank die Informationen "DEVICE","READING","VALUE" von eben jedem geloggten Device aufweisen.
Bsp.
Flur.MotionSensor|state|closed
Flur.MotionSensor|temperature|24.0
Schlafzimmer.Schalter|state|on
Pflanze1|moisture|42
Pflanze1|temperature|23.5
...


Vielleicht liese sich etwas mit einem "notify .* {}" realisieren, ich wüsste aber gerade keinen anderen Weg, als in diesem notify jedes Device und jedes Reading manuell zu definieren und ich könnte mir vorstellen, dass es einen schöneren Weg gibt.

Hat jemand eine Idee?

##EDIT
Lösung: attr DBLOG DbLogType Current/History
Lg
Fabian

Morgennebel

https://fhem.de/commandref_DE.html#FileLog

Ein FileLog-Device für alle Geräte. Fertisch...

Das würd ich aber nicht auf einem RPi mit SD-Karte machen wollen....

Ciao, -MN
Einziger Spender an FHEM e.V. mit Dauerauftrag seit >= 24 Monaten

FHEM: MacMini/ESXi, 2-3 FHEM Instanzen produktiv
In-Use: STELLMOTOR, VALVES, PWM-PWMR, Xiaomi, Allergy, Proplanta, UWZ, MQTT,  Homematic, Luftsensor.info, ESP8266, ESERA

bartman121

ich verstehe den Sinn nicht, das ganze steht doch alles in der Tabelle "current".

Von dort kannst du doch tun und lassen was du willst?

Beschreib doch mal was du damit vorhast?

Pythonf

#3
@bartman121

Ursprünglich war es meine Hoffnung, dass das ich die Werte dort auslesen kann.
Ich verwende sqlite3, da ist die tabelle "current" leider leer.
Kann ich auf die Tabelle irgendwie zugreifen ohne mein Datenbankprogramm ändern zu müssen?
#EDIT Attribute ansehen hilft, hab das Problem jetzt gelöst :D

@Morgennebel
Läuft alles auf einer SSD  ;) die wird mir das etwas länger verkraften, und soll auch nichts auf Dauer werden.

bartman121

ich kann mich mit SQLite nicht aus, ich setze mySQL ein.

Wie versuchst du denn auf die Tabelle zuzugreifen? Hast du es mal in der Console versucht?
Wie exportierst du aus "history"?

bei MySQL wäre der Syntax so:

select DEVICE,READING,VALUE,TIMESTAMP from fhem.current order by DEVICE,READING;


Wenn die Tabell "current" leer ist, dann kannst du ja auch keine SVG-Plots über die Weboberfläche anlegen?