mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-04-20 07:16:03 +00:00
70_WINCONNECT: bugfixes
git-svn-id: https://svn.fhem.de/fhem/trunk@15003 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
parent
959d944fbd
commit
8828ff3981
@ -1,6 +1,11 @@
|
|||||||
# $Id$
|
# $Id$
|
||||||
############################################################################
|
############################################################################
|
||||||
# 2017-08-31, v0.0.22
|
# 2017-09-04, v0.0.23
|
||||||
|
#
|
||||||
|
# v0.0.23
|
||||||
|
# - BUFIX: [FEHMModul] - Download gitlab GUI
|
||||||
|
# - CHANGE [FEHMModul] - Download Timeout WinControl.exe = 30
|
||||||
|
# - FEATURE: [WinWebGUI] - NotifyIcon - Kontextmenü
|
||||||
#
|
#
|
||||||
# v0.0.22
|
# v0.0.22
|
||||||
# - BUFIX: [FEHMModul] - Überreste Attribut "http-noshutdown" entfernt
|
# - BUFIX: [FEHMModul] - Überreste Attribut "http-noshutdown" entfernt
|
||||||
@ -175,8 +180,9 @@ sub WINCONNECT_Define($$);
|
|||||||
sub WINCONNECT_Undefine($$);
|
sub WINCONNECT_Undefine($$);
|
||||||
|
|
||||||
# Autoupdateinformationen
|
# Autoupdateinformationen
|
||||||
my $DownloadURL = "https://gitlab.com/michael.winkler/winconnect/raw/master/WinControl_0.0.22.exe";
|
my $DownloadURL = "https://gitlab.com/michael.winkler/winconnect/raw/master/WinControl_0.0.23.exe";
|
||||||
my $DownloadVer = "0.0.22";
|
my $DownloadVer = "0.0.23";
|
||||||
|
my $DownloadError = "";
|
||||||
|
|
||||||
###################################
|
###################################
|
||||||
sub WINCONNECT_Initialize($) {
|
sub WINCONNECT_Initialize($) {
|
||||||
@ -200,8 +206,9 @@ sub WINCONNECT_GetStatus($;$) {
|
|||||||
my ($hash, $update ) = @_;
|
my ($hash, $update ) = @_;
|
||||||
my $name = $hash->{NAME};
|
my $name = $hash->{NAME};
|
||||||
my $interval = $hash->{INTERVAL};
|
my $interval = $hash->{INTERVAL};
|
||||||
|
my $filemtime = "";
|
||||||
|
|
||||||
#RemoveInternalTimer($hash);
|
if ($DownloadError eq "") {$DownloadError = ReadingsVal( $name, "wincontrol_error", "Start WinControl....." );}
|
||||||
|
|
||||||
return if ( AttrVal( $name, "disable", 0 ) == 1 );
|
return if ( AttrVal( $name, "disable", 0 ) == 1 );
|
||||||
|
|
||||||
@ -209,7 +216,8 @@ sub WINCONNECT_GetStatus($;$) {
|
|||||||
|
|
||||||
my $filename = '././www/winconnect/WinControl.exe';
|
my $filename = '././www/winconnect/WinControl.exe';
|
||||||
my $filedir = '././www/winconnect';
|
my $filedir = '././www/winconnect';
|
||||||
my $filemtime = (stat $filename)[9];
|
|
||||||
|
if ((-e $filename)) {$filemtime = (stat $filename)[9];}
|
||||||
|
|
||||||
Log3 $name, 5, "WINCONNECT $name: called function WINCONNECT_GetStatus()";
|
Log3 $name, 5, "WINCONNECT $name: called function WINCONNECT_GetStatus()";
|
||||||
Log3 $name, 5, "WINCONNECT $name: filename = " . $filename . " filemtime = " . $filemtime;
|
Log3 $name, 5, "WINCONNECT $name: filename = " . $filename . " filemtime = " . $filemtime;
|
||||||
@ -228,6 +236,9 @@ sub WINCONNECT_GetStatus($;$) {
|
|||||||
readingsBulkUpdateIfChanged( $hash, "wincontrol_update", $filemtime );
|
readingsBulkUpdateIfChanged( $hash, "wincontrol_update", $filemtime );
|
||||||
readingsBulkUpdateIfChanged( $hash, "model", ReadingsVal( $name, "os_Name", "unbekannt" ) );
|
readingsBulkUpdateIfChanged( $hash, "model", ReadingsVal( $name, "os_Name", "unbekannt" ) );
|
||||||
|
|
||||||
|
#WinControl Last Error
|
||||||
|
readingsBulkUpdateIfChanged( $hash, "wincontrol_error", $DownloadError);
|
||||||
|
|
||||||
readingsEndUpdate( $hash, 1 );
|
readingsEndUpdate( $hash, 1 );
|
||||||
|
|
||||||
#Autoupdatefile von Gitlab herunterladen
|
#Autoupdatefile von Gitlab herunterladen
|
||||||
@ -236,15 +247,19 @@ sub WINCONNECT_GetStatus($;$) {
|
|||||||
#Verzeichnis anlegen
|
#Verzeichnis anlegen
|
||||||
mkdir($filedir, 0777) unless(-d $filedir );
|
mkdir($filedir, 0777) unless(-d $filedir );
|
||||||
|
|
||||||
open (FILE, ">". $filename . "_" .$DownloadVer);
|
if(!open (FILE, ">". $filename . "_" .$DownloadVer)) {
|
||||||
print FILE $name;
|
$DownloadError = "WINCONNECT [NEW] Download ERROR Can't write = " .$filename . "_" .$DownloadVer . " Error=" .$!;
|
||||||
close (FILE);
|
Log3 $name, 5, $DownloadError;
|
||||||
|
}else {
|
||||||
|
|
||||||
#Delete old version
|
print FILE $name;
|
||||||
if ((-e $filename)) {unlink $filename}
|
close (FILE);
|
||||||
|
|
||||||
Log3 $name, 0, "WINCONNECT [NEW] Download new version URL = $DownloadURL";
|
#Delete old version
|
||||||
HttpUtils_NonblockingGet({url=>$DownloadURL, timeout=>5, hash=>$hash, service=>"autoupdate", callback=>\&WINCONNECT_GetNewVersion});
|
if ((-e $filename)) {unlink $filename}
|
||||||
|
|
||||||
|
HttpUtils_NonblockingGet({url=>$DownloadURL, timeout=>30, hash=>$hash, service=>"autoupdate", callback=>\&WINCONNECT_GetNewVersion});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( !$update ) {
|
if ( !$update ) {
|
||||||
@ -264,18 +279,28 @@ sub WINCONNECT_GetNewVersion($$$) {
|
|||||||
my $CheckFile = $filename . "_" .$DownloadVer;
|
my $CheckFile = $filename . "_" .$DownloadVer;
|
||||||
|
|
||||||
# Download neue Datei
|
# Download neue Datei
|
||||||
open(FH, ">$filename");
|
if(!open(FH, ">$filename")) {
|
||||||
print FH $data;
|
$DownloadError = "Download ERROR Can't write = " .$filename . " Error=" .$!;
|
||||||
close(FH);
|
Log3 $name, 5, "WINCONNECT [NEW] " .$DownloadError;
|
||||||
|
|
||||||
# Prüfen ob die Dateigröße passt!
|
#Delete Version Flag
|
||||||
if ((stat $filename)[7] < 600000) {
|
if ((-e $CheckFile)) {unlink $CheckFile}
|
||||||
#Download fehlgeschlagen!
|
|
||||||
if (-e $CheckFile) {unlink ($CheckFile) or die $!;}
|
|
||||||
|
|
||||||
Log3 $name, 0, "WINCONNECT [NEW] Download ERROR file to small. Filesize = " . (stat $filename)[7];
|
|
||||||
}else{
|
}else{
|
||||||
Log3 $name, 0, "WINCONNECT [NEW] Download new version OK";
|
print FH $data;
|
||||||
|
close(FH);
|
||||||
|
|
||||||
|
# Prüfen ob die Dateigröße passt!
|
||||||
|
if ((stat $filename)[7] < 600000) {
|
||||||
|
#Download fehlgeschlagen!
|
||||||
|
if ((-e $CheckFile)) {unlink $CheckFile}
|
||||||
|
|
||||||
|
$DownloadError = "Download ERROR file to small. Filesize = " . (stat $filename)[7];
|
||||||
|
Log3 $name, 5, "WINCONNECT [NEW] " .$DownloadError;
|
||||||
|
}else{
|
||||||
|
Log3 $name, 0, "WINCONNECT [NEW] Download new version URL = $DownloadURL";
|
||||||
|
Log3 $name, 0, "WINCONNECT [NEW] Download new version OK";
|
||||||
|
$DownloadError = "Download new version = $DownloadVer";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user