diff --git a/fhem/FHEM/22_HOMEMODE.pm b/fhem/FHEM/22_HOMEMODE.pm
index ad0e29115..2f0f9c770 100644
--- a/fhem/FHEM/22_HOMEMODE.pm
+++ b/fhem/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.2.1";
+my $HOMEMODE_version = "1.2.2";
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";
@@ -2016,13 +2016,15 @@ sub HOMEMODE_replacePlaceholders($$;$)
my $dursleep = ReadingsVal($resident,"durTimerSleep_cr",0);
my $condition = ReadingsVal($sensor,"condition","");
my $conditionart = ReadingsVal($name,".be","");
- my $contactsOpen = ReadingsVal($name,"contactsOutsideOpen_hr","");
+ my $contactsOpen = ReadingsVal($name,"contactsOutsideOpen","");
my $contactsOpenCt = ReadingsVal($name,"contactsOutsideOpen_ct",0);
+ my $contactsOpenHr = ReadingsVal($name,"contactsOutsideOpen_hr",0);
my $dnd = ReadingsVal($name,"dnd","off") eq "on" ? 1 : 0;
my $aeah = ReadingsVal($name,"anyoneElseAtHome","off") eq "on" ? 1 : 0;
my $panic = ReadingsVal($name,"panic","off") eq "on" ? 1 : 0;
- my $sensorsTampered = ReadingsVal($name,"sensorsTampered_hr","");
- my $sensorsTamperedCt = ReadingsVal($name,"sensorsTampered_ct","");
+ my $tampered = ReadingsVal($name,"sensorsTampered_hr","");
+ my $tamperedc = ReadingsVal($name,"sensorsTampered_ct","");
+ my $tamperedhr = ReadingsVal($name,"sensorsTampered_hr","");
my $ice = ReadingsVal($name,"icewarning",0);
my $ip = ReadingsVal($name,"publicIP","");
my $light = ReadingsVal($name,"light",0);
@@ -2050,7 +2052,7 @@ sub HOMEMODE_replacePlaceholders($$;$)
my $ppdevice = ReadingsVal($name,"lastPresentByPresenceDevice","");
my $paddress = InternalVal($pdevice,"ADDRESS","");
my $pressure = ReadingsVal($name,"pressure","");
- my $pressuretrend = ReadingsVal($sensor,"pressure_trend_txt","");
+ my $pressuretrend = ReadingsVal($sensor,"pressureTrend","");
my $weatherlong = HOMEMODE_WeatherTXT($hash,AttrVal($name,"HomeTextWeatherLong",""));
my $weathershort = HOMEMODE_WeatherTXT($hash,AttrVal($name,"HomeTextWeatherShort",""));
my $forecast = HOMEMODE_ForecastTXT($hash);
@@ -2133,8 +2135,10 @@ sub HOMEMODE_replacePlaceholders($$;$)
$cmd =~ s/%LUMINANCETREND%/$luminancetrend/g;
$cmd =~ s/%MODE%/$mode/g;
$cmd =~ s/%MOTION%/$motion/g;
+ $cmd =~ s/%NAME%/$name/g;
$cmd =~ s/%OPEN%/$contactsOpen/g;
$cmd =~ s/%OPENCT%/$contactsOpenCt/g;
+ $cmd =~ s/%OPENHR%/$contactsOpenHr/g;
$cmd =~ s/%RESIDENT%/$resident/g;
$cmd =~ s/%PANIC%/$panic/g;
$cmd =~ s/%PRESENT%/$pres/g;
@@ -2156,7 +2160,9 @@ sub HOMEMODE_replacePlaceholders($$;$)
$cmd =~ s/%SMOKE%/$smoke/g;
$cmd =~ s/%SMOKECT%/$smokec/g;
$cmd =~ s/%SMOKEHR%/$smokehr/g;
- $cmd =~ s/%TAMPERED%/$sensorsTampered/g;
+ $cmd =~ s/%TAMPERED%/$tampered/g;
+ $cmd =~ s/%TAMPEREDCT%/$tamperedc/g;
+ $cmd =~ s/%TAMPEREDHR%/$tamperedhr/g;
$cmd =~ s/%TEMPERATURE%/$temp/g;
$cmd =~ s/%TEMPERATURETREND%/$temptrend/g;
$cmd =~ s/%TOBE%/$conditionart/g;
@@ -2228,7 +2234,7 @@ sub HOMEMODE_WeatherTXT($$)
my $condition = ReadingsVal($weather,"condition","");
my $conditionart = ReadingsVal($name,".be","");
my $pressure = ReadingsVal($name,"pressure","");
- my $pressuretrend = ReadingsVal($weather,"pressure_trend_txt","");
+ my $pressuretrend = ReadingsVal($weather,"pressureTrend","");
my $humi = ReadingsVal($name,"humidity",0);
my $temp = ReadingsVal($name,"temperature",0);
my $windchill = ReadingsVal($weather,"wind_chill",0);
@@ -3027,7 +3033,7 @@ sub HOMEMODE_Smoke($;$$)
my @sensors;
foreach (split /,/,$hash->{SENSORSSMOKE})
{
- push @sensors,$_ if (ReadingsVal($_,$r,"") eq $v)
+ push @sensors,$_ if (ReadingsVal($_,$r,"") =~ /^$v$/);
}
if ($trigger && $state)
{
@@ -3312,6 +3318,8 @@ sub HOMEMODE_Details($$$)
+
A german Wiki page is also available at https://wiki.fhem.de/wiki/Modul_HOMEMODE. There you can find lots of example code.
+define [optional]