diff --git a/FHEM/22_HOMEMODE.pm b/FHEM/22_HOMEMODE.pm index 2bec60cec..c38852289 100644 --- a/FHEM/22_HOMEMODE.pm +++ b/FHEM/22_HOMEMODE.pm @@ -16,7 +16,7 @@ use Time::HiRes qw(gettimeofday); use HttpUtils; use vars qw{%attr %defs %modules $FW_CSRF}; -my $HOMEMODE_version = "1.4.7"; +my $HOMEMODE_version = "1.4.8"; my $HOMEMODE_Daytimes = "05:00|morning 10:00|day 14:00|afternoon 18:00|evening 23:00|night"; my $HOMEMODE_Seasons = "03.01|spring 06.01|summer 09.01|autumn 12.01|winter"; my $HOMEMODE_UserModes = "gotosleep,awoken,asleep"; @@ -1696,13 +1696,20 @@ sub HOMEMODE_Attr(@) return $trans if (!HOMEMODE_CheckIfIsValidDevspec("TYPE=$attr_value","presence")); HOMEMODE_updateInternals($hash,1); } - elsif ($attr_name =~ /^(HomeSensorsContactReadings|HomeSensorsMotionReadings|HomeSensorsSmokeReading)$/) + elsif ($attr_name =~ /^(HomeSensorsContactReadings|HomeSensorsMotionReadings)$/) { $trans = $HOMEMODE_de? "Ungültiger Wert $attr_value für Attribut $attr_name. Es werden 2 Leerzeichen separierte Readings benötigt! z.B. state sabotageError": "Invalid value $attr_value for attribute $attr_name. You have to provide at least 2 space separated readings, e.g. state sabotageError"; return $trans if ($attr_value !~ /^[\w\-\.]+\s[\w\-\.]+$/); } + elsif ($attr_name eq "HomeSensorsSmokeReading") + { + $trans = $HOMEMODE_de? + "Ungültiger Wert $attr_value für Attribut $attr_name. Es wird ein einzelnes Reading benötigt! z.B. state": + "Invalid value $attr_value for attribute $attr_name. You have to provide one reading, e.g. state"; + return $trans if ($attr_value !~ /^[\w\-\.]+$/); + } elsif ($attr_name =~ /^(HomeSensorsContactValues|HomeSensorsMotionValues|HomeSensorsSmokeValue)$/) { $trans = $HOMEMODE_de?