mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-05-04 22:19:38 +00:00
fhem.pl: add good{Device|Reading}Name/make{Device|Reading}Name (Forum #75588)
git-svn-id: https://svn.fhem.de/fhem/trunk@14924 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
parent
77a7de4237
commit
a5f4f3d2d6
37
fhem/fhem.pl
37
fhem/fhem.pl
@ -1883,7 +1883,7 @@ CommandDefine($$)
|
|||||||
if(int(@a) < 2);
|
if(int(@a) < 2);
|
||||||
return "$name already defined, delete it first" if(defined($defs{$name}));
|
return "$name already defined, delete it first" if(defined($defs{$name}));
|
||||||
return "Invalid characters in name (not A-Za-z0-9._): $name"
|
return "Invalid characters in name (not A-Za-z0-9._): $name"
|
||||||
if($name !~ m/^[a-z0-9._]*$/i);
|
if(!goodDeviceName($name));
|
||||||
|
|
||||||
my $m = $a[1];
|
my $m = $a[1];
|
||||||
if(!$modules{$m}) { # Perhaps just wrong case?
|
if(!$modules{$m}) { # Perhaps just wrong case?
|
||||||
@ -2857,7 +2857,7 @@ CommandSetstate($$)
|
|||||||
|
|
||||||
Log3 $d, 3, "WARNING: unsupported character in reading $sname ".
|
Log3 $d, 3, "WARNING: unsupported character in reading $sname ".
|
||||||
"(not A-Za-z/\\d_\\.-), notify the $d->{TYPE} module maintainer."
|
"(not A-Za-z/\\d_\\.-), notify the $d->{TYPE} module maintainer."
|
||||||
if($sname !~ m/^[A-Za-z\d_\.\-\/]+$/ && $sname !~ m/^\./);
|
if(!goodReadingName($sname));
|
||||||
|
|
||||||
if(!defined($d->{READINGS}{$sname}) ||
|
if(!defined($d->{READINGS}{$sname}) ||
|
||||||
!defined($d->{READINGS}{$sname}{TIME}) ||
|
!defined($d->{READINGS}{$sname}{TIME}) ||
|
||||||
@ -5110,5 +5110,38 @@ getPawList($)
|
|||||||
return @dob;
|
return @dob;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
sub
|
||||||
|
goodDeviceName($)
|
||||||
|
{
|
||||||
|
my ($name) = @_;
|
||||||
|
return ($name && $name =~ m/^[a-z0-9._]*$/i);
|
||||||
|
}
|
||||||
|
|
||||||
|
sub
|
||||||
|
makeDeviceName($) # Convert non-valid characters to _
|
||||||
|
{
|
||||||
|
my ($name) = @_;
|
||||||
|
$name = "UNDEFINED" if(!defined($name));
|
||||||
|
$name =~ s/[^a-z0-9._]/_/gi;
|
||||||
|
return $name;
|
||||||
|
}
|
||||||
|
|
||||||
|
sub
|
||||||
|
goodReadingName($)
|
||||||
|
{
|
||||||
|
my ($name) = @_;
|
||||||
|
return ($name && ($name =~ m/^[a-z0-9._\-\/]+$/i || $name =~ m/^\./));
|
||||||
|
}
|
||||||
|
|
||||||
|
sub
|
||||||
|
makeReadingName($) # Convert non-valid characters to _
|
||||||
|
{
|
||||||
|
my ($name) = @_;
|
||||||
|
$name = "UNDEFINED" if(!defined($name));
|
||||||
|
return $name if($name =~ m/^\./);
|
||||||
|
$name =~ s/[^a-z0-9._\-\/]/_/gi;
|
||||||
|
return $name;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
1;
|
1;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user