diff --git a/fhem/FHEM/50_HP1000.pm b/fhem/FHEM/50_HP1000.pm
index a9a67baad..ee858a889 100755
--- a/fhem/FHEM/50_HP1000.pm
+++ b/fhem/FHEM/50_HP1000.pm
@@ -151,7 +151,7 @@ sub HP1000_Initialize($) {
$hash->{parseParams} = 1;
$hash->{AttrList} =
-"disable:1,0 disabledForIntervals do_not_notify:1,0 wu_push:1,0 wu_indoorValues:1,0 wu_id wu_password wu_realtime:1,0 wu_dataValues extSrvPush_Url stateReadingsLang:en,de,at,ch,nl,fr,pl webhookFWinstances:sortable-strict,$webhookFWinstance stateReadings stateReadingsFormat:0,1 "
+"disable:1,0 disabledForIntervals do_not_notify:1,0 wu_push:1,0 wu_indoorValues:1,0 wu_id wu_password wu_realtime:1,0 wu_dataValues extSrvPush_Url stateReadingsLang:en,de,at,ch,nl,fr,pl webhookFWinstances:sortable-strict,$webhookFWinstance stateReadings stateReadingsFormat:0,1 bogusFilter:0,1 "
. $readingFnAttributes;
my @wu;
@@ -586,6 +586,22 @@ sub HP1000_CGI() {
my %HP1000_pwsMappingEquivalent_rev =
%{ { reverse %HP1000_pwsMappingEquivalent } };
+ # Filter values that seem bogus
+ if ( AttrVal( $name, 'bogusFilter', 0 ) ne '0' ) {
+ foreach ($webArgs) {
+ next unless ( looks_like_number( $webArgs->{$_} ) );
+
+ if ( $webArgs->{$_} < -273.2 ) {
+ Log3 $name, 4,
+ "HP1000: "
+ . "Received value '"
+ . $webArgs->{$_}
+ . "' for '$_' seems out of range - removed from data set";
+ delete $webArgs->{$_};
+ }
+ }
+ }
+
# calculate readings for Metric standard from Angloamerican standard
#
@@ -1579,36 +1595,40 @@ sub HP1000_HistoryDb($$;$$$) {
Define
- define <WeatherStation> HP1000 [<ID> <PASSWORD>]
-
- Provides webhook receiver for Wifi-based weather station which support PWS protocol from Weather Underground (e.g. HP1000, WH2600, WH2601, WH2621, WH2900, WH2950 of Fine Offset Electronics - sometimes also known as Ambient Weather WS-1001-WIFI or similar). In Germany, these devices are commonly distributed by froggit or by Conrad under it's brand name Renkforce.
- There needs to be a dedicated FHEMWEB instance with attribute webname set to "weatherstation".
- No other name will work as it's hardcoded in the weather station device itself!
- If necessary, this module will create a matching FHEMWEB instance named WEBweatherstation during initial definition.
-
- As the URI has a fixed coding as well there can only be one single instance of this module FHEM installation.
-
- Example:
+ define <WeatherStation> HP1000 [<ID> <PASSWORD>]
+
+ Provides webhook receiver for Wifi-based weather station which support PWS protocol from Weather Underground (e.g. HP1000, WH2600, WH2601, WH2621, WH2900, WH2950 of Fine Offset Electronics - sometimes also known as Ambient Weather WS-1001-WIFI or similar). In Germany, these devices are commonly distributed by froggit or by Conrad under it's brand name Renkforce.
+ There needs to be a dedicated FHEMWEB instance with attribute webname set to "weatherstation".
+ No other name will work as it's hardcoded in the weather station device itself!
+ If necessary, this module will create a matching FHEMWEB instance named WEBweatherstation during initial definition.
+
+ As the URI has a fixed coding as well there can only be one single instance of this module FHEM installation.
+
+ Example:
- # unprotected instance where ID and PASSWORD will be ignored
- define WeatherStation HP1000
-
- # protected instance: Weather Station needs to be configured
- # to send this ID and PASSWORD for data to be accepted
+ # unprotected instance where ID and PASSWORD will be ignored
+ define WeatherStation HP1000
+
+ # protected instance: Weather Station needs to be configured
+ # to send this ID and PASSWORD for data to be accepted
define WeatherStation HP1000 MyHouse SecretPassword
-
- IMPORTANT: In your hardware device, make sure you use a DNS name as most revisions cannot handle IP addresses correctly.
+
+ IMPORTANT: In your hardware device, make sure you use a DNS name as most revisions cannot handle IP addresses correctly.
You might want to check to install a firmware update from here.
-
+
-
+
Attributes
- readingFnAttributes
-
+
+
+ - bogusFilter
+ Will explicitly drop every numeric value that is below -273.2 (defaults to 0).
+ This might help in case your station tends to send out of range values from time to time.
- webhookFWinstances
Explicitly specify allowed FHEMWEB instaces for data input (defaults to weatherstation)
@@ -1620,7 +1640,7 @@ sub HP1000_HistoryDb($$;$$$) {
Weather Underground (Wunderground) password
- wu_dataValues
- Add or replace values before pushing data to Weather Underground.
+ Add or replace values before pushing data to Weather Underground.
Format is key=value while value may be of set magic format
- wu_indoorValues
@@ -1655,35 +1675,35 @@ sub HP1000_HistoryDb($$;$$$) {
Define
- define <WeatherStation> HP1000 [<ID> <PASSWORD>]
-
- Stellt einen Webhook für WLAN-basierte Wetterstationen bereit, die das PWS Protokoll von Weather Underground verwenden (z.B. HP1000, WH2600, WH2601, WH2621, WH2900, WH2950 Wetterstation von Fine Offset Electronics - manchmal auch bekannt als Ambient Weather WS-1001-WIFI oder ähnliches). In Deutschland werden die Geräte zumeist von froggit oder von Conrad unter dem Markennamen Renkforce vertrieben.
- Es muss noch eine dedizierte FHEMWEB Instanz angelegt werden, wo das Attribut webname auf "weatherstation" gesetzt wurde.
- Kein anderer Name funktioniert, da dieser fest in der Wetterstation hinterlegt ist!
- Sofern notwendig, erstellt dieses Modul eine passende FHEMWEB Instanz namens WEBweatherstation während der initialen Definition.
-
- Da die URI ebenfalls fest kodiert ist, kann mit einer einzelnen FHEM Installation maximal eine Instanz dieses Moduls gleichzeitig verwendet werden.
-
- Beispiel:
+ define <WeatherStation> HP1000 [<ID> <PASSWORD>]
+
+ Stellt einen Webhook für WLAN-basierte Wetterstationen bereit, die das PWS Protokoll von Weather Underground verwenden (z.B. HP1000, WH2600, WH2601, WH2621, WH2900, WH2950 Wetterstation von Fine Offset Electronics - manchmal auch bekannt als Ambient Weather WS-1001-WIFI oder ähnliches). In Deutschland werden die Geräte zumeist von froggit oder von Conrad unter dem Markennamen Renkforce vertrieben.
+ Es muss noch eine dedizierte FHEMWEB Instanz angelegt werden, wo das Attribut webname auf "weatherstation" gesetzt wurde.
+ Kein anderer Name funktioniert, da dieser fest in der Wetterstation hinterlegt ist!
+ Sofern notwendig, erstellt dieses Modul eine passende FHEMWEB Instanz namens WEBweatherstation während der initialen Definition.
+
+ Da die URI ebenfalls fest kodiert ist, kann mit einer einzelnen FHEM Installation maximal eine Instanz dieses Moduls gleichzeitig verwendet werden.
+
+ Beispiel:
- # ungeschützte Instanz bei der ID und PASSWORD ignoriert werden
- define WeatherStation HP1000
-
- # geschützte Instanz: Die Wetterstation muss so konfiguriert sein, dass sie
- # diese ID und PASSWORD sendet, damit Daten akzeptiert werden
+ # ungeschützte Instanz bei der ID und PASSWORD ignoriert werden
+ define WeatherStation HP1000
+
+ # geschützte Instanz: Die Wetterstation muss so konfiguriert sein, dass sie
+ # diese ID und PASSWORD sendet, damit Daten akzeptiert werden
define WeatherStation HP1000 MyHouse SecretPassword
-
- WICHTIG: Im Gerät selbst muss sichergestellt sein, dass ein DNS Name statt einer IP Adresse verwendet wird, da einige Revisionen damit nicht umgehen können.
+
+ WICHTIG: Im Gerät selbst muss sichergestellt sein, dass ein DNS Name statt einer IP Adresse verwendet wird, da einige Revisionen damit nicht umgehen können.
Ggf. sollte man hier einmal nach einer neueren Firmware schauen.
-
+
Attributes
- readingFnAttributes
-
+
- webhookFWinstances
Explizite Angabe der FHEMWEB Instanzen, äber die Dateneingaben erlaubt sind (Standard ist weatherstation)
@@ -1695,7 +1715,7 @@ sub HP1000_HistoryDb($$;$$$) {
Weather Underground (Wunderground) Passwort
- wu_dataValues
- Ersetzt Werte oder fügt neue Werte hinzu, bevor diese zu Weather Underground übertragen werden.
+ Ersetzt Werte oder fügt neue Werte hinzu, bevor diese zu Weather Underground übertragen werden.
Das Format entspricht key=value wobei value im Format set magic sein kann.
- wu_indoorValues