Update and fixes
git-svn-id: https://fhem.svn.sourceforge.net/svnroot/fhem/trunk/fhem@566 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
@@ -4,9 +4,8 @@
|
|||||||
# Feedback: http://groups.google.com/group/fhem-users
|
# Feedback: http://groups.google.com/group/fhem-users
|
||||||
# Logging to RRDs
|
# Logging to RRDs
|
||||||
# Autor: a[PUNKT]r[BEI]oo2p[PUNKT]net
|
# Autor: a[PUNKT]r[BEI]oo2p[PUNKT]net
|
||||||
# Stand: 14.12.2009
|
# Stand: 26.01.2010
|
||||||
# Version: 0.0.91
|
# Version: 0.5.0
|
||||||
# Übersetzung in "Richtiges English" sind willkommen ;-))
|
|
||||||
#*BETA*BETA*BETA*BETA*BETA*BETA*BETA*BETA*BETA*BETA*BETA*BETA*BETA*BETA
|
#*BETA*BETA*BETA*BETA*BETA*BETA*BETA*BETA*BETA*BETA*BETA*BETA*BETA*BETA
|
||||||
#######################################################################
|
#######################################################################
|
||||||
#*BETA*BETA*BETA*BETA*BETA*BETA*BETA*BETA*BETA*BETA*BETA*BETA*BETA*BETA
|
#*BETA*BETA*BETA*BETA*BETA*BETA*BETA*BETA*BETA*BETA*BETA*BETA*BETA*BETA
|
||||||
@@ -31,15 +30,23 @@
|
|||||||
# For each READINNG you can create seperate RRD-Definitions:
|
# For each READINNG you can create seperate RRD-Definitions:
|
||||||
# %data{RRD_LOG}{DEV_TYPE}{READINGS} = RRD_LOG_TYPE
|
# %data{RRD_LOG}{DEV_TYPE}{READINGS} = RRD_LOG_TYPE
|
||||||
#
|
#
|
||||||
# NEW:
|
# Update :
|
||||||
|
#
|
||||||
|
# - keine Ueberpruefung ob READING vorhanden ist im SET
|
||||||
|
#
|
||||||
# attr -> IODEVSTATS
|
# attr -> IODEVSTATS
|
||||||
# If set RRD_Log will log RRS and MSGCNT
|
# If set RRD_Log will log RSSI and MSGCNT
|
||||||
# <IDOEV-Name>/<DEVICE_Name>_rssi RRD: RRD_Log_5minGAUGE
|
# <IDOEV-Name>/<DEVICE_Name>_rssi RRD: RRD_Log_5minGAUGE
|
||||||
# <IDOEV-Name>/<DEVICE_Name>_msgcnt RRD: RRD_Log_5minCOUNTER
|
# <IDOEV-Name>/<DEVICE_Name>_msgcnt RRD: RRD_Log_5minCOUNTER
|
||||||
# also
|
# also
|
||||||
# <IDOEV-Name>_MSGCNT -> Counter for received Messeages by this IODEV
|
# <IDOEV-Name>_MSGCNT -> Counter for received Messeages by this IODEV
|
||||||
# <IDOEV-Name>/RAWMSGCOUNT.rrd
|
# <IDOEV-Name>/RAWMSGCOUNT.rrd
|
||||||
#
|
#
|
||||||
|
# ADDTYPE
|
||||||
|
# set RRDLog ADDTYPE HMS
|
||||||
|
# es werden alle Devices des Types HMS dem RRDLog zugeordnet
|
||||||
|
# enpstrechend den konfigurierten READINGs in $data{RRD_LOG}{READING}
|
||||||
|
#
|
||||||
#
|
#
|
||||||
#*BETA*BETA*BETA*BETA*BETA*BETA*BETA*BETA*BETA*BETA*BETA*BETA*BETA*BETA
|
#*BETA*BETA*BETA*BETA*BETA*BETA*BETA*BETA*BETA*BETA*BETA*BETA*BETA*BETA
|
||||||
#######################################################################
|
#######################################################################
|
||||||
@@ -64,7 +71,6 @@ RRD_Log_Initialize($)
|
|||||||
# Global RRDLog conf
|
# Global RRDLog conf
|
||||||
# Mapping READING to RRD-File-Config
|
# Mapping READING to RRD-File-Config
|
||||||
# %data{RRD_LOG}{DEV_TYPE}{READINGS} = RRD_LOG_TYPE
|
# %data{RRD_LOG}{DEV_TYPE}{READINGS} = RRD_LOG_TYPE
|
||||||
# %data{RRD_LOG}{DEV_TYPE}{FUNCTION} = Device-Handling via Function
|
|
||||||
#FHT
|
#FHT
|
||||||
$data{RRD_LOG}{READING}{FHT}{'measured-temp'} = "RRD_Log_15minGAUGE";
|
$data{RRD_LOG}{READING}{FHT}{'measured-temp'} = "RRD_Log_15minGAUGE";
|
||||||
$data{RRD_LOG}{READING}{FHT}{'desired-temp'} = "RRD_Log_15minGAUGE";
|
$data{RRD_LOG}{READING}{FHT}{'desired-temp'} = "RRD_Log_15minGAUGE";
|
||||||
@@ -98,6 +104,8 @@ RRD_Log_Initialize($)
|
|||||||
$data{RRD_LOG}{READING}{CUL_RFR}{'msg'} = "RRD_Log_5minCOUNTER";
|
$data{RRD_LOG}{READING}{CUL_RFR}{'msg'} = "RRD_Log_5minCOUNTER";
|
||||||
$data{RRD_LOG}{READING}{CUL_RFR}{'rssi'} = "RRD_Log_5minGAUGE";
|
$data{RRD_LOG}{READING}{CUL_RFR}{'rssi'} = "RRD_Log_5minGAUGE";
|
||||||
$data{RRD_LOG}{READING}{CUL_RFR}{'RAWMSGCOUNT'} = "RRD_Log_5minGAUGE";
|
$data{RRD_LOG}{READING}{CUL_RFR}{'RAWMSGCOUNT'} = "RRD_Log_5minGAUGE";
|
||||||
|
#WBS
|
||||||
|
$data{RRD_LOG}{READING}{WBS}{'Temperature'} = "RRD_Log_5minGAUGE";
|
||||||
# temp. save Path to RRDs
|
# temp. save Path to RRDs
|
||||||
# $data{RRD_LOG}{RRDS}{<DEVICE-NAME>}{<READING>} = $rrd_path
|
# $data{RRD_LOG}{RRDS}{<DEVICE-NAME>}{<READING>} = $rrd_path
|
||||||
# reset RRS
|
# reset RRS
|
||||||
@@ -120,8 +128,8 @@ sub RRD_Log_Define()
|
|||||||
return "RRDLOG[Define::ERROR] Invalid Path: $rrdpath";}
|
return "RRDLOG[Define::ERROR] Invalid Path: $rrdpath";}
|
||||||
$self->{RRDPATH} = $a[2];
|
$self->{RRDPATH} = $a[2];
|
||||||
#RRD Startdate
|
#RRD Startdate
|
||||||
$self->{RRD_Start_Date_tsecs} = "1199944800";
|
$self->{RRD_Start_Date_tsecs} = time();
|
||||||
$self->{RRD_Start_Date} = "01.10.2008";
|
$self->{RRD_Start_Date} = TimeNow();
|
||||||
#LogLevel auf 5
|
#LogLevel auf 5
|
||||||
my $my_name = $self->{NAME};
|
my $my_name = $self->{NAME};
|
||||||
$attr{$my_name}{'loglevel'} = '5';
|
$attr{$my_name}{'loglevel'} = '5';
|
||||||
@@ -174,7 +182,7 @@ sub RRD_Log_Set() {
|
|||||||
# Reading check
|
# Reading check
|
||||||
my $def_type = $defs{$a[2]}{TYPE};
|
my $def_type = $defs{$a[2]}{TYPE};
|
||||||
foreach my $reading (@readings){
|
foreach my $reading (@readings){
|
||||||
if(!defined($defs{$a[2]}{READINGS}{$reading})) {return "RRDLOG[SET::ERROR] $a[2] => $reading => Unkown";}
|
# if(!defined($defs{$a[2]}{READINGS}{$reading})) {return "RRDLOG[SET::ERROR] $a[2] => $reading => Unkown";}
|
||||||
if(!defined($data{RRD_LOG}{READING}{$def_type}{$reading})) {return "RRDLOG[SET::ERROR] $a[2] => $reading => not supported";}
|
if(!defined($data{RRD_LOG}{READING}{$def_type}{$reading})) {return "RRDLOG[SET::ERROR] $a[2] => $reading => not supported";}
|
||||||
}
|
}
|
||||||
$hash->{READINGS}{$a[2]}{TIME} = TimeNow();
|
$hash->{READINGS}{$a[2]}{TIME} = TimeNow();
|
||||||
@@ -277,6 +285,9 @@ sub RRD_Log_Notify() {
|
|||||||
else {
|
else {
|
||||||
($changed_reading, $changed_value) = split(/:/,$defs{$dev_name}{CHANGED}[$i]);
|
($changed_reading, $changed_value) = split(/:/,$defs{$dev_name}{CHANGED}[$i]);
|
||||||
}
|
}
|
||||||
|
if(!defined($defs{$dev_name}{READINGS}{$changed_reading})) {
|
||||||
|
Log 0, "RRDLOG[NOTIFY::ERROR] $dev_name => $changed_reading => Unkown";
|
||||||
|
next;}
|
||||||
Log $ll, "RRDLOG[Notify] $dev_name => $changed_reading => $changed_value";
|
Log $ll, "RRDLOG[Notify] $dev_name => $changed_reading => $changed_value";
|
||||||
#Trim
|
#Trim
|
||||||
if($changed_reading =~ m/^\s+/) {$changed_reading =~ s/^\s+//;}
|
if($changed_reading =~ m/^\s+/) {$changed_reading =~ s/^\s+//;}
|
||||||
|
|||||||
Reference in New Issue
Block a user