diff --git a/fhem/contrib/98_ArduCounter.pm b/fhem/contrib/98_ArduCounter.pm index 51507966c..7f87db43d 100755 --- a/fhem/contrib/98_ArduCounter.pm +++ b/fhem/contrib/98_ArduCounter.pm @@ -21,7 +21,8 @@ # # 2014-2-4 initial version # 2014-3-12 added documentation -# 2015-02-08 renamed ACNT to ArduCounter +# 2015-02-08 renamed ACNT to ArduCounter +# 2016-01-01 added attributes for reading names # package main; @@ -60,6 +61,8 @@ sub ArduCounter_Initialize($) 'pin.* ' . "interval " . "factor " . + "readingNameCount[0-9]+ " . + "readingNamePower[0-9]+ " . "do_not_notify:1,0 " . $readingFnAttributes; } @@ -99,10 +102,10 @@ sub ArduCounter_InitDev($) # send attributes to arduino device. Just call ArduCounter_Attr again, # now with state "Initialized" while (my ($attr, $val) = each(%{$attr{$name}})) { - if ($attr =~ "pin|del|interval") { - Log3 $name, 3, "$name: InitDev calls Attr with $attr $val"; - ArduCounter_Attr("set", $name, $attr, $val); - } + if ($attr =~ "pin|del|interval") { + Log3 $name, 3, "$name: InitDev calls Attr with $attr $val"; + ArduCounter_Attr("set", $name, $attr, $val); + } } } @@ -305,10 +308,12 @@ sub ArduCounter_Read($) $factor = 1000; } Log3 $name, 4, "$name: Read match msg: Pin $pin count $count (diff $diff) in $time Millis"; - readingsBulkUpdate($hash, "pin$pin", sprintf ("%.3f", $count) ); - if ($time) { - readingsBulkUpdate($hash, "power$pin", sprintf ("%.3f", $diff/$time/1000*3600*$factor) ); - } + my $rcname = AttrVal($name, "readingNameCount$pin", "pin$pin"); + my $rpname = AttrVal($name, "readingNamePower$pin", "power$pin"); + readingsBulkUpdate($hash, $rcname, sprintf ("%.3f", $count) ); + if ($time) { + readingsBulkUpdate($hash, $rpname, sprintf ("%.3f", $diff/$time/1000*3600*$factor) ); + } } elsif ($line =~ '(ArduCounter V[\d\.]+.?) Setup done') { readingsBulkUpdate($hash, "version", $1); Log3 $name, 3, "$name: Arduino reported setup done - sending init cmds"; @@ -350,12 +355,9 @@ sub ArduCounter_Ready($)

ArduCounter


Readings / Events