mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-03-03 23:06:37 +00:00
76_SMAPortal: contrib 3.1.1
git-svn-id: https://svn.fhem.de/fhem/trunk@22254 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
parent
2dae758c2c
commit
1bf26a94a0
@ -1,5 +1,5 @@
|
|||||||
#########################################################################################################################
|
#########################################################################################################################
|
||||||
# $Id: 76_SMAPortal.pm 22149 2020-06-09 20:41:58Z DS_Starter $
|
# $Id: 76_SMAPortal.pm 22243 2020-06-23 19:00:43Z DS_Starter $
|
||||||
#########################################################################################################################
|
#########################################################################################################################
|
||||||
# 76_SMAPortal.pm
|
# 76_SMAPortal.pm
|
||||||
#
|
#
|
||||||
@ -136,6 +136,7 @@ BEGIN {
|
|||||||
|
|
||||||
# Versions History intern
|
# Versions History intern
|
||||||
my %vNotesIntern = (
|
my %vNotesIntern = (
|
||||||
|
"3.1.1" => "24.06.2020 change german Error regex, get plantOid from cookie if not in JSON ",
|
||||||
"3.1.0" => "20.06.2020 language of SMA Portal messages depend on global language attribute, avoid order problems by ".
|
"3.1.0" => "20.06.2020 language of SMA Portal messages depend on global language attribute, avoid order problems by ".
|
||||||
"executing retrieve master data firstly every time",
|
"executing retrieve master data firstly every time",
|
||||||
"3.0.0" => "18.06.2020 refactored readings and subroutines, detailLevel deleted, new attr providerLevel, integrate logbook data ",
|
"3.0.0" => "18.06.2020 refactored readings and subroutines, detailLevel deleted, new attr providerLevel, integrate logbook data ",
|
||||||
@ -1501,7 +1502,7 @@ sub __dispatchGet {
|
|||||||
my @func = @$fnref;
|
my @func = @$fnref;
|
||||||
no strict "refs"; ## no critic 'NoStrict'
|
no strict "refs"; ## no critic 'NoStrict'
|
||||||
for my $fn (@func) {
|
for my $fn (@func) {
|
||||||
&{$fn} ($hash,$daref,$data_cont,$fnaddon);
|
&{$fn} ($hash,$daref,$data_cont,$fnaddon,$data);
|
||||||
}
|
}
|
||||||
use strict "refs";
|
use strict "refs";
|
||||||
}
|
}
|
||||||
@ -1658,7 +1659,7 @@ sub ___analyzeData { ## no critic 'complexity'
|
|||||||
my $wm2e = qq{The current consumption could not be determined. The current purchased electricity is unknown};
|
my $wm2e = qq{The current consumption could not be determined. The current purchased electricity is unknown};
|
||||||
my $wm2d = qq{Der aktuelle Verbrauch konnte nicht ermittelt werden. Der aktuelle Netzbezug ist unbekannt};
|
my $wm2d = qq{Der aktuelle Verbrauch konnte nicht ermittelt werden. Der aktuelle Netzbezug ist unbekannt};
|
||||||
my $em1e = qq{Communication with the Sunny Home Manager is currently not possible};
|
my $em1e = qq{Communication with the Sunny Home Manager is currently not possible};
|
||||||
my $em1d = qq{Kommunikation mit dem Sunny Home Manager derzeit nicht m};
|
my $em1d = qq{Die Kommunikation mit dem Sunny Home Manager ist zurzeit nicht m};
|
||||||
my $em2e = qq{The current data cannot be retrieved from the PV system. Check the cabling and configuration};
|
my $em2e = qq{The current data cannot be retrieved from the PV system. Check the cabling and configuration};
|
||||||
my $em2d = qq{Die aktuellen Daten .*? nicht von der Anlage abgerufen werden.*? Sie die Verkabelung und Konfiguration};
|
my $em2d = qq{Die aktuellen Daten .*? nicht von der Anlage abgerufen werden.*? Sie die Verkabelung und Konfiguration};
|
||||||
|
|
||||||
@ -2184,6 +2185,8 @@ sub extractPlantMasterData {
|
|||||||
my $hash = shift;
|
my $hash = shift;
|
||||||
my $daref = shift;
|
my $daref = shift;
|
||||||
my $forecast = shift;
|
my $forecast = shift;
|
||||||
|
my $addon = shift;
|
||||||
|
my $data = shift; # gelieferte Rohdaten
|
||||||
my $name = $hash->{NAME};
|
my $name = $hash->{NAME};
|
||||||
my ($amount,$unit);
|
my ($amount,$unit);
|
||||||
|
|
||||||
@ -2193,7 +2196,13 @@ sub extractPlantMasterData {
|
|||||||
return;
|
return;
|
||||||
};
|
};
|
||||||
my $lv = $stpl{plantMasterData}{level};
|
my $lv = $stpl{plantMasterData}{level};
|
||||||
my $plantOid = $forecast->{'ForecastTimeframes'}->{'PlantOid'};
|
my $plantOid = $forecast->{'ForecastTimeframes'}->{'PlantOid'}; # Plant ID aus JSON filtern
|
||||||
|
|
||||||
|
if(!$plantOid) { # Plant ID aus Cookie Header extrhieren wenn nicht mi JSON geliefert (kommt vor)
|
||||||
|
Log3 ($name, 4, "$name - Plant ID not set in data, get it from cookie ...");
|
||||||
|
my $sc = $data->header('Set-Cookie') // "";
|
||||||
|
($plantOid) = $sc =~ /plantOid=([0-9a-z-]*);/x;
|
||||||
|
}
|
||||||
|
|
||||||
if ($plantOid) { # wichtig für erweiterte Selektionen
|
if ($plantOid) { # wichtig für erweiterte Selektionen
|
||||||
Log3 ($name, 4, "$name - Plant ID: ".$plantOid);
|
Log3 ($name, 4, "$name - Plant ID: ".$plantOid);
|
||||||
@ -2571,12 +2580,12 @@ sub setVersionInfo {
|
|||||||
if($modules{$type}{META}{x_prereqs_src} && !$hash->{HELPER}{MODMETAABSENT}) {
|
if($modules{$type}{META}{x_prereqs_src} && !$hash->{HELPER}{MODMETAABSENT}) {
|
||||||
# META-Daten sind vorhanden
|
# META-Daten sind vorhanden
|
||||||
$modules{$type}{META}{version} = "v".$v; # Version aus META.json überschreiben, Anzeige mit {Dumper $modules{SMAPortal}{META}}
|
$modules{$type}{META}{version} = "v".$v; # Version aus META.json überschreiben, Anzeige mit {Dumper $modules{SMAPortal}{META}}
|
||||||
if($modules{$type}{META}{x_version}) { # {x_version} ( nur gesetzt wenn $Id: 76_SMAPortal.pm 22149 2020-06-09 20:41:58Z DS_Starter $ im Kopf komplett! vorhanden )
|
if($modules{$type}{META}{x_version}) { # {x_version} ( nur gesetzt wenn $Id: 76_SMAPortal.pm 22243 2020-06-23 19:00:43Z DS_Starter $ im Kopf komplett! vorhanden )
|
||||||
$modules{$type}{META}{x_version} =~ s/1\.1\.1/$v/gx;
|
$modules{$type}{META}{x_version} =~ s/1\.1\.1/$v/gx;
|
||||||
} else {
|
} else {
|
||||||
$modules{$type}{META}{x_version} = $v;
|
$modules{$type}{META}{x_version} = $v;
|
||||||
}
|
}
|
||||||
return $@ unless (FHEM::Meta::SetInternals($hash)); # FVERSION wird gesetzt ( nur gesetzt wenn $Id: 76_SMAPortal.pm 22149 2020-06-09 20:41:58Z DS_Starter $ im Kopf komplett! vorhanden )
|
return $@ unless (FHEM::Meta::SetInternals($hash)); # FVERSION wird gesetzt ( nur gesetzt wenn $Id: 76_SMAPortal.pm 22243 2020-06-23 19:00:43Z DS_Starter $ im Kopf komplett! vorhanden )
|
||||||
if(__PACKAGE__ eq "FHEM::$type" || __PACKAGE__ eq $type) {
|
if(__PACKAGE__ eq "FHEM::$type" || __PACKAGE__ eq $type) {
|
||||||
# es wird mit Packages gearbeitet -> Perl übliche Modulversion setzen
|
# es wird mit Packages gearbeitet -> Perl übliche Modulversion setzen
|
||||||
# mit {<Modul>->VERSION()} im FHEMWEB kann Modulversion abgefragt werden
|
# mit {<Modul>->VERSION()} im FHEMWEB kann Modulversion abgefragt werden
|
||||||
|
Loading…
x
Reference in New Issue
Block a user