2
0
mirror of https://github.com/fhem/fhem-mirror.git synced 2025-03-03 23:06:37 +00:00

76_SMAPortal: contrib 2.4.1

git-svn-id: https://svn.fhem.de/fhem/trunk@19759 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
nasseeder1 2019-07-01 16:33:43 +00:00
parent 1598a8159f
commit 39377e2b67

View File

@ -129,6 +129,7 @@ BEGIN {
IsDisabled IsDisabled
Log Log
Log3 Log3
makeReadingName
modules modules
readingsSingleUpdate readingsSingleUpdate
readingsBulkUpdate readingsBulkUpdate
@ -161,6 +162,7 @@ use vars qw($FW_ME); # webname (default is fh
# Versions History intern # Versions History intern
our %vNotesIntern = ( our %vNotesIntern = (
"2.4.1" => "01.07.2019 replace space in consumer name by a valid sign for reading creation ",
"2.4.0" => "26.06.2019 support for FTUI-Widget ", "2.4.0" => "26.06.2019 support for FTUI-Widget ",
"2.3.7" => "24.06.2019 replace suggestIcon by consumerAdviceIcon ", "2.3.7" => "24.06.2019 replace suggestIcon by consumerAdviceIcon ",
"2.3.6" => "21.06.2019 revise commandref ", "2.3.6" => "21.06.2019 revise commandref ",
@ -1435,7 +1437,7 @@ sub extractConsumerData($$) {
$key =~ /^(\d+)_.*$/; $key =~ /^(\d+)_.*$/;
my $lfn = $1; my $lfn = $1;
my $cn = $consumers{"${lfn}_ConsumerName"}; # Verbrauchername my $cn = $consumers{"${lfn}_ConsumerName"}; # Verbrauchername
$cn = substUmlauts($cn); # evtl. Umlaute im Verbrauchernamen ersetzen $cn = replaceJunkSigns($cn); # evtl. Umlaute/Leerzeichen im Verbrauchernamen ersetzen
my $pos = $consumers{"${lfn}_PlannedOpTimeStart"}; # geplanter Start my $pos = $consumers{"${lfn}_PlannedOpTimeStart"}; # geplanter Start
my $poe = $consumers{"${lfn}_PlannedOpTimeEnd"}; # geplantes Ende my $poe = $consumers{"${lfn}_PlannedOpTimeEnd"}; # geplantes Ende
my $rb = "L3_${cn}_PlannedOpTimeBegin"; my $rb = "L3_${cn}_PlannedOpTimeBegin";
@ -1488,7 +1490,7 @@ sub extractConsumerLiveData($$) {
$consumers{"${i}_ConsumerLfd"} = $i; $consumers{"${i}_ConsumerLfd"} = $i;
my $cpower = $c->{'Consume'}{'Measurement'}; # aktueller Energieverbrauch in W my $cpower = $c->{'Consume'}{'Measurement'}; # aktueller Energieverbrauch in W
my $cn = $consumers{"${i}_ConsumerName"}; # Verbrauchername my $cn = $consumers{"${i}_ConsumerName"}; # Verbrauchername
$cn = substUmlauts($cn); $cn = replaceJunkSigns($cn);
$hash->{HELPER}{CONSUMER}{$i}{DeviceName} = $cn; $hash->{HELPER}{CONSUMER}{$i}{DeviceName} = $cn;
$hash->{HELPER}{CONSUMER}{$i}{ConsumerOid} = $consumers{"${i}_ConsumerOid"}; $hash->{HELPER}{CONSUMER}{$i}{ConsumerOid} = $consumers{"${i}_ConsumerOid"};
@ -1512,7 +1514,7 @@ sub extractConsumerLiveData($$) {
my $OperationAutoEna = $c->{'Parameters'}[2]{'Value'}; # Automatic Betrieb erlaubt ? my $OperationAutoEna = $c->{'Parameters'}[2]{'Value'}; # Automatic Betrieb erlaubt ?
my $ltchange = TimeAdjust($hash,$c->{'Parameters'}[0]{'Timestamp'}{'DateTime'},$tkind); # letzter Schaltzeitpunkt der Bluetooth-Steckdose (Verbraucher) my $ltchange = TimeAdjust($hash,$c->{'Parameters'}[0]{'Timestamp'}{'DateTime'},$tkind); # letzter Schaltzeitpunkt der Bluetooth-Steckdose (Verbraucher)
my $cn = $consumers{"${i}_ConsumerName"}; # Verbrauchername my $cn = $consumers{"${i}_ConsumerName"}; # Verbrauchername
$cn = substUmlauts($cn); # evtl. Umlaute im Verbrauchernamen ersetzen $cn = replaceJunkSigns($cn); # evtl. Umlaute/Leerzeichen im Verbrauchernamen ersetzen
if(!$GriSwStt && $GriSwAuto) { if(!$GriSwStt && $GriSwAuto) {
$res = "off (automatic)"; $res = "off (automatic)";
@ -1566,7 +1568,7 @@ sub extractConsumerHistData($$$) {
$consumers{"${i}_ConsumerLfd"} = $i; $consumers{"${i}_ConsumerLfd"} = $i;
my $cpower = $c->{'TotalEnergy'}{'Measurement'}; # Energieverbrauch im Timeframe in Wh my $cpower = $c->{'TotalEnergy'}{'Measurement'}; # Energieverbrauch im Timeframe in Wh
my $cn = $consumers{"${i}_ConsumerName"}; # Verbrauchername my $cn = $consumers{"${i}_ConsumerName"}; # Verbrauchername
$cn = substUmlauts($cn); $cn = replaceJunkSigns($cn);
if($tf =~ /month|year/) { if($tf =~ /month|year/) {
$tct = $c->{'TotalEnergyMix'}{'TotalConsumptionTotal'}; # Gesamtverbrauch im Timeframe in Wh $tct = $c->{'TotalEnergyMix'}{'TotalConsumptionTotal'}; # Gesamtverbrauch im Timeframe in Wh
@ -1809,20 +1811,21 @@ sub TimeAdjust($$$) {
} }
############################################################################### ###############################################################################
# Umlaute für Readingerstellung ersetzen # Umlaute und ungültige Zeichen für Readingerstellung ersetzen
############################################################################### ###############################################################################
sub substUmlauts ($) { sub replaceJunkSigns ($) {
my ($txt) = @_; my ($rn) = @_;
$txt =~ s/ß/ss/g; $rn =~ s/ß/ss/g;
$txt =~ s/ä/ae/g; $rn =~ s/ä/ae/g;
$txt =~ s/ö/oe/g; $rn =~ s/ö/oe/g;
$txt =~ s/ü/ue/g; $rn =~ s/ü/ue/g;
$txt =~ s/Ä/Ae/g; $rn =~ s/Ä/Ae/g;
$txt =~ s/Ö/Oe/g; $rn =~ s/Ö/Oe/g;
$txt =~ s/Ü/Ue/g; $rn =~ s/Ü/Ue/g;
$rn = makeReadingName($rn);
return($txt); return($rn);
} }
############################################################################### ###############################################################################