From 02109e74575736e80155c69d78b9363eae7d04e0 Mon Sep 17 00:00:00 2001 From: justme-1968 Date: Mon, 23 Jan 2017 11:35:31 +0000 Subject: [PATCH] 39_alexa.pm: preparation for multiple set/get/attr/perl fhemIntents git-svn-id: https://svn.fhem.de/fhem/trunk@13204 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/FHEM/39_alexa.pm | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/fhem/FHEM/39_alexa.pm b/fhem/FHEM/39_alexa.pm index 49374872f..7f479972c 100644 --- a/fhem/FHEM/39_alexa.pm +++ b/fhem/FHEM/39_alexa.pm @@ -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, };