mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-03-10 09:16:53 +00:00
34_NUT.pm: Handling bei Verlust der Verbindung verbessert
git-svn-id: https://svn.fhem.de/fhem/trunk@8815 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
parent
e60f555262
commit
59563dfaf6
@ -1,5 +1,6 @@
|
|||||||
# Add changes at the top of the list. Keep it in ASCII, and 80-char wide.
|
# Add changes at the top of the list. Keep it in ASCII, and 80-char wide.
|
||||||
# Do not insert empty lines here, update check depends on it.
|
# Do not insert empty lines here, update check depends on it.
|
||||||
|
- bugfix: 34_NUT: Handling bei Verlust der Verbindung verbessert
|
||||||
- bugfix: 31_MilightDevice: Small changes from MarkusM
|
- bugfix: 31_MilightDevice: Small changes from MarkusM
|
||||||
(Remove dependency on Math::Round)
|
(Remove dependency on Math::Round)
|
||||||
- bugfix: 30_MilightBridge: Minor change to ping code to try and resolve
|
- bugfix: 30_MilightBridge: Minor change to ping code to try and resolve
|
||||||
|
@ -3,6 +3,8 @@
|
|||||||
#
|
#
|
||||||
# Abfrage einer UPS über die Network UPS Tools (www.networkupstools.org)
|
# Abfrage einer UPS über die Network UPS Tools (www.networkupstools.org)
|
||||||
#
|
#
|
||||||
|
# 14.06.2015
|
||||||
|
#
|
||||||
|
|
||||||
# DEFINE bla NUT <upsname> [<host>[:<port>]]
|
# DEFINE bla NUT <upsname> [<host>[:<port>]]
|
||||||
# Readings:
|
# Readings:
|
||||||
@ -134,6 +136,8 @@ sub NUT_Ready($) {
|
|||||||
sub NUT_DevInit($) {
|
sub NUT_DevInit($) {
|
||||||
my ($hash) = @_;
|
my ($hash) = @_;
|
||||||
|
|
||||||
|
$hash->{pollValState} = 0;
|
||||||
|
delete $hash->{WaitForAnswer};
|
||||||
NUT_ListVar($hash);
|
NUT_ListVar($hash);
|
||||||
|
|
||||||
return undef;
|
return undef;
|
||||||
@ -160,15 +164,27 @@ sub NUT_ListVar($) {
|
|||||||
my ($hash) = @_;
|
my ($hash) = @_;
|
||||||
my $name = $hash->{NAME};
|
my $name = $hash->{NAME};
|
||||||
|
|
||||||
if ($attr{$name}{disable} == 0) {
|
if ($hash->{STATE} eq 'disconnected') {
|
||||||
# TODO
|
# Verbindung scheint nicht zu bestehen
|
||||||
# - Mechanismus, der verhindert, dass lauter Befehle abgesendet werden, während er noch auf Antworten wartet
|
# Alles abbrechen, ich verlasse mich auf DevIo_OpenDev, dass es alles wieder anwirft, sobald die Verbindung wieder steht
|
||||||
|
$hash->{pollValState} = 0;
|
||||||
|
RemoveInternalTimer("pollTimer:".$name);
|
||||||
|
DevIo_OpenDev($hash, 1, "NUT_DevInit");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (not defined $attr{$name}{disable} or $attr{$name}{disable} == 0) {
|
||||||
|
|
||||||
if (defined $hash->{WaitForAnswer}) {
|
if (defined $hash->{WaitForAnswer}) {
|
||||||
# Keine Antwort auf die letzte Frage -> NUT nicht mehr erreichbar!
|
# Keine Antwort auf die letzte Frage -> NUT nicht mehr erreichbar!
|
||||||
Log3 $name, 3, "NUT antwortet nicht";
|
Log3 $name, 3, "NUT antwortet nicht";
|
||||||
DevIo_Disconnected($hash);
|
DevIo_Disconnected($hash);
|
||||||
DevIo_OpenDev($hash, 0, undef);
|
delete $hash->{DevIoJustClosed};
|
||||||
|
$hash->{pollValState} = 0;
|
||||||
|
delete $hash->{WaitForAnswer};
|
||||||
|
RemoveInternalTimer("pollTimer:".$name);
|
||||||
|
DevIo_OpenDev($hash, 1, "NUT_DevInit");
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
my $ups = $hash->{UpsName};
|
my $ups = $hash->{UpsName};
|
||||||
|
Loading…
x
Reference in New Issue
Block a user