mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-05-04 22:19:38 +00:00
HP1000: add humidityCondition_rgb and indoorHumidityCondition_rgb
git-svn-id: https://svn.fhem.de/fhem/trunk@13995 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
parent
a6daac6bc6
commit
26e32e8741
@ -178,12 +178,14 @@ sub HP1000_Initialize($) {
|
|||||||
'humidityAbs' => { rtype => 'c', formula_symbol => 'Tabs', },
|
'humidityAbs' => { rtype => 'c', formula_symbol => 'Tabs', },
|
||||||
'humidityAbs_f' => { rtype => 'f', formula_symbol => 'Tabs', },
|
'humidityAbs_f' => { rtype => 'f', formula_symbol => 'Tabs', },
|
||||||
'humidityCondition' => { rtype => 'condition_hum', },
|
'humidityCondition' => { rtype => 'condition_hum', },
|
||||||
|
'humidityCondition_rgb' => { rtype => 'rgbhex', },
|
||||||
'indoorDewpoint' => { rtype => 'c', formula_symbol => 'Tdi', },
|
'indoorDewpoint' => { rtype => 'c', formula_symbol => 'Tdi', },
|
||||||
'indoorDewpoint_f' => { rtype => 'f', formula_symbol => 'Tdi', },
|
'indoorDewpoint_f' => { rtype => 'f', formula_symbol => 'Tdi', },
|
||||||
'indoorHumidity' => { rtype => 'pct', formula_symbol => 'Hi', },
|
'indoorHumidity' => { rtype => 'pct', formula_symbol => 'Hi', },
|
||||||
'indoorHumidityAbs' => { rtype => 'c', formula_symbol => 'Tabsi', },
|
'indoorHumidityAbs' => { rtype => 'c', formula_symbol => 'Tabsi', },
|
||||||
'indoorHumidityAbs_f' => { rtype => 'f', formula_symbol => 'Tabsi', },
|
'indoorHumidityAbs_f' => { rtype => 'f', formula_symbol => 'Tabsi', },
|
||||||
'indoorHumidityCondition' => { rtype => 'condition_hum', },
|
'indoorHumidityCondition' => { rtype => 'condition_hum', },
|
||||||
|
'indoorHumidityCondition_rgb' => { rtype => 'rgbhex', },
|
||||||
'indoorTemperature' => { rtype => 'c', formula_symbol => 'Ti', },
|
'indoorTemperature' => { rtype => 'c', formula_symbol => 'Ti', },
|
||||||
'indoorTemperature_f' => { rtype => 'f', formula_symbol => 'Ti', },
|
'indoorTemperature_f' => { rtype => 'f', formula_symbol => 'Ti', },
|
||||||
'israining' => { rtype => 'yesno', },
|
'israining' => { rtype => 'yesno', },
|
||||||
@ -816,14 +818,17 @@ sub HP1000_CGI() {
|
|||||||
|
|
||||||
# humidityCondition
|
# humidityCondition
|
||||||
if ( defined( $webArgs->{outhumi} ) ) {
|
if ( defined( $webArgs->{outhumi} ) ) {
|
||||||
readingsBulkUpdateIfChanged( $hash, "humidityCondition",
|
my ( $v, $rgb ) = UConv::humidity2condition( $webArgs->{outhumi} );
|
||||||
UConv::humidity2condition( $webArgs->{outhumi} ) );
|
readingsBulkUpdateIfChanged( $hash, "humidityCondition", $v );
|
||||||
|
readingsBulkUpdateIfChanged( $hash, "humidityCondition_rgb", $rgb );
|
||||||
}
|
}
|
||||||
|
|
||||||
# indoorHumidityCondition
|
# indoorHumidityCondition
|
||||||
if ( defined( $webArgs->{inhumi} ) ) {
|
if ( defined( $webArgs->{inhumi} ) ) {
|
||||||
readingsBulkUpdateIfChanged( $hash, "indoorHumidityCondition",
|
my ( $v, $rgb ) = UConv::humidity2condition( $webArgs->{inhumi} );
|
||||||
UConv::humidity2condition( $webArgs->{inhumi} ) );
|
readingsBulkUpdateIfChanged( $hash, "indoorHumidityCondition", $v );
|
||||||
|
readingsBulkUpdateIfChanged( $hash, "indoorHumidityCondition_rgb",
|
||||||
|
$rgb );
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( defined( $webArgs->{UV} ) ) {
|
if ( defined( $webArgs->{UV} ) ) {
|
||||||
|
@ -423,20 +423,26 @@ sub mph2bft($) {
|
|||||||
sub humidity2condition($) {
|
sub humidity2condition($) {
|
||||||
my ($data) = @_;
|
my ($data) = @_;
|
||||||
my $v = "dry";
|
my $v = "dry";
|
||||||
|
my $rgb = "C72A23";
|
||||||
|
|
||||||
if ( $data >= 80 ) {
|
if ( $data >= 80 ) {
|
||||||
$v = "wet";
|
$v = "wet";
|
||||||
|
$rgb = "0066CC";
|
||||||
}
|
}
|
||||||
elsif ( $data >= 70 ) {
|
elsif ( $data >= 70 ) {
|
||||||
$v = "high";
|
$v = "high";
|
||||||
|
$rgb = "009999";
|
||||||
}
|
}
|
||||||
elsif ( $data >= 50 ) {
|
elsif ( $data >= 50 ) {
|
||||||
$v = "optimal";
|
$v = "optimal";
|
||||||
|
$rgb = "4C9329";
|
||||||
}
|
}
|
||||||
elsif ( $data >= 40 ) {
|
elsif ( $data >= 40 ) {
|
||||||
$v = "low";
|
$v = "low";
|
||||||
|
$rgb = "E7652B";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return ( $v, $rgb ) if (wantarray);
|
||||||
return $v;
|
return $v;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -469,21 +475,20 @@ sub uvi2condition($) {
|
|||||||
|
|
||||||
sub values2weathercondition($$$$$) {
|
sub values2weathercondition($$$$$) {
|
||||||
my ( $temp, $hum, $light, $isday, $israining ) = @_;
|
my ( $temp, $hum, $light, $isday, $israining ) = @_;
|
||||||
my $condition = "clear";
|
my $v = "clear";
|
||||||
|
|
||||||
if ($israining) {
|
if ($israining) {
|
||||||
$condition = "rain";
|
$v = "rain";
|
||||||
}
|
}
|
||||||
elsif ( $light > 40000 ) {
|
elsif ( $light > 40000 ) {
|
||||||
$condition = "sunny";
|
$v = "sunny";
|
||||||
}
|
}
|
||||||
elsif ($isday) {
|
elsif ($isday) {
|
||||||
$condition = "cloudy";
|
$v = "cloudy";
|
||||||
}
|
}
|
||||||
|
|
||||||
$condition = "nt_" . $condition unless ($isday);
|
$v = "nt_" . $v unless ($isday);
|
||||||
|
return $v;
|
||||||
return $condition;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#TODO rewrite for Unit.pm
|
#TODO rewrite for Unit.pm
|
||||||
|
Loading…
x
Reference in New Issue
Block a user