From 454fe2d41f4b854fffc7b3039d9542527fe106a2 Mon Sep 17 00:00:00 2001 From: zap <> Date: Thu, 20 Jan 2022 16:00:19 +0000 Subject: [PATCH] FULLY: Fixed speak and overlayMessage git-svn-id: https://svn.fhem.de/fhem/trunk@25516 2b470e98-0d58-463d-a4d8-8e2adae1ed80 --- fhem/CHANGED | 1 + fhem/FHEM/89_FULLY.pm | 12 +++++++----- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/fhem/CHANGED b/fhem/CHANGED index 2ec462978..bf5dde0c0 100644 --- a/fhem/CHANGED +++ b/fhem/CHANGED @@ -1,5 +1,6 @@ # 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. + - bugfix: 89_FULLY: Fixed speak and overlayMessage commands. - bugfix: 74_XiaomiBTLESens: fix incurrect temperatur then value is negativ - feature: 30_HUEBridge: support eventstream api (push events) - change: 70_DENON_AVR: added soundformat strings. patch by All-Ex diff --git a/fhem/FHEM/89_FULLY.pm b/fhem/FHEM/89_FULLY.pm index a776a4543..1cd415b43 100755 --- a/fhem/FHEM/89_FULLY.pm +++ b/fhem/FHEM/89_FULLY.pm @@ -447,14 +447,16 @@ sub FULLY_Set ($@) push (@p, { "key" => "motionDetection", "value" => "$value" }); } elsif ($opt eq 'speak') { - my $text = shift @a // return 'Usage: set $name speak "{Text}"'; + my $text = join(' ',@a); + return 'Usage: set $name speak {Text}' if (!defined($text) || $text eq ''); my $enctext = FULLY_SubstDeviceReading ($text); push (@c, "textToSpeech"); push (@p, { "text" => "$enctext" }); } elsif ($opt eq 'overlayMessage') { - my $text = shift @a // return 'Usage: set $name overlayMessage "{Text}"'; - my $enctext = FULLY_SubstDeviceReading ($text); + my $text = join(' ',@a); + return 'Usage: set $name overlayMessage [{Text}]' if (!defined($text));; + my $enctext = $text ne '' ? FULLY_SubstDeviceReading ($text) : ''; push (@c, "setOverlayMessage"); push (@p, { "text" => "$enctext" }); } @@ -497,8 +499,8 @@ sub FULLY_Set ($@) elsif ($opt eq 'setStringSetting' || $opt eq 'setBooleanSetting') { return "FULLY: Command $opt only available in expert mode" if ($expert == 0); my $key = shift @a; - my $value = shift @a; - return "Usage: set $name $opt {key} {value}" if (!defined ($value)); + my $value = join(' ',@a); + return "Usage: set $name $opt {key} {value}" if (!defined($value) || $value eq ''); push (@c, $opt); push (@p, { "key" => "$key", "value" => "$value" }); }