mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-05-04 22:19:38 +00:00
89_VCLIENT: bug wenn host nicht erreichbar behoben (FHEM stuerzte ab), update
git-svn-id: https://svn.fhem.de/fhem/trunk/fhem@19407 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
parent
01eb56520c
commit
f830f33ab6
@ -50,7 +50,7 @@
|
|||||||
#
|
#
|
||||||
# Version History
|
# Version History
|
||||||
#
|
#
|
||||||
# 2019-05-19 version 0.2.12: major bug removed when syswrite impossible
|
# 2019-05-19 version 0.2.12a: major bug removed when syswrite impossible
|
||||||
# 2019-03-27 version 0.2.11k: error message instead of debug
|
# 2019-03-27 version 0.2.11k: error message instead of debug
|
||||||
# 2019-01-28 version 0.2.11j: vcontrold-Neigung (Heizkurve) commands not rounded to full number anymore
|
# 2019-01-28 version 0.2.11j: vcontrold-Neigung (Heizkurve) commands not rounded to full number anymore
|
||||||
# 2019-01-28 version 0.2.11i: update starts now if device initiated (for example, via FHEM restart)
|
# 2019-01-28 version 0.2.11i: update starts now if device initiated (for example, via FHEM restart)
|
||||||
@ -76,7 +76,7 @@ use Scalar::Util qw(looks_like_number);
|
|||||||
use Blocking;
|
use Blocking;
|
||||||
use Data::Dumper;
|
use Data::Dumper;
|
||||||
|
|
||||||
my $VCLIENT_version = "0.2.12";
|
my $VCLIENT_version = "0.2.12a";
|
||||||
my $internal_update_interval = 0.1; #internal update interval for Write (time between two different write_to_Viessmann commands)
|
my $internal_update_interval = 0.1; #internal update interval for Write (time between two different write_to_Viessmann commands)
|
||||||
my $daily_commands_last_day_with_execution = strftime('%d', localtime)-1; #last day when daily commands (commands with type 'daily' ) were executed; set to today
|
my $daily_commands_last_day_with_execution = strftime('%d', localtime)-1; #last day when daily commands (commands with type 'daily' ) were executed; set to today
|
||||||
|
|
||||||
@ -624,11 +624,7 @@ sub VCLIENT_Set($@)
|
|||||||
|
|
||||||
#Hier steht jetzt der set-Befehl und, wenn es kein timer ist, das argument ($a[0] enthaelt $name)
|
#Hier steht jetzt der set-Befehl und, wenn es kein timer ist, das argument ($a[0] enthaelt $name)
|
||||||
my $cmd = $a[1];
|
my $cmd = $a[1];
|
||||||
|
|
||||||
if ($cmd ne "?") { #sonst tauchen ? in der Set-liste auf, diese "Kommandos" ignorieren
|
|
||||||
Log3 $name, 5, "$name: try to execute set command @a";
|
|
||||||
}
|
|
||||||
|
|
||||||
my $arg = "";
|
my $arg = "";
|
||||||
if (@a > 2){
|
if (@a > 2){
|
||||||
$arg = $a[2];
|
$arg = $a[2];
|
||||||
@ -684,7 +680,7 @@ sub VCLIENT_Set($@)
|
|||||||
#damit die Argumente ausgeblendet werden (siehe oben)
|
#damit die Argumente ausgeblendet werden (siehe oben)
|
||||||
my $other_set_cmds = "";
|
my $other_set_cmds = "";
|
||||||
foreach $cmd (keys %set_hash){
|
foreach $cmd (keys %set_hash){
|
||||||
if ($cmd ne "?"){
|
if ($cmd ne "?"){ #noetig, sonst tauchen die Kommandos nicht auf
|
||||||
$other_set_cmds .= $cmd.":";
|
$other_set_cmds .= $cmd.":";
|
||||||
if ( $set_hash{$cmd}[1] !~ m/.*\|.*/ ){
|
if ( $set_hash{$cmd}[1] !~ m/.*\|.*/ ){
|
||||||
$other_set_cmds .= $set_hash{$cmd}[1]." "; #kein timer-Befehl, moegliche Argumente anhaengen
|
$other_set_cmds .= $set_hash{$cmd}[1]." "; #kein timer-Befehl, moegliche Argumente anhaengen
|
||||||
@ -876,7 +872,7 @@ sub VCLIENT_Write($)
|
|||||||
{
|
{
|
||||||
my ($hash) = @_;
|
my ($hash) = @_;
|
||||||
my $name = $hash->{NAME};
|
my $name = $hash->{NAME};
|
||||||
my $msg = "";
|
my $msg = "OK";
|
||||||
|
|
||||||
#open device if not already open
|
#open device if not already open
|
||||||
if (!$hash->{CD}){
|
if (!$hash->{CD}){
|
||||||
@ -889,7 +885,7 @@ sub VCLIENT_Write($)
|
|||||||
VCLIENT_Set_New_Write_Interval($hash);
|
VCLIENT_Set_New_Write_Interval($hash);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
#read command queue,
|
#read command queue,
|
||||||
$last_cmd = shift @command_queue; #global variable, if this command was not recognized by vcontrold there must be an error message in VCLIENT_Read
|
$last_cmd = shift @command_queue; #global variable, if this command was not recognized by vcontrold there must be an error message in VCLIENT_Read
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user