diff --git a/fhem/FHEM/22_HOMEMODE.pm b/fhem/FHEM/22_HOMEMODE.pm index 1e96a0897..b07b340a4 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}; -my $HOMEMODE_version = "1.1.0"; +my $HOMEMODE_version = "1.1.1"; 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"; @@ -338,7 +338,7 @@ sub HOMEMODE_Notify($$) foreach my $device (devspec2array("TYPE=$prestype:FILTER=presence=(maybe.)?(absent|present|appeared|disappeared)")) { next if (lc($device) !~ /$residentregex/); - push @presentdevicespresent,$device if (ReadingsVal($device,"presence","absent") =~ /^(present|appeared)$/); + push @presentdevicespresent,$device if (ReadingsVal($device,"presence","absent") =~ /^(present|appeared|maybe.absent)$/); } if (grep /^.*:\s(present|appeared)$/,@{$events}) { @@ -350,7 +350,7 @@ sub HOMEMODE_Notify($$) push @commands,$attr{$name}{"HomeCMDpresence-present-$resident-device"} if ($attr{$name}{"HomeCMDpresence-present-$resident-device"}); push @commands,$attr{$name}{"HomeCMDpresence-present-$resident-$devname"} if ($attr{$name}{"HomeCMDpresence-present-$resident-$devname"}); if (@presentdevicespresent >= AttrVal($name,"HomePresenceDevicePresentCount-$resident",1) - && ReadingsVal($resident,"state","") =~ /^(absent|gone|none)$/) + && ReadingsVal($resident,"state","") =~ /^(absent|[gn]one)$/) { CommandSet(undef,"$resident:FILTER=state!=home state home"); } @@ -2747,6 +2747,7 @@ sub HOMEMODE_HomebridgeMapping($) $mapping .= "\nContactSensorState=contactsOutsideOpen_ct,values=0:0;/.*/:1" if (defined ReadingsVal($name,"contactsOutsideOpen_ct",undef)); $mapping .= "\nStatusTampered=sensorsTampered_ct,values=0:0;/.*/:1" if (defined ReadingsVal($name,"sensorsTampered_ct",undef)); $mapping .= "\nMotionDetected=motionsInside_ct,values=0:0;/.*/:1" if (defined ReadingsVal($name,"motionsInside_ct",undef)); + $mapping .= "\nStatusLowBattery=batteryLow_ct,values=0:0;/.*/:1" if (defined ReadingsVal($name,"batteryLow_ct",undef)); $mapping .= "\nE863F10F-079E-48FF-8F27-9C2605A29F52=pressure,name=AirPressure,format=UINT16" if (defined ReadingsVal($name,"wind",undef)); addToDevAttrList($name,"genericDeviceType") if (!grep /^genericDeviceType/,split(" ",$attr{"global"}{userattr})); addToDevAttrList($name,"homebridgeMapping:textField-long") if (!grep /^homebridgeMapping/,split(" ",$attr{"global"}{userattr})); @@ -2940,15 +2941,15 @@ sub HOMEMODE_Details($$$) return if ((AttrVal($name,"HomeAdvancedDetails","none") eq "none") || (!$room && AttrVal($name,"HomeAdvancedDetails","none") eq "room")); my $hash = $defs{$name}; my $html = "
$temp: | "; - $html .= "".ReadingsVal($name,"temperature","")." °C | "; + $html .= "".ReadingsVal($name,"temperature","")." °C".HOMEMODE_ForecastTXT($hash,1)." | "; my $humi = $HOMEMODE_de ? "Luftfeuchte" : "Humidity"; $html .= "$humi:"; $html .= " | ".ReadingsVal($name,"humidity","")." % | "; @@ -2957,6 +2958,20 @@ sub HOMEMODE_Details($$$) $html .= "".ReadingsVal($name,"pressure","")." hPa | "; $html .= "
$power: | "; + $html .= "".ReadingsVal($name,"power","")." W | "; + my $energy = $HOMEMODE_de ? "Energie" : "Energy"; + $html .= "$energy:"; + $html .= " | ".ReadingsVal($name,"energy","")." kWh | "; + my $lum = $HOMEMODE_de ? "Licht" : "Luminance"; + $html .= "$lum: | "; + $html .= "".ReadingsVal($name,"luminance","")." lux | "; + $html .= "