mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-05-04 22:19:38 +00:00
Unit.pm: add decimal mark support
git-svn-id: https://svn.fhem.de/fhem/trunk@12677 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
parent
b309c0a76a
commit
fa5c50cd0e
@ -445,17 +445,6 @@ sub values2weathercondition($$$$$) {
|
|||||||
return $condition;
|
return $condition;
|
||||||
}
|
}
|
||||||
|
|
||||||
#################################
|
|
||||||
### Logfile integer conversions
|
|
||||||
###
|
|
||||||
|
|
||||||
sub activity2log($) {
|
|
||||||
my ($data) = @_;
|
|
||||||
|
|
||||||
return "1" if ( $data =~ /^(alive|ok)$/i );
|
|
||||||
return "0";
|
|
||||||
}
|
|
||||||
|
|
||||||
#TODO rewrite for Unit.pm
|
#TODO rewrite for Unit.pm
|
||||||
sub fmtTime($) {
|
sub fmtTime($) {
|
||||||
my ($value) = @_;
|
my ($value) = @_;
|
||||||
@ -478,6 +467,21 @@ sub fmtTime($) {
|
|||||||
####################
|
####################
|
||||||
# HELPER FUNCTIONS
|
# HELPER FUNCTIONS
|
||||||
|
|
||||||
|
sub decimal_mark ($$) {
|
||||||
|
my ( $v, $f ) = @_;
|
||||||
|
return $v unless ( looks_like_number($v) && $f );
|
||||||
|
|
||||||
|
my $text = reverse $v;
|
||||||
|
if ( $f eq "2" ) {
|
||||||
|
$text =~ s:\.:,:g;
|
||||||
|
$text =~ s/(\d\d\d)(?=\d)(?!\d*,)/$1./g;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
$text =~ s/(\d\d\d)(?=\d)(?!\d*\.)/$1,/g;
|
||||||
|
}
|
||||||
|
return scalar reverse $text;
|
||||||
|
}
|
||||||
|
|
||||||
sub roundX($;$) {
|
sub roundX($;$) {
|
||||||
my ( $v, $n ) = @_;
|
my ( $v, $n ) = @_;
|
||||||
$n = 1 if ( !$n );
|
$n = 1 if ( !$n );
|
||||||
|
@ -147,8 +147,12 @@ my $rtype_base = {
|
|||||||
de => 'Länge',
|
de => 'Länge',
|
||||||
en => 'length',
|
en => 'length',
|
||||||
},
|
},
|
||||||
format => '%.0f',
|
format => '%.0f',
|
||||||
scope => { min => 0 },
|
decimal_mark => {
|
||||||
|
de => 2,
|
||||||
|
en => 1,
|
||||||
|
},
|
||||||
|
scope => { min => 0 },
|
||||||
},
|
},
|
||||||
|
|
||||||
1 => {
|
1 => {
|
||||||
@ -159,8 +163,12 @@ my $rtype_base = {
|
|||||||
de => 'Masse',
|
de => 'Masse',
|
||||||
en => 'mass',
|
en => 'mass',
|
||||||
},
|
},
|
||||||
format => '%.0f',
|
format => '%.0f',
|
||||||
scope => { min => 0 },
|
decimal_mark => {
|
||||||
|
de => 2,
|
||||||
|
en => 1,
|
||||||
|
},
|
||||||
|
scope => { min => 0 },
|
||||||
},
|
},
|
||||||
|
|
||||||
2 => {
|
2 => {
|
||||||
@ -171,8 +179,12 @@ my $rtype_base = {
|
|||||||
de => 'Zeit',
|
de => 'Zeit',
|
||||||
en => 'time',
|
en => 'time',
|
||||||
},
|
},
|
||||||
format => '%.0f',
|
format => '%.0f',
|
||||||
scope => { min => 0 },
|
decimal_mark => {
|
||||||
|
de => 2,
|
||||||
|
en => 1,
|
||||||
|
},
|
||||||
|
scope => { min => 0 },
|
||||||
},
|
},
|
||||||
|
|
||||||
3 => {
|
3 => {
|
||||||
@ -183,8 +195,12 @@ my $rtype_base = {
|
|||||||
de => 'elektrische Stromstärke',
|
de => 'elektrische Stromstärke',
|
||||||
en => 'electric current',
|
en => 'electric current',
|
||||||
},
|
},
|
||||||
format => '%.1f',
|
format => '%.1f',
|
||||||
scope => { min => 0 },
|
decimal_mark => {
|
||||||
|
de => 2,
|
||||||
|
en => 1,
|
||||||
|
},
|
||||||
|
scope => { min => 0 },
|
||||||
},
|
},
|
||||||
|
|
||||||
4 => {
|
4 => {
|
||||||
@ -195,8 +211,12 @@ my $rtype_base = {
|
|||||||
de => 'absolute Temperatur',
|
de => 'absolute Temperatur',
|
||||||
en => 'absolute temperature',
|
en => 'absolute temperature',
|
||||||
},
|
},
|
||||||
format => '%.1f',
|
format => '%.1f',
|
||||||
scope => { min => 0 },
|
decimal_mark => {
|
||||||
|
de => 2,
|
||||||
|
en => 1,
|
||||||
|
},
|
||||||
|
scope => { min => 0 },
|
||||||
},
|
},
|
||||||
|
|
||||||
5 => {
|
5 => {
|
||||||
@ -207,8 +227,12 @@ my $rtype_base = {
|
|||||||
de => 'Stoffmenge',
|
de => 'Stoffmenge',
|
||||||
en => 'amount of substance',
|
en => 'amount of substance',
|
||||||
},
|
},
|
||||||
format => '%.1f',
|
format => '%.1f',
|
||||||
scope => { min => 0 },
|
decimal_mark => {
|
||||||
|
de => 2,
|
||||||
|
en => 1,
|
||||||
|
},
|
||||||
|
scope => { min => 0 },
|
||||||
},
|
},
|
||||||
|
|
||||||
6 => {
|
6 => {
|
||||||
@ -219,8 +243,12 @@ my $rtype_base = {
|
|||||||
de => 'Lichtstärke',
|
de => 'Lichtstärke',
|
||||||
en => 'luminous intensity',
|
en => 'luminous intensity',
|
||||||
},
|
},
|
||||||
format => '%.1f',
|
format => '%.1f',
|
||||||
scope => { min => 0 },
|
decimal_mark => {
|
||||||
|
de => 2,
|
||||||
|
en => 1,
|
||||||
|
},
|
||||||
|
scope => { min => 0 },
|
||||||
},
|
},
|
||||||
|
|
||||||
7 => {
|
7 => {
|
||||||
@ -231,8 +259,12 @@ my $rtype_base = {
|
|||||||
de => 'Energie',
|
de => 'Energie',
|
||||||
en => 'energy',
|
en => 'energy',
|
||||||
},
|
},
|
||||||
format => '%.1f',
|
format => '%.1f',
|
||||||
scope => { min => 0 },
|
decimal_mark => {
|
||||||
|
de => 2,
|
||||||
|
en => 1,
|
||||||
|
},
|
||||||
|
scope => { min => 0 },
|
||||||
},
|
},
|
||||||
|
|
||||||
8 => {
|
8 => {
|
||||||
@ -243,8 +275,12 @@ my $rtype_base = {
|
|||||||
de => 'Frequenz',
|
de => 'Frequenz',
|
||||||
en => 'frequency',
|
en => 'frequency',
|
||||||
},
|
},
|
||||||
format => '%i',
|
format => '%i',
|
||||||
scope => { min => 0 },
|
decimal_mark => {
|
||||||
|
de => 2,
|
||||||
|
en => 1,
|
||||||
|
},
|
||||||
|
scope => { min => 0 },
|
||||||
},
|
},
|
||||||
|
|
||||||
9 => {
|
9 => {
|
||||||
@ -255,8 +291,12 @@ my $rtype_base = {
|
|||||||
de => 'Leistung',
|
de => 'Leistung',
|
||||||
en => 'power',
|
en => 'power',
|
||||||
},
|
},
|
||||||
format => '%.1f',
|
format => '%.1f',
|
||||||
scope => { min => 0 },
|
decimal_mark => {
|
||||||
|
de => 2,
|
||||||
|
en => 1,
|
||||||
|
},
|
||||||
|
scope => { min => 0 },
|
||||||
},
|
},
|
||||||
|
|
||||||
10 => {
|
10 => {
|
||||||
@ -267,8 +307,12 @@ my $rtype_base = {
|
|||||||
de => 'Druck',
|
de => 'Druck',
|
||||||
en => 'pressure',
|
en => 'pressure',
|
||||||
},
|
},
|
||||||
format => '%i',
|
format => '%i',
|
||||||
scope => { min => 0 },
|
decimal_mark => {
|
||||||
|
de => 2,
|
||||||
|
en => 1,
|
||||||
|
},
|
||||||
|
scope => { min => 0 },
|
||||||
},
|
},
|
||||||
|
|
||||||
11 => {
|
11 => {
|
||||||
@ -279,8 +323,12 @@ my $rtype_base = {
|
|||||||
de => 'absoluter Druck',
|
de => 'absoluter Druck',
|
||||||
en => 'absolute pressure',
|
en => 'absolute pressure',
|
||||||
},
|
},
|
||||||
format => '%i',
|
format => '%i',
|
||||||
scope => { min => 0 },
|
decimal_mark => {
|
||||||
|
de => 2,
|
||||||
|
en => 1,
|
||||||
|
},
|
||||||
|
scope => { min => 0 },
|
||||||
},
|
},
|
||||||
|
|
||||||
12 => {
|
12 => {
|
||||||
@ -291,8 +339,12 @@ my $rtype_base = {
|
|||||||
de => 'Luftdruck',
|
de => 'Luftdruck',
|
||||||
en => 'air pressure',
|
en => 'air pressure',
|
||||||
},
|
},
|
||||||
format => '%i',
|
format => '%i',
|
||||||
scope => { min => 0 },
|
decimal_mark => {
|
||||||
|
de => 2,
|
||||||
|
en => 1,
|
||||||
|
},
|
||||||
|
scope => { min => 0 },
|
||||||
},
|
},
|
||||||
|
|
||||||
13 => {
|
13 => {
|
||||||
@ -303,8 +355,12 @@ my $rtype_base = {
|
|||||||
de => 'elektrische Spannung',
|
de => 'elektrische Spannung',
|
||||||
en => 'electric voltage',
|
en => 'electric voltage',
|
||||||
},
|
},
|
||||||
format => '%.1f',
|
format => '%.1f',
|
||||||
scope => { min => 0 },
|
decimal_mark => {
|
||||||
|
de => 2,
|
||||||
|
en => 1,
|
||||||
|
},
|
||||||
|
scope => { min => 0 },
|
||||||
},
|
},
|
||||||
|
|
||||||
14 => {
|
14 => {
|
||||||
@ -315,8 +371,12 @@ my $rtype_base = {
|
|||||||
de => 'ebener Winkel',
|
de => 'ebener Winkel',
|
||||||
en => 'plane angular',
|
en => 'plane angular',
|
||||||
},
|
},
|
||||||
format => '%i',
|
format => '%i',
|
||||||
scope => { min => 0 },
|
decimal_mark => {
|
||||||
|
de => 2,
|
||||||
|
en => 1,
|
||||||
|
},
|
||||||
|
scope => { min => 0 },
|
||||||
},
|
},
|
||||||
|
|
||||||
15 => {
|
15 => {
|
||||||
@ -327,8 +387,12 @@ my $rtype_base = {
|
|||||||
de => 'Geschwindigkeit',
|
de => 'Geschwindigkeit',
|
||||||
en => 'speed',
|
en => 'speed',
|
||||||
},
|
},
|
||||||
format => '%i',
|
format => '%i',
|
||||||
scope => { min => 0 },
|
decimal_mark => {
|
||||||
|
de => 2,
|
||||||
|
en => 1,
|
||||||
|
},
|
||||||
|
scope => { min => 0 },
|
||||||
},
|
},
|
||||||
|
|
||||||
16 => {
|
16 => {
|
||||||
@ -339,8 +403,12 @@ my $rtype_base = {
|
|||||||
de => 'Beleuchtungsstärke',
|
de => 'Beleuchtungsstärke',
|
||||||
en => 'illumination intensity',
|
en => 'illumination intensity',
|
||||||
},
|
},
|
||||||
format => '%i',
|
format => '%i',
|
||||||
scope => { min => 0 },
|
decimal_mark => {
|
||||||
|
de => 2,
|
||||||
|
en => 1,
|
||||||
|
},
|
||||||
|
scope => { min => 0 },
|
||||||
},
|
},
|
||||||
|
|
||||||
17 => {
|
17 => {
|
||||||
@ -351,8 +419,12 @@ my $rtype_base = {
|
|||||||
de => 'Lichtstrom',
|
de => 'Lichtstrom',
|
||||||
en => 'luminous flux',
|
en => 'luminous flux',
|
||||||
},
|
},
|
||||||
format => '%i',
|
format => '%i',
|
||||||
scope => { min => 0 },
|
decimal_mark => {
|
||||||
|
de => 2,
|
||||||
|
en => 1,
|
||||||
|
},
|
||||||
|
scope => { min => 0 },
|
||||||
},
|
},
|
||||||
|
|
||||||
18 => {
|
18 => {
|
||||||
@ -363,8 +435,12 @@ my $rtype_base = {
|
|||||||
de => 'Volumen',
|
de => 'Volumen',
|
||||||
en => 'volume',
|
en => 'volume',
|
||||||
},
|
},
|
||||||
format => '%i',
|
format => '%i',
|
||||||
scope => { min => 0 },
|
decimal_mark => {
|
||||||
|
de => 2,
|
||||||
|
en => 1,
|
||||||
|
},
|
||||||
|
scope => { min => 0 },
|
||||||
},
|
},
|
||||||
|
|
||||||
19 => {
|
19 => {
|
||||||
@ -375,8 +451,12 @@ my $rtype_base = {
|
|||||||
de => 'Logarithmische Größe',
|
de => 'Logarithmische Größe',
|
||||||
en => 'logarithmic level',
|
en => 'logarithmic level',
|
||||||
},
|
},
|
||||||
format => '%.1f',
|
format => '%.1f',
|
||||||
scope => { min => 0 },
|
decimal_mark => {
|
||||||
|
de => 2,
|
||||||
|
en => 1,
|
||||||
|
},
|
||||||
|
scope => { min => 0 },
|
||||||
},
|
},
|
||||||
|
|
||||||
20 => {
|
20 => {
|
||||||
@ -387,8 +467,12 @@ my $rtype_base = {
|
|||||||
de => 'elektrische Ladung',
|
de => 'elektrische Ladung',
|
||||||
en => 'electric charge',
|
en => 'electric charge',
|
||||||
},
|
},
|
||||||
format => '%.1f',
|
format => '%.1f',
|
||||||
scope => { min => 0 },
|
decimal_mark => {
|
||||||
|
de => 2,
|
||||||
|
en => 1,
|
||||||
|
},
|
||||||
|
scope => { min => 0 },
|
||||||
},
|
},
|
||||||
|
|
||||||
21 => {
|
21 => {
|
||||||
@ -399,8 +483,12 @@ my $rtype_base = {
|
|||||||
de => 'elektrische Kapazität',
|
de => 'elektrische Kapazität',
|
||||||
en => 'electric capacity',
|
en => 'electric capacity',
|
||||||
},
|
},
|
||||||
format => '%.1f',
|
format => '%.1f',
|
||||||
scope => { min => 0 },
|
decimal_mark => {
|
||||||
|
de => 2,
|
||||||
|
en => 1,
|
||||||
|
},
|
||||||
|
scope => { min => 0 },
|
||||||
},
|
},
|
||||||
|
|
||||||
22 => {
|
22 => {
|
||||||
@ -411,8 +499,12 @@ my $rtype_base = {
|
|||||||
de => 'elektrische Widerstand',
|
de => 'elektrische Widerstand',
|
||||||
en => 'electric resistance',
|
en => 'electric resistance',
|
||||||
},
|
},
|
||||||
format => '%.1f',
|
format => '%.1f',
|
||||||
scope => { min => 0 },
|
decimal_mark => {
|
||||||
|
de => 2,
|
||||||
|
en => 1,
|
||||||
|
},
|
||||||
|
scope => { min => 0 },
|
||||||
},
|
},
|
||||||
|
|
||||||
23 => {
|
23 => {
|
||||||
@ -423,8 +515,12 @@ my $rtype_base = {
|
|||||||
de => 'Flächeninhalt',
|
de => 'Flächeninhalt',
|
||||||
en => 'surface area',
|
en => 'surface area',
|
||||||
},
|
},
|
||||||
format => '%i',
|
format => '%i',
|
||||||
scope => { min => 0 },
|
decimal_mark => {
|
||||||
|
de => 2,
|
||||||
|
en => 1,
|
||||||
|
},
|
||||||
|
scope => { min => 0 },
|
||||||
},
|
},
|
||||||
|
|
||||||
24 => {
|
24 => {
|
||||||
@ -432,8 +528,12 @@ my $rtype_base = {
|
|||||||
de => 'Währung',
|
de => 'Währung',
|
||||||
en => 'currency',
|
en => 'currency',
|
||||||
},
|
},
|
||||||
format => '%.2f',
|
format => '%.2f',
|
||||||
scope => '^[0-9]*(?:\.[0-9]*)?$',
|
decimal_mark => {
|
||||||
|
de => 2,
|
||||||
|
en => 1,
|
||||||
|
},
|
||||||
|
scope => '^[0-9]*(?:\.[0-9]*)?$',
|
||||||
},
|
},
|
||||||
|
|
||||||
25 => {
|
25 => {
|
||||||
@ -441,6 +541,11 @@ my $rtype_base = {
|
|||||||
de => 'Zahlen',
|
de => 'Zahlen',
|
||||||
en => 'Numbering',
|
en => 'Numbering',
|
||||||
},
|
},
|
||||||
|
format => '%.1f',
|
||||||
|
decimal_mark => {
|
||||||
|
de => 2,
|
||||||
|
en => 1,
|
||||||
|
},
|
||||||
tmpl => '%value%',
|
tmpl => '%value%',
|
||||||
},
|
},
|
||||||
|
|
||||||
@ -1242,13 +1347,24 @@ my $rtypes = {
|
|||||||
},
|
},
|
||||||
|
|
||||||
# currency
|
# currency
|
||||||
|
|
||||||
|
#https://en.wikipedia.org/wiki/Euro
|
||||||
|
#https://en.wikipedia.org/wiki/Linguistic_issues_concerning_the_euro
|
||||||
euro => {
|
euro => {
|
||||||
ref_base => 24,
|
ref_base => 24,
|
||||||
format => '%.2f',
|
format => '%.2f',
|
||||||
symbol => '€',
|
symbol => '€',
|
||||||
suffix => 'EUR',
|
suffix => 'EUR',
|
||||||
txt => 'Euro',
|
txt => {
|
||||||
scope => '^([0-9]*(?:\.[0-9]*)?)$',
|
de => 'Euro',
|
||||||
|
en => 'euro',
|
||||||
|
},
|
||||||
|
tmpl => {
|
||||||
|
de => '%symbol%%value%',
|
||||||
|
de_de => '%value%' . chr(0x202F) . '%symbol%',
|
||||||
|
en => '%symbol%%value%',
|
||||||
|
},
|
||||||
|
scope => '^([0-9]*(?:\.[0-9]*)?)$',
|
||||||
},
|
},
|
||||||
|
|
||||||
pound_uk => {
|
pound_uk => {
|
||||||
@ -1258,15 +1374,15 @@ my $rtypes = {
|
|||||||
suffix => 'GBP',
|
suffix => 'GBP',
|
||||||
txt => {
|
txt => {
|
||||||
de => 'Pfund',
|
de => 'Pfund',
|
||||||
en => 'Pound',
|
en => 'pound',
|
||||||
},
|
},
|
||||||
txt_long => {
|
txt_long => {
|
||||||
de => 'Britisches Pfund',
|
de => 'Britisches Pfund',
|
||||||
en => 'British Pound',
|
en => 'British pound',
|
||||||
},
|
},
|
||||||
txt_long_pl => {
|
txt_long_pl => {
|
||||||
de => 'Britische Pfund',
|
de => 'Britische Pfund',
|
||||||
en => 'British Pound',
|
en => 'British pound',
|
||||||
},
|
},
|
||||||
tmpl => '%symbol%%value%',
|
tmpl => '%symbol%%value%',
|
||||||
tmpl_long => '%value%' . chr(0x00A0) . '%txt_long%',
|
tmpl_long => '%value%' . chr(0x00A0) . '%txt_long%',
|
||||||
@ -1274,12 +1390,18 @@ my $rtypes = {
|
|||||||
},
|
},
|
||||||
|
|
||||||
dollar_us => {
|
dollar_us => {
|
||||||
ref_base => 24,
|
ref_base => 24,
|
||||||
format => '%.2f',
|
format => '%.2f',
|
||||||
symbol => '$',
|
symbol => '$',
|
||||||
suffix => 'USD',
|
suffix => 'USD',
|
||||||
txt => 'Dollar',
|
txt => {
|
||||||
txt_long => 'US Dollar',
|
de => 'Dollar',
|
||||||
|
en => 'dollar',
|
||||||
|
},
|
||||||
|
txt_long => {
|
||||||
|
de => 'US Dollar',
|
||||||
|
en => 'US dollar',
|
||||||
|
},
|
||||||
tmpl => '%symbol%%value%',
|
tmpl => '%symbol%%value%',
|
||||||
tmpl_long => '%value%' . chr(0x00A0) . '%txt_long%',
|
tmpl_long => '%value%' . chr(0x00A0) . '%txt_long%',
|
||||||
scope => '^([0-9]*(?:\.[0-9]*)?)$',
|
scope => '^([0-9]*(?:\.[0-9]*)?)$',
|
||||||
@ -2467,8 +2589,10 @@ sub replaceTemplate ($$$$;$) {
|
|||||||
return
|
return
|
||||||
if ( !$odesc || ref($odesc) ne "HASH" );
|
if ( !$odesc || ref($odesc) ne "HASH" );
|
||||||
|
|
||||||
$value = $odesc->{value}
|
$value = ${$odesc}{value}{$lang}
|
||||||
if ( !defined($value) && defined( $odesc->{value} ) );
|
if (!defined($value)
|
||||||
|
&& defined( $odesc->{value} )
|
||||||
|
&& defined( $odesc->{value}{$lang} ) );
|
||||||
|
|
||||||
return $value
|
return $value
|
||||||
if ( !defined($value) || $value eq "" );
|
if ( !defined($value) || $value eq "" );
|
||||||
@ -2485,15 +2609,26 @@ sub replaceTemplate ($$$$;$) {
|
|||||||
|
|
||||||
# keep only defined language if set
|
# keep only defined language if set
|
||||||
foreach ( keys %{$desc} ) {
|
foreach ( keys %{$desc} ) {
|
||||||
if ( defined( $desc->{$_} )
|
next if ( !defined( $desc->{$_} )
|
||||||
&& ref( $desc->{$_} ) eq "HASH"
|
|| ref( $desc->{$_} ) ne "HASH" );
|
||||||
&& defined( $desc->{$_}{$l} ) )
|
|
||||||
{
|
# find any direct format
|
||||||
|
if ( defined( $desc->{$_}{$l} ) ) {
|
||||||
my $v;
|
my $v;
|
||||||
$v = $desc->{$_}{$l};
|
$v = $desc->{$_}{$l};
|
||||||
delete $desc->{$_};
|
delete $desc->{$_};
|
||||||
$desc->{$_} = $v if ( defined($v) );
|
$desc->{$_} = $v if ( defined($v) );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# extract xx from xx_yz formats
|
||||||
|
elsif ( $l =~ /^([a-z]+)(_([a-z]+))?$/i
|
||||||
|
&& defined( $desc->{$_}{$1} ) )
|
||||||
|
{
|
||||||
|
my $v;
|
||||||
|
$v = $desc->{$_}{$1};
|
||||||
|
delete $desc->{$_};
|
||||||
|
$desc->{$_} = $v if ( defined($v) );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
# handle textual types after language normalisation
|
# handle textual types after language normalisation
|
||||||
@ -2604,7 +2739,10 @@ sub replaceTemplate ($$$$;$) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
foreach my $k ( keys %{$desc} ) {
|
foreach my $k ( keys %{$desc} ) {
|
||||||
$txt =~ s/%$k%/$desc->{$k}/g;
|
my $vdm = $desc->{$k};
|
||||||
|
$vdm = UConv::decimal_mark( $vdm, $desc->{decimal_mark} )
|
||||||
|
if ( defined( $desc->{decimal_mark} ) );
|
||||||
|
$txt =~ s/%$k%/$vdm/g;
|
||||||
}
|
}
|
||||||
|
|
||||||
return ($txt) if ( !wantarray );
|
return ($txt) if ( !wantarray );
|
||||||
@ -2646,7 +2784,10 @@ sub replaceTemplate ($$$$;$) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
foreach my $k ( keys %{$desc} ) {
|
foreach my $k ( keys %{$desc} ) {
|
||||||
$txt_long =~ s/%$k%/$desc->{$k}/g;
|
my $vdm = $desc->{$k};
|
||||||
|
$vdm = UConv::decimal_mark( $vdm, $desc->{decimal_mark} )
|
||||||
|
if ( defined( $desc->{decimal_mark} ) );
|
||||||
|
$txt_long =~ s/%$k%/$vdm/g;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2875,7 +3016,8 @@ sub formatValue($$$;$$$$) {
|
|||||||
$desc->{value}{$lang} = $value;
|
$desc->{value}{$lang} = $value;
|
||||||
$desc->{value_num} = $value_num if ( defined($value_num) );
|
$desc->{value_num} = $value_num if ( defined($value_num) );
|
||||||
|
|
||||||
my ( $txt, $txt_long ) = replaceTemplate( $device, $reading, $desc, $lang );
|
my ( $txt, $txt_long ) =
|
||||||
|
replaceTemplate( $device, $reading, $desc, $lang, $value );
|
||||||
|
|
||||||
$desc->{value_txt}{$lang} = $txt;
|
$desc->{value_txt}{$lang} = $txt;
|
||||||
$desc->{value_txt_long}{$lang} = $txt_long if ( defined($txt_long) );
|
$desc->{value_txt_long}{$lang} = $txt_long if ( defined($txt_long) );
|
||||||
|
Loading…
x
Reference in New Issue
Block a user