From 27d23f049b9013cac5a8d710d5e1fb2b4b272ce4 Mon Sep 17 00:00:00 2001 From: Ben Fulton Date: Fri, 23 Jan 2026 23:17:49 -0500 Subject: [PATCH 1/8] Add Govee H5140 Smart CO2 Monitor decoder MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Adds support for the Govee H5140 Smart CO2 Monitor, which broadcasts temperature, humidity, and CO2 readings via BLE manufacturer data. Device identification: - Advertisement name pattern: GV5140XXXX - Manufacturer data: 20 hex characters (10 bytes) Data format (hex positions): - 0-7: Header (01000101) - 8-13: 24-bit combined temp/humidity value - 14-17: 16-bit CO2 in ppm (big-endian) - 18-19: Padding Decoding: - Temperature (°C): 24bit_value / 10000 - Humidity (%): (24bit_value % 1000) / 10 - CO2 (ppm): 16bit_value directly Tested with device GV5140A2D6 (MAC: 3C:DC:75:13:A2:D6) via OpenMQTTGateway on ESP32. --- src/devices.h | 2 ++ src/devices/H5140_json.h | 69 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 71 insertions(+) create mode 100644 src/devices/H5140_json.h diff --git a/src/devices.h b/src/devices.h index 7763e683..869b6c7f 100644 --- a/src/devices.h +++ b/src/devices.h @@ -36,6 +36,7 @@ #include "devices/H5074_json.h" #include "devices/H5102_json.h" #include "devices/H5106_json.h" +#include "devices/H5140_json.h" #include "devices/H5179_json.h" #include "devices/HHCCJCY10_json.h" #include "devices/HHCCJCY01HHCC_json.h" @@ -188,6 +189,7 @@ const char* _devices[][2] = { {_H5074_json, _H5074_json_props}, {_H5102_json, _H5102_json_props}, {_H5106_json, _H5106_json_props}, + {_H5140_json, _H5140_json_props}, {_H5179_json, _H5179_json_props}, {_H5179_json_N, _H5179_json_props}, {_HHCCJCY10_json, _HHCCJCY10_json_props}, diff --git a/src/devices/H5140_json.h b/src/devices/H5140_json.h new file mode 100644 index 00000000..b540b86b --- /dev/null +++ b/src/devices/H5140_json.h @@ -0,0 +1,69 @@ +const char* _H5140_json = "{\"brand\":\"Govee\",\"model\":\"Smart CO2 Monitor\",\"model_id\":\"H5140\",\"tag\":\"0301\",\"condition\":[\"name\",\"contain\",\"GV5140\"],\"properties\":{\"tempc\":{\"decoder\":[\"value_from_hex_data\",\"manufacturerdata\",8,6,false,false],\"post_proc\":[\"/\",10000]},\"hum\":{\"decoder\":[\"value_from_hex_data\",\"manufacturerdata\",8,6,false,false],\"post_proc\":[\"&\",2147483647,\"%\",1000,\"/\",10]},\"co2\":{\"decoder\":[\"value_from_hex_data\",\"manufacturerdata\",14,4,false,false]}}}"; +/* R""""( +{ + "brand":"Govee", + "model":"Smart CO2 Monitor", + "model_id":"H5140", + "tag":"0301", + "condition":["name", "contain", "GV5140"], + "properties":{ + "tempc":{ + "decoder":["value_from_hex_data", "manufacturerdata", 8, 6, false, false], + "post_proc":["/", 10000] + }, + "hum":{ + "decoder":["value_from_hex_data", "manufacturerdata", 8, 6, false, false], + "post_proc":["&", 2147483647, "%", 1000, "/", 10] + }, + "co2":{ + "decoder":["value_from_hex_data", "manufacturerdata", 14, 4, false, false] + } + } +})"""";*/ + +/* + * Govee H5140 Smart CO2 Monitor - BLE Manufacturer Data Format + * ============================================================= + * + * Advertisement name pattern: GV5140XXXX (where XXXX is device suffix) + * Manufacturer data: 20 hex characters (10 bytes) + * + * Byte layout: + * Positions 0-7: 01000101 (constant header) + * Positions 8-13: XXXXXX (24-bit combined temp/humidity) + * Positions 14-17: YYYY (16-bit CO2 in ppm, big-endian) + * Positions 18-19: 00 (padding/unknown) + * + * Decoding formulas: + * - temp_celsius = 24bit_value / 10000 + * - humidity_percent = (24bit_value % 1000) / 10 + * - co2_ppm = 16bit_value + * + * Example: 0100010103fcbf044c00 + * - Header: 01000101 + * - Temp/Hum: 03fcbf = 261311 decimal + * - Temperature: 261311 / 10000 = 26.13°C (79.04°F) + * - Humidity: (261311 % 1000) / 10 = 31.1% + * - CO2: 044c = 1100 ppm + * + * Tested with device: GV5140A2D6 (MAC: 3C:DC:75:13:A2:D6) + */ + +const char* _H5140_json_props = "{\"properties\":{\"tempc\":{\"unit\":\"°C\",\"name\":\"temperature\"},\"hum\":{\"unit\":\"%\",\"name\":\"humidity\"},\"co2\":{\"unit\":\"ppm\",\"name\":\"co2\"}}}"; +/*R""""( +{ + "properties":{ + "tempc":{ + "unit":"°C", + "name":"temperature" + }, + "hum":{ + "unit":"%", + "name":"humidity" + }, + "co2":{ + "unit":"ppm", + "name":"co2" + } + } +})"""";*/ From 319230a548546a99c8536f654d2c73f7f69fc4fe Mon Sep 17 00:00:00 2001 From: Ben Fulton Date: Fri, 23 Jan 2026 23:26:25 -0500 Subject: [PATCH 2/8] Fix H5140 condition to check manufacturer data header Add compound condition to verify: - Device name contains 'GV5140' - Manufacturer data length >= 20 hex chars - Manufacturer data starts with '01000101' header This prevents false matches against other devices' data. --- src/devices/H5140_json.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/devices/H5140_json.h b/src/devices/H5140_json.h index b540b86b..2b69f4ec 100644 --- a/src/devices/H5140_json.h +++ b/src/devices/H5140_json.h @@ -1,11 +1,11 @@ -const char* _H5140_json = "{\"brand\":\"Govee\",\"model\":\"Smart CO2 Monitor\",\"model_id\":\"H5140\",\"tag\":\"0301\",\"condition\":[\"name\",\"contain\",\"GV5140\"],\"properties\":{\"tempc\":{\"decoder\":[\"value_from_hex_data\",\"manufacturerdata\",8,6,false,false],\"post_proc\":[\"/\",10000]},\"hum\":{\"decoder\":[\"value_from_hex_data\",\"manufacturerdata\",8,6,false,false],\"post_proc\":[\"&\",2147483647,\"%\",1000,\"/\",10]},\"co2\":{\"decoder\":[\"value_from_hex_data\",\"manufacturerdata\",14,4,false,false]}}}"; +const char* _H5140_json = "{\"brand\":\"Govee\",\"model\":\"Smart CO2 Monitor\",\"model_id\":\"H5140\",\"tag\":\"0301\",\"condition\":[\"name\",\"contain\",\"GV5140\",\"&\",\"manufacturerdata\",\">=\",20,\"index\",0,\"01000101\"],\"properties\":{\"tempc\":{\"decoder\":[\"value_from_hex_data\",\"manufacturerdata\",8,6,false,false],\"post_proc\":[\"/\",10000]},\"hum\":{\"decoder\":[\"value_from_hex_data\",\"manufacturerdata\",8,6,false,false],\"post_proc\":[\"&\",2147483647,\"%\",1000,\"/\",10]},\"co2\":{\"decoder\":[\"value_from_hex_data\",\"manufacturerdata\",14,4,false,false]}}}"; /* R""""( { "brand":"Govee", "model":"Smart CO2 Monitor", "model_id":"H5140", "tag":"0301", - "condition":["name", "contain", "GV5140"], + "condition":["name", "contain", "GV5140", "&", "manufacturerdata", ">=", 20, "index", 0, "01000101"], "properties":{ "tempc":{ "decoder":["value_from_hex_data", "manufacturerdata", 8, 6, false, false], @@ -46,7 +46,7 @@ const char* _H5140_json = "{\"brand\":\"Govee\",\"model\":\"Smart CO2 Monitor\", * - Humidity: (261311 % 1000) / 10 = 31.1% * - CO2: 044c = 1100 ppm * - * Tested with device: GV5140A2D6 (MAC: 3C:DC:75:13:A2:D6) + * Tested with OpenMQTTGateway on ESP32 */ const char* _H5140_json_props = "{\"properties\":{\"tempc\":{\"unit\":\"°C\",\"name\":\"temperature\"},\"hum\":{\"unit\":\"%\",\"name\":\"humidity\"},\"co2\":{\"unit\":\"ppm\",\"name\":\"co2\"}}}"; From 45c2583d765b2bb92e55874a4b57249bb4b3483f Mon Sep 17 00:00:00 2001 From: Ben Fulton Date: Fri, 23 Jan 2026 23:33:05 -0500 Subject: [PATCH 3/8] Add H5140 to BLE_ID_NUM enum The enum must match the order of entries in the devices array. --- src/decoder.h | 1 + 1 file changed, 1 insertion(+) diff --git a/src/decoder.h b/src/decoder.h index 4772d73f..6a2c048b 100644 --- a/src/decoder.h +++ b/src/decoder.h @@ -92,6 +92,7 @@ class TheengsDecoder { H5074, H5102, H5106, + H5140, H5179, H5179_N, HHCCJCY10, From 5bb254d788a2864ebb75b5d56c918ef6dc1e5f1c Mon Sep 17 00:00:00 2001 From: Ben Fulton Date: Sat, 24 Jan 2026 11:35:25 -0500 Subject: [PATCH 4/8] Address review feedback for H5140 decoder MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Change tag from 0301 to 0f02 (AIR sensor classification) - Rename co2 property to carbon_dioxide for HA MQTT discovery - Add documentation page 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 --- docs/devices/H5140.md | 12 ++++++++++++ src/devices/H5140_json.h | 8 ++++---- 2 files changed, 16 insertions(+), 4 deletions(-) create mode 100644 docs/devices/H5140.md diff --git a/docs/devices/H5140.md b/docs/devices/H5140.md new file mode 100644 index 00000000..31927157 --- /dev/null +++ b/docs/devices/H5140.md @@ -0,0 +1,12 @@ +# Govee H5140 + +|Model Id|[H5140](https://github.com/theengs/decoder/blob/development/src/devices/H5140_json.h)| +|-|-| +|Brand|Govee| +|Model|Smart CO2 Monitor| +|Short Description|Air quality monitor with temperature, humidity and CO2| +|Communication|BLE broadcast| +|Frequency|2.4Ghz| +|Power Source|USB-C| +|Exchanged Data|temperature, humidity, CO2| +|Encrypted|No| diff --git a/src/devices/H5140_json.h b/src/devices/H5140_json.h index 2b69f4ec..3093fe19 100644 --- a/src/devices/H5140_json.h +++ b/src/devices/H5140_json.h @@ -1,10 +1,10 @@ -const char* _H5140_json = "{\"brand\":\"Govee\",\"model\":\"Smart CO2 Monitor\",\"model_id\":\"H5140\",\"tag\":\"0301\",\"condition\":[\"name\",\"contain\",\"GV5140\",\"&\",\"manufacturerdata\",\">=\",20,\"index\",0,\"01000101\"],\"properties\":{\"tempc\":{\"decoder\":[\"value_from_hex_data\",\"manufacturerdata\",8,6,false,false],\"post_proc\":[\"/\",10000]},\"hum\":{\"decoder\":[\"value_from_hex_data\",\"manufacturerdata\",8,6,false,false],\"post_proc\":[\"&\",2147483647,\"%\",1000,\"/\",10]},\"co2\":{\"decoder\":[\"value_from_hex_data\",\"manufacturerdata\",14,4,false,false]}}}"; +const char* _H5140_json = "{\"brand\":\"Govee\",\"model\":\"Smart CO2 Monitor\",\"model_id\":\"H5140\",\"tag\":\"0f02\",\"condition\":[\"name\",\"contain\",\"GV5140\",\"&\",\"manufacturerdata\",\">=\",20,\"index\",0,\"01000101\"],\"properties\":{\"tempc\":{\"decoder\":[\"value_from_hex_data\",\"manufacturerdata\",8,6,false,false],\"post_proc\":[\"/\",10000]},\"hum\":{\"decoder\":[\"value_from_hex_data\",\"manufacturerdata\",8,6,false,false],\"post_proc\":[\"&\",2147483647,\"%\",1000,\"/\",10]},\"co2\":{\"decoder\":[\"value_from_hex_data\",\"manufacturerdata\",14,4,false,false]}}}"; /* R""""( { "brand":"Govee", "model":"Smart CO2 Monitor", "model_id":"H5140", - "tag":"0301", + "tag":"0f02", "condition":["name", "contain", "GV5140", "&", "manufacturerdata", ">=", 20, "index", 0, "01000101"], "properties":{ "tempc":{ @@ -49,7 +49,7 @@ const char* _H5140_json = "{\"brand\":\"Govee\",\"model\":\"Smart CO2 Monitor\", * Tested with OpenMQTTGateway on ESP32 */ -const char* _H5140_json_props = "{\"properties\":{\"tempc\":{\"unit\":\"°C\",\"name\":\"temperature\"},\"hum\":{\"unit\":\"%\",\"name\":\"humidity\"},\"co2\":{\"unit\":\"ppm\",\"name\":\"co2\"}}}"; +const char* _H5140_json_props = "{\"properties\":{\"tempc\":{\"unit\":\"°C\",\"name\":\"temperature\"},\"hum\":{\"unit\":\"%\",\"name\":\"humidity\"},\"co2\":{\"unit\":\"ppm\",\"name\":\"carbon_dioxide\"}}}"; /*R""""( { "properties":{ @@ -63,7 +63,7 @@ const char* _H5140_json_props = "{\"properties\":{\"tempc\":{\"unit\":\"°C\",\" }, "co2":{ "unit":"ppm", - "name":"co2" + "name":"carbon_dioxide" } } })"""";*/ From 2b1a961335d8e28adfe30ba590794a0797c1e528 Mon Sep 17 00:00:00 2001 From: Ben Fulton Date: Sat, 24 Jan 2026 11:44:42 -0500 Subject: [PATCH 5/8] Add regression test cases for H5140 decoder MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 --- tests/BLE/test_ble.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/tests/BLE/test_ble.cpp b/tests/BLE/test_ble.cpp index 833dad55..bf2b444f 100644 --- a/tests/BLE/test_ble.cpp +++ b/tests/BLE/test_ble.cpp @@ -237,6 +237,9 @@ const char* expected_mfg[] = { "{\"brand\":\"Victron Energy\",\"model\":\"Smart Battery Sense\",\"model_id\":\"VICTSBS\",\"type\":\"ENRG\",\"track\":true,\"volt\":12.99,\"tempc\":17.5,\"tempf\":63.5,\"alarm_reason\":0}", "{\"brand\":\"Victron Energy\",\"model\":\"Smart Battery Sense\",\"model_id\":\"VICTSBS\",\"type\":\"ENRG\",\"track\":true,\"volt\":14.01,\"tempc\":17.5,\"tempf\":63.5,\"alarm_reason\":0}", "{\"brand\":\"Victron Energy\",\"model\":\"Smart Battery Sense\",\"model_id\":\"VICTSBS\",\"type\":\"ENRG\",\"track\":true,\"volt\":12.22,\"tempc\":22.5,\"tempf\":72.5,\"alarm_reason\":0}", + "{\"brand\":\"Govee\",\"model\":\"Smart CO2 Monitor\",\"model_id\":\"H5140\",\"type\":\"AIR\",\"cidc\":false,\"acts\":true,\"tempc\":26.1311,\"tempf\":79.03598,\"hum\":31.1,\"co2\":1100}", + "{\"brand\":\"Govee\",\"model\":\"Smart CO2 Monitor\",\"model_id\":\"H5140\",\"type\":\"AIR\",\"cidc\":false,\"acts\":true,\"tempc\":15.56,\"tempf\":60.008,\"hum\":60,\"co2\":500}", + "{\"brand\":\"Govee\",\"model\":\"Smart CO2 Monitor\",\"model_id\":\"H5140\",\"type\":\"AIR\",\"cidc\":false,\"acts\":true,\"tempc\":23.8048,\"tempf\":74.84864,\"hum\":4.8,\"co2\":1700}", }; const char* expected_name_uuid_mfgsvcdata[] = { @@ -828,6 +831,9 @@ const char* test_mfgdata[][3] = { {"Victron Smart Battery Sense", "", "e1021180a5a302ffff7bffff130500008971feff7fffffffff"}, {"Victron Smart Battery Sense", "", "e1021180a5a302ffff7bffff790500008971feff7fffffffff"}, {"Victron Smart Battery Sense", "", "e1021100a4a302ffff7cffffc60400007d73feff7fffffffff"}, + {"H5140", "GV5140_1234", "0100010103fcbf044c00"}, + {"H5140", "GV5140_1234", "01000101025fd001f400"}, + {"H5140", "GV5140_1234", "0100010103a1e006a400"}, }; TheengsDecoder::BLE_ID_NUM test_mfgdata_id_num[]{ @@ -1048,6 +1054,9 @@ TheengsDecoder::BLE_ID_NUM test_mfgdata_id_num[]{ TheengsDecoder::BLE_ID_NUM::VICTSBS, TheengsDecoder::BLE_ID_NUM::VICTSBS, TheengsDecoder::BLE_ID_NUM::VICTSBS, + TheengsDecoder::BLE_ID_NUM::H5140, + TheengsDecoder::BLE_ID_NUM::H5140, + TheengsDecoder::BLE_ID_NUM::H5140, }; // uuid test input [test name] [device name] [uuid] [manufacturer data] [service data] From e1822af4e517e9e86b100a038ab0b555a231e9b7 Mon Sep 17 00:00:00 2001 From: Ben Fulton Date: Sat, 24 Jan 2026 11:53:32 -0500 Subject: [PATCH 6/8] Fix test expected output - remove cidc field MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit H5140 uses a device-specific header (01000101) like H5179_N, not the standard Govee company ID (88ec). Since there's no company ID check in the condition, the decoder output doesn't include cidc. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 --- tests/BLE/test_ble.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tests/BLE/test_ble.cpp b/tests/BLE/test_ble.cpp index bf2b444f..0356ab09 100644 --- a/tests/BLE/test_ble.cpp +++ b/tests/BLE/test_ble.cpp @@ -237,9 +237,9 @@ const char* expected_mfg[] = { "{\"brand\":\"Victron Energy\",\"model\":\"Smart Battery Sense\",\"model_id\":\"VICTSBS\",\"type\":\"ENRG\",\"track\":true,\"volt\":12.99,\"tempc\":17.5,\"tempf\":63.5,\"alarm_reason\":0}", "{\"brand\":\"Victron Energy\",\"model\":\"Smart Battery Sense\",\"model_id\":\"VICTSBS\",\"type\":\"ENRG\",\"track\":true,\"volt\":14.01,\"tempc\":17.5,\"tempf\":63.5,\"alarm_reason\":0}", "{\"brand\":\"Victron Energy\",\"model\":\"Smart Battery Sense\",\"model_id\":\"VICTSBS\",\"type\":\"ENRG\",\"track\":true,\"volt\":12.22,\"tempc\":22.5,\"tempf\":72.5,\"alarm_reason\":0}", - "{\"brand\":\"Govee\",\"model\":\"Smart CO2 Monitor\",\"model_id\":\"H5140\",\"type\":\"AIR\",\"cidc\":false,\"acts\":true,\"tempc\":26.1311,\"tempf\":79.03598,\"hum\":31.1,\"co2\":1100}", - "{\"brand\":\"Govee\",\"model\":\"Smart CO2 Monitor\",\"model_id\":\"H5140\",\"type\":\"AIR\",\"cidc\":false,\"acts\":true,\"tempc\":15.56,\"tempf\":60.008,\"hum\":60,\"co2\":500}", - "{\"brand\":\"Govee\",\"model\":\"Smart CO2 Monitor\",\"model_id\":\"H5140\",\"type\":\"AIR\",\"cidc\":false,\"acts\":true,\"tempc\":23.8048,\"tempf\":74.84864,\"hum\":4.8,\"co2\":1700}", + "{\"brand\":\"Govee\",\"model\":\"Smart CO2 Monitor\",\"model_id\":\"H5140\",\"type\":\"AIR\",\"acts\":true,\"tempc\":26.1311,\"tempf\":79.03598,\"hum\":31.1,\"co2\":1100}", + "{\"brand\":\"Govee\",\"model\":\"Smart CO2 Monitor\",\"model_id\":\"H5140\",\"type\":\"AIR\",\"acts\":true,\"tempc\":15.56,\"tempf\":60.008,\"hum\":60,\"co2\":500}", + "{\"brand\":\"Govee\",\"model\":\"Smart CO2 Monitor\",\"model_id\":\"H5140\",\"type\":\"AIR\",\"acts\":true,\"tempc\":23.8048,\"tempf\":74.84864,\"hum\":4.8,\"co2\":1700}", }; const char* expected_name_uuid_mfgsvcdata[] = { From afe7ea72b17eb09393315ef6381c66e24696c082 Mon Sep 17 00:00:00 2001 From: DigiH <17110652+DigiH@users.noreply.github.com> Date: Sat, 24 Jan 2026 22:53:26 +0100 Subject: [PATCH 7/8] tag correction --- src/devices/H5140_json.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/devices/H5140_json.h b/src/devices/H5140_json.h index 3093fe19..2bf472ff 100644 --- a/src/devices/H5140_json.h +++ b/src/devices/H5140_json.h @@ -1,10 +1,10 @@ -const char* _H5140_json = "{\"brand\":\"Govee\",\"model\":\"Smart CO2 Monitor\",\"model_id\":\"H5140\",\"tag\":\"0f02\",\"condition\":[\"name\",\"contain\",\"GV5140\",\"&\",\"manufacturerdata\",\">=\",20,\"index\",0,\"01000101\"],\"properties\":{\"tempc\":{\"decoder\":[\"value_from_hex_data\",\"manufacturerdata\",8,6,false,false],\"post_proc\":[\"/\",10000]},\"hum\":{\"decoder\":[\"value_from_hex_data\",\"manufacturerdata\",8,6,false,false],\"post_proc\":[\"&\",2147483647,\"%\",1000,\"/\",10]},\"co2\":{\"decoder\":[\"value_from_hex_data\",\"manufacturerdata\",14,4,false,false]}}}"; +const char* _H5140_json = "{\"brand\":\"Govee\",\"model\":\"Smart CO2 Monitor\",\"model_id\":\"H5140\",\"tag\":\"0f03\",\"condition\":[\"name\",\"contain\",\"GV5140\",\"&\",\"manufacturerdata\",\">=\",20,\"index\",0,\"01000101\"],\"properties\":{\"tempc\":{\"decoder\":[\"value_from_hex_data\",\"manufacturerdata\",8,6,false,false],\"post_proc\":[\"/\",10000]},\"hum\":{\"decoder\":[\"value_from_hex_data\",\"manufacturerdata\",8,6,false,false],\"post_proc\":[\"&\",2147483647,\"%\",1000,\"/\",10]},\"co2\":{\"decoder\":[\"value_from_hex_data\",\"manufacturerdata\",14,4,false,false]}}}"; /* R""""( { "brand":"Govee", "model":"Smart CO2 Monitor", "model_id":"H5140", - "tag":"0f02", + "tag":"0f03", "condition":["name", "contain", "GV5140", "&", "manufacturerdata", ">=", 20, "index", 0, "01000101"], "properties":{ "tempc":{ From 29a02bfbfddc8e7dcf3dd7f178837fe928a3473e Mon Sep 17 00:00:00 2001 From: DigiH <17110652+DigiH@users.noreply.github.com> Date: Sat, 24 Jan 2026 22:56:52 +0100 Subject: [PATCH 8/8] test adjustment for tag correction --- tests/BLE/test_ble.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tests/BLE/test_ble.cpp b/tests/BLE/test_ble.cpp index 0356ab09..bf2b444f 100644 --- a/tests/BLE/test_ble.cpp +++ b/tests/BLE/test_ble.cpp @@ -237,9 +237,9 @@ const char* expected_mfg[] = { "{\"brand\":\"Victron Energy\",\"model\":\"Smart Battery Sense\",\"model_id\":\"VICTSBS\",\"type\":\"ENRG\",\"track\":true,\"volt\":12.99,\"tempc\":17.5,\"tempf\":63.5,\"alarm_reason\":0}", "{\"brand\":\"Victron Energy\",\"model\":\"Smart Battery Sense\",\"model_id\":\"VICTSBS\",\"type\":\"ENRG\",\"track\":true,\"volt\":14.01,\"tempc\":17.5,\"tempf\":63.5,\"alarm_reason\":0}", "{\"brand\":\"Victron Energy\",\"model\":\"Smart Battery Sense\",\"model_id\":\"VICTSBS\",\"type\":\"ENRG\",\"track\":true,\"volt\":12.22,\"tempc\":22.5,\"tempf\":72.5,\"alarm_reason\":0}", - "{\"brand\":\"Govee\",\"model\":\"Smart CO2 Monitor\",\"model_id\":\"H5140\",\"type\":\"AIR\",\"acts\":true,\"tempc\":26.1311,\"tempf\":79.03598,\"hum\":31.1,\"co2\":1100}", - "{\"brand\":\"Govee\",\"model\":\"Smart CO2 Monitor\",\"model_id\":\"H5140\",\"type\":\"AIR\",\"acts\":true,\"tempc\":15.56,\"tempf\":60.008,\"hum\":60,\"co2\":500}", - "{\"brand\":\"Govee\",\"model\":\"Smart CO2 Monitor\",\"model_id\":\"H5140\",\"type\":\"AIR\",\"acts\":true,\"tempc\":23.8048,\"tempf\":74.84864,\"hum\":4.8,\"co2\":1700}", + "{\"brand\":\"Govee\",\"model\":\"Smart CO2 Monitor\",\"model_id\":\"H5140\",\"type\":\"AIR\",\"cidc\":false,\"acts\":true,\"tempc\":26.1311,\"tempf\":79.03598,\"hum\":31.1,\"co2\":1100}", + "{\"brand\":\"Govee\",\"model\":\"Smart CO2 Monitor\",\"model_id\":\"H5140\",\"type\":\"AIR\",\"cidc\":false,\"acts\":true,\"tempc\":15.56,\"tempf\":60.008,\"hum\":60,\"co2\":500}", + "{\"brand\":\"Govee\",\"model\":\"Smart CO2 Monitor\",\"model_id\":\"H5140\",\"type\":\"AIR\",\"cidc\":false,\"acts\":true,\"tempc\":23.8048,\"tempf\":74.84864,\"hum\":4.8,\"co2\":1700}", }; const char* expected_name_uuid_mfgsvcdata[] = {