DbLog: get ReadingsVal aus Tabelle history, also: DbLogType gesetzt

Begonnen von Lanhydrock, 17 Februar 2015, 10:41:01

Vorheriges Thema - Nächstes Thema

Lanhydrock

Hi Tobias,

momentan liest get ReadingsVal beim DbLog ja nur aus der Tabelle current.
Könntest Du evtl. einen Patch einbauen, der das Attribut DbLogType berücksichtigt?

Also in der
sub dbReadings($@)
Zeile 1541und 42 statt:
my $query = "select VALUE,TIMESTAMP from current where DEVICE= '$a[2]' and READING= '$a[3]'";
# my $query = "select VALUE,TIMESTAMP from history where DEVICE= '$a[2]' and READING= '$a[3]' order by TIMESTAMP desc limit 1";


eher sowas wie:
my $DbLogType = AttrVal($a[0],'DbLogType','current');
my $query;
if (lc($DbLogType) =~ m(history) ) {
$query = "select VALUE,TIMESTAMP from history where DEVICE= '$a[2]' and READING= '$a[3]' order by TIMESTAMP desc limit 1";
} else {
$query = "select VALUE,TIMESTAMP from current where DEVICE= '$a[2]' and READING= '$a[3]'";
}


PS: Ich kenne leider nicht alle Hintergründe zur Diskussion current vs. history, daher kann ich auch nicht beurteilen, ob ein else oder eher ein elsif (gegen current oder evtl. sogar beliebige Werte) der richtige Weg ist...

Danke im voraus.
- FHEMs in VM @ Mac mini & RPi, fhem2fhem
- Homematic, 1wire, Hue & Lightify & Tradfri & Xiaomi & Oblo via zigbee2mqtt/Conbee II, Rademacher DuoFern, Roto i8 & Hunter Ventile via HM-LC-Sw4-DR
- Interdomo GBK (via Siemens ozw672; dank HTTPMOD, lest Post #33765)
- homebridge(-fhem), Grafana, DBLog

Tobias

Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter

Tobias

Maintainer: Text2Speech, TrashCal, MediaList

Meine Projekte: https://github.com/tobiasfaust
* PumpControl v2: allround Bewässerungssteuerung mit ESP und FHEM
* Ein Modbus RS485 zu MQTT Gateway für SolarWechselrichter