Somfy: fix Sensor validity w/o sun/wind

If there's no sun/win, the rolling code value will be 0.

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
This commit is contained in:
Álvaro Fernández Rojas 2023-06-02 07:38:25 +02:00
parent 6b4c2241e1
commit 2671c5aa60

View file

@ -161,7 +161,9 @@ void somfy_frame_t::decodeFrame(byte* frame) {
}
this->rollingCode = decoded[3] + (decoded[2] << 8);
this->remoteAddress = (decoded[6] + (decoded[5] << 8) + (decoded[4] << 16));
this->valid = this->checksum == checksum && this->remoteAddress > 0 && this->remoteAddress < 16777215 && this->rollingCode > 0;
this->valid = this->checksum == checksum && this->remoteAddress > 0 && this->remoteAddress < 16777215;
if (this->cmd != somfy_commands::Sensor)
this->valid &= (this->rollingCode > 0);
if (this->valid) {
// Check for valid command.
switch (this->cmd) {