From a2e9a97a49740551c9e1119d8407283ab72a1f6a Mon Sep 17 00:00:00 2001 From: Otto Winter Date: Sat, 1 Dec 2018 09:42:13 +0100 Subject: [PATCH] Fix PMSX003 (#300) --- src/esphomelib/sensor/pmsx003.cpp | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/esphomelib/sensor/pmsx003.cpp b/src/esphomelib/sensor/pmsx003.cpp index cd28363a..92412507 100644 --- a/src/esphomelib/sensor/pmsx003.cpp +++ b/src/esphomelib/sensor/pmsx003.cpp @@ -58,16 +58,20 @@ optional PMSX003Component::check_byte_() { if (index == 3) { bool length_matches = false; switch (this->type_) { - case PMSX003_TYPE_X003:length_matches = payload_length == 13 || payload_length == 9; + case PMSX003_TYPE_X003: + length_matches = payload_length == 28 || payload_length == 20; break; - case PMSX003_TYPE_5003T:length_matches = payload_length == 13; + case PMSX003_TYPE_5003T: + length_matches = payload_length == 28; break; - case PMSX003_TYPE_5003ST:length_matches = payload_length == 17; + case PMSX003_TYPE_5003ST: + length_matches = payload_length == 36; break; } if (!length_matches) { - ESP_LOGW(TAG, "PMSX003 length doesn't match. Are you using the correct PMSX003 type?"); + ESP_LOGW(TAG, "PMSX003 length %u doesn't match. Are you using the correct PMSX003 type?", + payload_length); return false; } return true;