mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-04-16 04:36:02 +00:00
RGR918: added flip. WTGR800, WGR918: added winddir name, RGR328N: dayname correction
git-svn-id: https://svn.fhem.de/fhem/trunk@798 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
parent
2d8bc09829
commit
4444c41cb4
@ -241,6 +241,8 @@ my %types =
|
||||
# Important: change it to _, because FHEM uses regexp
|
||||
my $DOT = q{_};
|
||||
|
||||
my @OREGON_winddir_name=("N","NNO","NO","ONO","O","OSO","SO","SSO","S","SSW","SW","WSW","W","WNW","NW","NNW");
|
||||
|
||||
# --------------------------------------------
|
||||
# The following functions are changed:
|
||||
# - some parameter like "parent" and others are removed
|
||||
@ -398,6 +400,7 @@ sub wgr918_anemometer {
|
||||
my @res = ();
|
||||
|
||||
my $dir = sprintf("%02x",$bytes->[5])*10 + hi_nibble($bytes->[4]);
|
||||
my $dirname = $OREGON_winddir_name[$dir/22.5];
|
||||
my $speed = lo_nibble($bytes->[7]) * 10 + sprintf("%02x",$bytes->[6])/10;
|
||||
my $avspeed = sprintf("%02x",$bytes->[8]) + hi_nibble($bytes->[7]) / 10;
|
||||
|
||||
@ -411,6 +414,7 @@ sub wgr918_anemometer {
|
||||
device => $dev_str,
|
||||
type => 'direction',
|
||||
current => $dir,
|
||||
string => $dirname,
|
||||
units => 'degrees',
|
||||
}
|
||||
;
|
||||
@ -430,7 +434,9 @@ sub wtgr800_anemometer {
|
||||
|
||||
my @res = ();
|
||||
|
||||
my $dir = hi_nibble($bytes->[4]) * 22.5;
|
||||
my $dir = hi_nibble($bytes->[4]) % 16;
|
||||
my $dirname = $OREGON_winddir_name[$dir];
|
||||
$dir = $dir * 22.5;
|
||||
my $speed = lo_nibble($bytes->[7]) * 10 + sprintf("%02x",$bytes->[6])/10;
|
||||
my $avspeed = sprintf("%02x",$bytes->[8]) + hi_nibble($bytes->[7]) / 10;
|
||||
|
||||
@ -444,6 +450,8 @@ sub wtgr800_anemometer {
|
||||
device => $dev_str,
|
||||
type => 'direction',
|
||||
current => $dir,
|
||||
string => $dirname,
|
||||
units => 'degrees',
|
||||
}
|
||||
;
|
||||
percentage_battery($bytes, $dev_str, \@res);
|
||||
@ -514,8 +522,8 @@ sub rtgr328n_datetime {
|
||||
lo_nibble($bytes->[5]).hi_nibble($bytes->[4])
|
||||
);
|
||||
my $day =
|
||||
[ 'Mon', 'Tues', 'Wednes',
|
||||
'Thur', 'Fri', 'Satur', 'Sun' ]->[($bytes->[9]&0x7)-1];
|
||||
[ 'Mon', 'Tue', 'Wed',
|
||||
'Thu', 'Fri', 'Sat', 'Sun' ]->[($bytes->[9]&0x7)-1];
|
||||
my $date =
|
||||
2000+(lo_nibble($bytes->[10]).hi_nibble($bytes->[9])).
|
||||
sprintf("%02d",hi_nibble($bytes->[8])).
|
||||
@ -857,11 +865,12 @@ OREGON_Parse($$)
|
||||
}
|
||||
case "direction" {
|
||||
$val .= "WD: ".$i->{current}." ";
|
||||
$val .= "WDN: ".$i->{string}." ";
|
||||
|
||||
$sensor = "wind_dir";
|
||||
$def->{READINGS}{$sensor}{TIME} = $tm;
|
||||
$def->{READINGS}{$sensor}{VAL} = $i->{current};
|
||||
$def->{CHANGED}[$n++] = $sensor . ": " . $i->{current};;
|
||||
$def->{READINGS}{$sensor}{VAL} = $i->{current} . " " . $i->{string};
|
||||
$def->{CHANGED}[$n++] = $sensor . ": " . $i->{current} . " " . $i->{string};;
|
||||
}
|
||||
case "rain" {
|
||||
$val .= "RR: ".$i->{current}." ";
|
||||
@ -879,6 +888,14 @@ OREGON_Parse($$)
|
||||
$def->{READINGS}{$sensor}{VAL} = $i->{current};
|
||||
$def->{CHANGED}[$n++] = $sensor . ": " . $i->{current};;
|
||||
}
|
||||
case "flip" {
|
||||
#$val .= "F: ".$i->{current}." ";
|
||||
|
||||
$sensor = "rain_flip";
|
||||
$def->{READINGS}{$sensor}{TIME} = $tm;
|
||||
$def->{READINGS}{$sensor}{VAL} = $i->{current};
|
||||
$def->{CHANGED}[$n++] = $sensor . ": " . $i->{current};;
|
||||
}
|
||||
case "uv" {
|
||||
$val .= "UV: ".$i->{current}." ";
|
||||
$val .= "UVR: ".$i->{risk}." ";
|
||||
|
Loading…
x
Reference in New Issue
Block a user