mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-03-10 03:06:37 +00:00
SMUtils.pm: new version 1.23.0
git-svn-id: https://svn.fhem.de/fhem/trunk@24508 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
parent
d1ca286513
commit
2aa339e03a
@ -26,6 +26,7 @@
|
|||||||
#########################################################################################################################
|
#########################################################################################################################
|
||||||
|
|
||||||
# Version History
|
# Version History
|
||||||
|
# 1.23.0 new sub evalDecodeJSON
|
||||||
# 1.22.0 new sub addCHANGED
|
# 1.22.0 new sub addCHANGED
|
||||||
# 1.21.0 new sub timestringToTimestamp / createReadingsFromArray
|
# 1.21.0 new sub timestringToTimestamp / createReadingsFromArray
|
||||||
# 1.20.7 change to defined ... in sub _addSendqueueSimple
|
# 1.20.7 change to defined ... in sub _addSendqueueSimple
|
||||||
@ -72,6 +73,7 @@ our @EXPORT_OK = qw(
|
|||||||
getCredentials
|
getCredentials
|
||||||
showStoredCredentials
|
showStoredCredentials
|
||||||
evaljson
|
evaljson
|
||||||
|
evalDecodeJSON
|
||||||
login
|
login
|
||||||
logout
|
logout
|
||||||
setActiveToken
|
setActiveToken
|
||||||
@ -1082,7 +1084,7 @@ sub evaljson {
|
|||||||
|
|
||||||
eval {decode_json($myjson)} or do {
|
eval {decode_json($myjson)} or do {
|
||||||
if( ($hash->{HELPER}{RUNVIEW} && $hash->{HELPER}{RUNVIEW} =~ m/^live_.*hls$/x) ||
|
if( ($hash->{HELPER}{RUNVIEW} && $hash->{HELPER}{RUNVIEW} =~ m/^live_.*hls$/x) ||
|
||||||
$OpMode =~ m/^.*_hls$/x ) { # SSCam: HLS aktivate/deaktivate bringt kein JSON wenn bereits aktiviert/deaktiviert
|
$OpMode =~ m/^.*_hls$/x ) { # SSCam: HLS aktivate/deaktivate bringt kein JSON wenn bereits aktiviert/deaktiviert
|
||||||
Log3($name, 5, "$name - HLS-activation data return: $myjson");
|
Log3($name, 5, "$name - HLS-activation data return: $myjson");
|
||||||
|
|
||||||
if ($myjson =~ m/{"success":true}/x) {
|
if ($myjson =~ m/{"success":true}/x) {
|
||||||
@ -1103,6 +1105,51 @@ sub evaljson {
|
|||||||
return ($success,$myjson);
|
return ($success,$myjson);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
# testet und decodiert einen übergebenen JSON-String
|
||||||
|
# Die dekodierten Daten werden zurück gegeben bzw. im
|
||||||
|
# SSCam-Kontext angepasst
|
||||||
|
###############################################################################
|
||||||
|
sub evalDecodeJSON {
|
||||||
|
my $hash = shift // carp $carpnohash && return;
|
||||||
|
my $myjson = shift // carp "got no string for JSON test" && return;
|
||||||
|
my $OpMode = $hash->{OPMODE};
|
||||||
|
my $name = $hash->{NAME};
|
||||||
|
|
||||||
|
my $success = 1;
|
||||||
|
my $decoded = q{};
|
||||||
|
|
||||||
|
if($nojsonmod) {
|
||||||
|
$success = 0;
|
||||||
|
Log3($name, 1, "$name - ERROR: Perl module 'JSON' is missing. You need to install it.");
|
||||||
|
return ($success,$myjson);
|
||||||
|
}
|
||||||
|
|
||||||
|
eval {$decoded = decode_json($myjson)} or do {
|
||||||
|
if( ($hash->{HELPER}{RUNVIEW} && $hash->{HELPER}{RUNVIEW} =~ m/^live_.*hls$/x) ||
|
||||||
|
$OpMode =~ m/^.*_hls$/x ) { # SSCam: HLS aktivate/deaktivate bringt kein JSON wenn bereits aktiviert/deaktiviert
|
||||||
|
Log3($name, 5, "$name - HLS-activation data return: $myjson");
|
||||||
|
|
||||||
|
if ($myjson =~ m/{"success":true}/x) {
|
||||||
|
$success = 1;
|
||||||
|
$myjson = '{"success":true}';
|
||||||
|
$decoded = decode_json($myjson);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
$success = 0;
|
||||||
|
$decoded = q{};
|
||||||
|
|
||||||
|
my $errorcode = "9000";
|
||||||
|
my $error = expErrors($hash,$errorcode); # Fehlertext zum Errorcode ermitteln
|
||||||
|
|
||||||
|
setReadingErrorState ($hash, $error, $errorcode);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
return ($success,$decoded);
|
||||||
|
}
|
||||||
|
|
||||||
####################################################################################
|
####################################################################################
|
||||||
# Login wenn keine oder ungültige Session-ID vorhanden ist
|
# Login wenn keine oder ungültige Session-ID vorhanden ist
|
||||||
# $apiref = Referenz zum API Hash
|
# $apiref = Referenz zum API Hash
|
||||||
|
Loading…
x
Reference in New Issue
Block a user