2
0
mirror of https://github.com/fhem/fhem-mirror.git synced 2025-04-08 13:24:56 +00:00

10_MAX.pm: change sub MAX_CheckIODev

git-svn-id: https://svn.fhem.de/fhem/trunk@21928 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
Wzut 2020-05-13 15:52:58 +00:00
parent 8ba97c256f
commit 3ccd50e820

View File

@ -379,31 +379,26 @@ sub MAX_TypeToTypeId
return 0;
}
sub MAX_CheckIODev
{
my $hash = shift;
return !defined($hash->{IODev}) || ($hash->{IODev}{TYPE} ne "MAXLAN" && $hash->{IODev}{TYPE} ne "CUL_MAX");
return 'device has no valid IODev' if (!exists($hash->{IODev}));
return 'device IODev has no TYPE' if (!exists($hash->{IODev}{TYPE}));
return 'device IODev TYPE must be CUL_MAX or MAXLAN' if ($hash->{IODev}{TYPE} ne 'MAXLAN' && $hash->{IODev}{TYPE} ne 'CUL_MAX');
return 'can not send a command with this IODev (missing IODev->Send)' if (!exists($hash->{IODev}{Send}));
return 'ok';
}
# Print number in format "0.0", pass "on" and "off" verbatim, convert 30.5 and 4.5 to "on" and "off"
# Used for "desiredTemperature", "ecoTemperature" etc. but not "temperature"
#sub MAX_SerializeTemperature($)
#{
#if (($_[0] eq "on") || ($_[0] eq "off")) { return $_[0]; }
#elsif($_[0] == 4.5) { return "off"; }
#elsif($_[0] == 30.5) { return "on"; }
#return sprintf("%2.1f",$_[0]);
#}
sub MAX_SerializeTemperature
{
my $t = shift;
return $t if ( $t =~ /^(on|off)$/ );
return 'off' if ( $t == 4.5 );
return 'on' if ( $t == 30.5 );
return sprintf("%2.1f", $t);
return sprintf('%2.1f', $t);
}
sub MAX_Validate # Todo : kann das weg ?
@ -645,12 +640,13 @@ sub MAX_Set
return CommandRename(undef,$devname.' '.$newName);
}
$ret = 'invalid_IODev' if (MAX_CheckIODev($hash));
return "$ret:noArg" if ($ret);
$ret = 'can_not_set_without_IODev' if (!exists($hash->{IODev}));
return "$ret:noArg" if ($ret);
$ret = 'can_not_send_with_IODev' if (!exists($hash->{IODev}{Send}));
return "$ret:noArg" if ($ret);
if ($setting ne '?') {
my $error = MAX_CheckIODev($hash);
if ($error ne 'ok') {
Log3($hash, 2, "$devname, $error");
return $error;
}
}
if($setting eq 'desiredTemperature' and $hash->{type} =~ /.*Thermostat.*/)
{