39_alexa.pm: preparation for multiple set/get/attr/perl fhemIntents

git-svn-id: https://svn.fhem.de/fhem/trunk/fhem@13204 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
justme-1968 2017-01-23 11:35:31 +00:00
parent eeb3c5022d
commit f973ca863f

View File

@ -391,6 +391,7 @@ Log 1, Dumper $characteristicsOfIntent;
}
if( my $entries = AttrVal( $name, 'fhemIntents', undef ) ) {
my %intents;
foreach my $entry ( split( /\n/, $entries ) ) {
next if( !$entry );
next if( $entry =~ /^#/ );
@ -402,10 +403,21 @@ Log 1, Dumper $characteristicsOfIntent;
my $intent_name = "FHEM${intent}Intent";
if( $intent =~ m/^(set|get|attr)\s/ ) {
$intent_name = "FHEM${1}Intent";
my $i = 1;
while( defined($intents{$intent_name}) ) {
$intent_name = "FHEM${1}Intent".chr(65+$i);
++$i;
}
} elsif( $intent =~ m/^{.*}$/ ) {
$intent_name = 'FHEMperlCodeIntent';
my $i = 1;
while( defined($intents{$intent_name}) ) {
$intent_name = "FHEMperlCodeIntent".chr(65+$i);
++$i;
}
}
#$intent_name =~ s/ //g;
$intent_name =~ s/ //g;
$intents{$intent_name} = $intent;
push @{$schema->{intents}}, {intent => $intent_name, };