mirror of
https://github.com/fhem/fhem-mirror.git
synced 2025-05-04 22:19:38 +00:00
MYSENSORS_DEVICE: fix enqueing method for some message types
git-svn-id: https://svn.fhem.de/fhem/trunk/fhem@18443 2b470e98-0d58-463d-a4d8-8e2adae1ed80
This commit is contained in:
parent
db0acc4c57
commit
b38c46fb10
1
CHANGED
1
CHANGED
@ -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: 10_MYSENSORS_DEVICE: fix enqueing method, Forum:#96518
|
||||||
- new: 98_inotify: initial release
|
- new: 98_inotify: initial release
|
||||||
- new: 30_tradfri: initial release
|
- new: 30_tradfri: initial release
|
||||||
- new: 42_npmjs: Module to update Node.js modules via NPM package manager
|
- new: 42_npmjs: Module to update Node.js modules via NPM package manager
|
||||||
|
@ -415,6 +415,7 @@ sub onStreamMessage($$) {
|
|||||||
if (defined $hash->{OTA_Chan76_IODev}) {
|
if (defined $hash->{OTA_Chan76_IODev}) {
|
||||||
sendMessage($hash->{OTA_Chan76_IODev}, radioId => $hash->{radioId}, childId => 255, ack => 0, cmd => C_STREAM, subType => ST_FIRMWARE_RESPONSE, payload => $payload);
|
sendMessage($hash->{OTA_Chan76_IODev}, radioId => $hash->{radioId}, childId => 255, ack => 0, cmd => C_STREAM, subType => ST_FIRMWARE_RESPONSE, payload => $payload);
|
||||||
} else {
|
} else {
|
||||||
|
$hash->{nowSleeping} = 0 if $hash->{nowSleeping};
|
||||||
sendClientMessage($hash, childId => 255, cmd => C_STREAM, ack => 0, subType => ST_FIRMWARE_RESPONSE, payload => $payload);
|
sendClientMessage($hash, childId => 255, cmd => C_STREAM, ack => 0, subType => ST_FIRMWARE_RESPONSE, payload => $payload);
|
||||||
}
|
}
|
||||||
readingsSingleUpdate($hash, "state", "updating", 1) unless ($hash->{STATE} eq "updating");
|
readingsSingleUpdate($hash, "state", "updating", 1) unless ($hash->{STATE} eq "updating");
|
||||||
@ -687,6 +688,7 @@ sub onRequestMessage($$) {
|
|||||||
my ($hash,$msg) = @_;
|
my ($hash,$msg) = @_;
|
||||||
eval {
|
eval {
|
||||||
my ($readingname,$val) = rawToMappedReading($hash, $msg->{subType}, $msg->{childId}, $msg->{payload});
|
my ($readingname,$val) = rawToMappedReading($hash, $msg->{subType}, $msg->{childId}, $msg->{payload});
|
||||||
|
$hash->{nowSleeping} = 0 if $hash->{nowSleeping};
|
||||||
sendClientMessage($hash,
|
sendClientMessage($hash,
|
||||||
childId => $msg->{childId},
|
childId => $msg->{childId},
|
||||||
cmd => C_SET,
|
cmd => C_SET,
|
||||||
@ -716,6 +718,7 @@ sub onInternalMessage($$) {
|
|||||||
if ($msg->{ack}) {
|
if ($msg->{ack}) {
|
||||||
Log3 ($name, 4, "MYSENSORS_DEVICE $name: response to time-request acknowledged");
|
Log3 ($name, 4, "MYSENSORS_DEVICE $name: response to time-request acknowledged");
|
||||||
} else {
|
} else {
|
||||||
|
$hash->{nowSleeping} = 0 if $hash->{nowSleeping};
|
||||||
sendClientMessage($hash,cmd => C_INTERNAL, childId => 255, subType => I_TIME, payload => time);
|
sendClientMessage($hash,cmd => C_INTERNAL, childId => 255, subType => I_TIME, payload => time);
|
||||||
Log3 ($name, 4, "MYSENSORS_DEVICE $name: update of time requested");
|
Log3 ($name, 4, "MYSENSORS_DEVICE $name: update of time requested");
|
||||||
}
|
}
|
||||||
@ -742,6 +745,7 @@ sub onInternalMessage($$) {
|
|||||||
Log3 ($name, 4, "MYSENSORS_DEVICE $name: response to config-request acknowledged");
|
Log3 ($name, 4, "MYSENSORS_DEVICE $name: response to config-request acknowledged");
|
||||||
} else {
|
} else {
|
||||||
readingsSingleUpdate($hash, "parentId", $msg->{payload}, 1);
|
readingsSingleUpdate($hash, "parentId", $msg->{payload}, 1);
|
||||||
|
$hash->{nowSleeping} = 0 if $hash->{nowSleeping};
|
||||||
sendClientMessage($hash,cmd => C_INTERNAL, ack => 0, childId => 255, subType => I_CONFIG, payload => AttrVal($name,"config","M"));
|
sendClientMessage($hash,cmd => C_INTERNAL, ack => 0, childId => 255, subType => I_CONFIG, payload => AttrVal($name,"config","M"));
|
||||||
Log3 ($name, 4, "MYSENSORS_DEVICE $name: respond to config-request, node parentId = " . $msg->{payload});
|
Log3 ($name, 4, "MYSENSORS_DEVICE $name: respond to config-request, node parentId = " . $msg->{payload});
|
||||||
}
|
}
|
||||||
@ -925,7 +929,7 @@ sub sendClientMessage($%) {
|
|||||||
Log3 ($name,5,"$name is not sleeping, sending message!");
|
Log3 ($name,5,"$name is not sleeping, sending message!");
|
||||||
$hash->{retainedMessages}=scalar(@$messages) if (defined $hash->{retainedMessages});
|
$hash->{retainedMessages}=scalar(@$messages) if (defined $hash->{retainedMessages});
|
||||||
} else {
|
} else {
|
||||||
Log3 ($name,5,"$name is sleeping, enqueueing message! ");
|
Log3 ($name,5,"$name is sleeping, enqueing message! ");
|
||||||
#write to queue if node is asleep
|
#write to queue if node is asleep
|
||||||
unless (defined $hash->{retainedMessages}) {
|
unless (defined $hash->{retainedMessages}) {
|
||||||
$messages = {messages => [%msg]};
|
$messages = {messages => [%msg]};
|
||||||
|
Loading…
x
Reference in New Issue
Block a user