Hallo zusammen,
um den Datenwust Herr zu werden habe ich mein DBLog von "Alles" auf nur bestimmte Readings umgestellt:
define myDbLog DbLog /usr/local/FHEM/etc/db.conf .*:(state|temperature|valveposition|humidity|desiredTemperature|valveposition|cum|current|energy|power|Diesel|Super|reading).*
Allerdings wird anscheinend das reading "state" nicht mitgeloggt. Zumindest kann ich mit "get myDbLog ..." keine Einträge finden.
Vermutlich irgendein ganz offensichtlicher Fehler, wer kann mich auf die richtige Spur bringen?
Danke!
Lars
state ist kein reguläres reading und kann deshalb nicht ohne weiteres geloggt werden.
Wie ist denn dann die beste Möglichkeit state zu loggen? Per Notify in ein anderes Reading umkopieren?
Dazu gibt es keine "offizielle" Ansage, wenn jemand eine Loesung mit wenig Nebeneffekten hat, dann her damit.
Sonst hat betateilchen recht: beim state Reading wird beim Event generieren das Wort "state:" entfernt, damit es identisch zu den an vielen Stellen noch verwendeten alten Variante ist (z.Bsp. "Lampe on" vs. "Lampe state:on"). Das verursacht aber manchmal Probleme, wie diesen hier.
vor allem aus historischen gründen behandelt dblog state etwas speziell und hat eine sonderbehandlung für verschiedene device typen eingebaut. hier wird state meist auf das reading data abgebildet.
für alle devices ohne sonderbehandlung sollte inzwischen aber das reading state verwendet werden.
das hilft dir bei deiner regex aber nicht weil das wort state im event für das state reading nicht auftaucht. du musst hier deine regex anpassen.
gruss
andre
ps: falls tobias mit liest: vielleicht magst du dir mal den neuen mechanismus für 'echte' state events anschauen und in dbLog einbauen.
Zitat von: justme1968 am 17 Dezember 2014, 15:53:00
das hilft dir bei deiner regex aber nicht weil das wort state im event für das state reading nicht auftaucht. du musst hier deine regex anpassen.
Ok ... das event heisst dann nur noch "on" oder "off" bzw. je nach Device, d.h. man muss diese Werte in die Regex aufnehmen.
Vielen Dank!