From 397f2e386319cb2a8c51a3f2e560e14bb5d1e4bc Mon Sep 17 00:00:00 2001 From: mahowi <> Date: Wed, 15 Aug 2018 15:38:43 +0000 Subject: [PATCH] 59_WUup: added attribute unit_solarradiation git-svn-id: https://svn.fhem.de/fhem/trunk@17147 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/CHANGED | 1 + fhem/FHEM/59_WUup.pm | 27 +++++++++++++++++++++------ 2 files changed, 22 insertions(+), 6 deletions(-) diff --git a/fhem/CHANGED b/fhem/CHANGED index 32a79880d..e471f5f2f 100644 --- a/fhem/CHANGED +++ b/fhem/CHANGED @@ -1,5 +1,6 @@ # Add changes at the top of the list. Keep it in ASCII, and 80-char wide. # Do not insert empty lines here, update check depends on it. + - feature: 59_WUup: added attribute unit_solarradiation - bugfix: 38_netatmo: removed heating home/room autocreate - feature: 46_SmartPi: exchange commandref, add NotifyFn - new: 00_MQTT2_SERVER / 10_MQTT2_DEVICE diff --git a/fhem/FHEM/59_WUup.pm b/fhem/FHEM/59_WUup.pm index e3465c35a..aac71d146 100644 --- a/fhem/FHEM/59_WUup.pm +++ b/fhem/FHEM/59_WUup.pm @@ -32,7 +32,7 @@ use Time::HiRes qw(gettimeofday); use HttpUtils; use UConv; -my $version = "0.9.8"; +my $version = "0.9.9"; # Declare functions sub WUup_Initialize($); @@ -62,6 +62,7 @@ sub WUup_Initialize($) { . "disabledForIntervals " . "interval " . "unit_windspeed:km/h,m/s " + . "unit_solarradiation:W/m²,lux " . "round " . "wubaromin wudailyrainin wudewptf wuhumidity wurainin wusoilmoisture " . "wusoiltempf wusolarradiation wutempf wuUV wuwinddir wuwinddir_avg2m " @@ -96,6 +97,8 @@ sub WUup_Define($$$) { $attr{$name}{room} = "Weather" if ( !defined( $attr{$name}{room} ) ); $attr{$name}{unit_windspeed} = "km/h" if ( !defined( $attr{$name}{unit_windspeed} ) ); + $attr{$name}{unit_solarradiation} = "lux" + if ( !defined( $attr{$name}{unit_solarradiation} ) ); $attr{$name}{round} = 4 if ( !defined( $attr{$name}{round} ) ); RemoveInternalTimer($hash); @@ -230,6 +233,9 @@ sub WUup_send($) { $attr{$name}{unit_windspeed} = "km/h" if ( !defined( $attr{$name}{unit_windspeed} ) ); + $attr{$name}{unit_solarradiation} = "lux" + if ( !defined( $attr{$name}{unit_solarradiation} ) ); + $attr{$name}{round} = 4 if ( !defined( $attr{$name}{round} ) ); my ( $data, $d, $r, $o ); @@ -265,7 +271,14 @@ sub WUup_send($) { $value = UConv::mm2in( $value, $rnd ); } elsif ( $key eq "solarradiation" ) { - $value = ( $value / 126.7 ); + + if ( $attr{$name}{unit_solarradiation} eq "lux" ) { + Log3 $name, 5, "WUup ($name) - solarradiation unit is lux"; + $value = ( $value / 126.7 ); + } + else { + Log3 $name, 5, "WUup ($name) - solarradiation unit is W/m²"; + } } $data .= "&$key=$value"; } @@ -355,6 +368,7 @@ sub WUup_receive($) { # 2018-03-19 solarradiation calculated from lux to W/m² (thanks to dieter114) # 2018-04-10 added attribute round # 2018-04-13 added AqPM2.5 and AqPM10 +# 2018-08-15 added attribute unit_solarradiation # ################################################################################ @@ -408,6 +422,7 @@ sub WUup_receive($) {