Das Problem ist, dass FHEM-set-Befehl die Daten bereits zerlegt in einem Array weitergibt. Bei der Zerlegung gehen alle Leerzeichen erstmal verloren ( my @a = split("[ \t][ \t]*", $param); ). In dem MQTT-DEVICE-Modul werden diese dann mit Leerzeichen dazwischen zusammengesetzt (my $value = join " ",@values;).
Einzige Möglichkeit, die ich sehe, wäre das MQTT-DEVICE-Modul so umzubauen, dass dieser ein eigenes Publish-Befehl und/oder eine Methode anbietet, die man direkt aufrufen kann.