mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-03-10 03:06:37 +00:00
98_weekprofile: create default profile if master device has no week profile
git-svn-id: https://svn.fhem.de/fhem/trunk@10400 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
parent
e592eb1ca1
commit
fb82405e68
@ -1,5 +1,7 @@
|
||||
# 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.
|
||||
- change: 98_weekprofile: create default profile if master device
|
||||
has no week profile
|
||||
- bugfix: allowed without a validFor is invalid.
|
||||
- feature: 98_weekprofile: detect profile changes in master device
|
||||
- feature: 49_SSCam: Function "Get" for retrieval Camera-Readings added,
|
||||
|
@ -100,7 +100,7 @@ sub weekprofile_readDayProfile($@)
|
||||
if($type eq "MAX") {
|
||||
@temps = split('/',ReadingsVal($device,"$reading-temp",""));
|
||||
@times = split('/',ReadingsVal($device,"$reading-time",""));
|
||||
# only use to to interval 'from-to'
|
||||
# only use to from interval 'from-to'
|
||||
for(my $i = 0; $i < scalar(@times); $i+=1){
|
||||
my $interval = $times[$i];
|
||||
my @parts = split('-',$interval);
|
||||
@ -139,13 +139,18 @@ sub weekprofile_readDevProfile(@)
|
||||
my $prf = {};
|
||||
foreach my $day (@shortDays){
|
||||
my ($dayTimes, $dayTemps) = weekprofile_readDayProfile($device,$day,$type,$me);
|
||||
if (scalar(@{$dayTemps})==0) {
|
||||
push(@{$dayTimes}, "24:00");
|
||||
push(@{$dayTemps}, "18.0");
|
||||
Log3 $me, 3, "WARNING master device $device has no day profile for $day - create default";
|
||||
}
|
||||
$prf->{$day}->{"temp"} = $dayTemps;
|
||||
$prf->{$day}->{"time"} = $dayTimes;
|
||||
$prf->{$day}->{"time"} = $dayTimes;
|
||||
}
|
||||
return $prf;
|
||||
}
|
||||
##############################################
|
||||
sub weekprofile_createDefaultPofile(@)
|
||||
sub weekprofile_createDefaultProfile(@)
|
||||
{
|
||||
my ($hash) = @_;
|
||||
my $prf = {};
|
||||
@ -256,14 +261,18 @@ sub weekprofile_assignDev($)
|
||||
|
||||
my $prfDev = weekprofile_readDevProfile($hash->{MASTERDEV}->{NAME},$type, $me);
|
||||
|
||||
$prf = {};
|
||||
$prf->{NAME} = 'master';
|
||||
|
||||
if(defined($prfDev)) {
|
||||
$prf = {};
|
||||
$prf->{DATA} = $prfDev;
|
||||
$prf->{NAME} = 'master';
|
||||
} else {
|
||||
Log3 $me, 3, "WARNING master device $hash->{MASTERDEV}->{NAME} has no week profile - create default profile";
|
||||
$prf->{DATA} = weekprofile_createDefaultProfile($hash);
|
||||
}
|
||||
$hash->{STATE} = "assigned";
|
||||
} else {
|
||||
my $prfDev = weekprofile_createDefaultPofile($hash);
|
||||
my $prfDev = weekprofile_createDefaultProfile($hash);
|
||||
if(defined($prfDev)) {
|
||||
$prf = {};
|
||||
$prf->{DATA} = $prfDev;
|
||||
@ -340,8 +349,10 @@ sub weekprofile_Define($$)
|
||||
|
||||
#$attr{$me}{verbose} = 5;
|
||||
|
||||
weekprofile_assignDev($hash);
|
||||
weekprofile_updateReadings($hash);
|
||||
if ($init_done) {
|
||||
weekprofile_assignDev($hash);
|
||||
weekprofile_updateReadings($hash);
|
||||
}
|
||||
|
||||
return undef;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user