Skip to content

Commit 07be1c3

Browse files
markxrobertsDigiH
andauthored
Add Feasycom BP104D, json HA compatible (#647)
* Add Feasycom BP104D, json HA compatible * Update tests * Update PR_build.yml --------- Co-authored-by: DigiH <17110652+DigiH@users.noreply.github.com>
1 parent 4c0ebbe commit 07be1c3

2 files changed

Lines changed: 9 additions & 8 deletions

File tree

src/devices/FEASY_json.h

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
const char* _FEASY_json = "{\"brand\":\"Feasycom\",\"model\":\"Beacon\",\"model_id\":\"FEASY\",\"tag\":\"0608\",\"condition\":[\"servicedata\",\"=\",22,\"&\",\"uuid\",\"index\",0,\"fff0\"],\"properties\":{\"beaconmodel\":{\"decoder\":[\"string_from_hex_data\",\"servicedata\",0,2,false,false],\"lookup\":[\"15\",\"BP102\",\"19\",\"BP109\",\"1a\",\"BP103\",\"1b\",\"BP104\",\"1c\",\"BP201\",\"1d\",\"BP106\",\"1e\",\"BP101\",\"24\",\"BP120\",\"27\",\"BP108\",\"28\",\"BP108N\",\"29\",\"BP103B\"]},\"batt\":{\"condition\":[\"servicedata\",20,\"!\",\"65\"],\"decoder\":[\"value_from_hex_data\",\"servicedata\",20,2,false,false],\"post_proc\":[\"&\",127]},\"plugged-in\":{\"condition\":[\"servicedata\",20,\"65\"],\"decoder\":[\"static_value\",true]},\"_plugged-in\":{\"condition\":[\"servicedata\",20,\"!\",\"65\"],\"decoder\":[\"static_value\",false]},\"mac\":{\"decoder\":[\"mac_from_hex_data\",\"servicedata\",8]}}}";
1+
const char* _FEASY_json = "{\"brand\":\"Feasycom\",\"model\":\"Beacon\",\"model_id\":\"FEASY\",\"tag\":\"0608\",\"condition\":[\"servicedata\",\"=\",22,\"&\",\"uuid\",\"index\",0,\"fff0\"],\"properties\":{\"beaconmodel\":{\"decoder\":[\"string_from_hex_data\",\"servicedata\",0,2,false,false],\"lookup\":[\"15\",\"BP102\",\"19\",\"BP109\",\"1a\",\"BP103\",\"1b\",\"BP104\",\"1c\",\"BP201\",\"1d\",\"BP106\",\"1e\",\"BP101\",\"24\",\"BP120\",\"27\",\"BP108\",\"28\",\"BP108N\",\"29\",\"BP103B\",\"46\",\"BP104D\"]},\"batt\":{\"condition\":[\"servicedata\",20,\"!\",\"65\"],\"decoder\":[\"value_from_hex_data\",\"servicedata\",20,2,false,false],\"post_proc\":[\"&\",127]},\"plugged_in\":{\"condition\":[\"servicedata\",20,\"65\"],\"decoder\":[\"static_value\",true]},\"_plugged_in\":{\"condition\":[\"servicedata\",20,\"!\",\"65\"],\"decoder\":[\"static_value\",false]},\"mac\":{\"decoder\":[\"mac_from_hex_data\",\"servicedata\",8]}}}";
22

33
/*R""""(
44
{
@@ -20,18 +20,19 @@ const char* _FEASY_json = "{\"brand\":\"Feasycom\",\"model\":\"Beacon\",\"model_
2020
"24", "BP120",
2121
"27", "BP108",
2222
"28", "BP108N",
23-
"29", "BP103B"]
23+
"29", "BP103B",
24+
"46", "BP104D"]
2425
},
2526
"batt":{
2627
"condition":["servicedata", 20, "!", "65"],
2728
"decoder":["value_from_hex_data", "servicedata", 20, 2, false, false],
2829
"post_proc":["&", 127]
2930
},
30-
"plugged-in":{
31+
"plugged_in":{
3132
"condition":["servicedata", 20, "65"],
3233
"decoder":["static_value", true]
3334
},
34-
"_plugged-in":{
35+
"_plugged_in":{
3536
"condition":["servicedata", 20, "!", "65"],
3637
"decoder":["static_value", false]
3738
},
@@ -41,7 +42,7 @@ const char* _FEASY_json = "{\"brand\":\"Feasycom\",\"model\":\"Beacon\",\"model_
4142
}
4243
})"""";*/
4344

44-
const char* _FEASY_json_props = "{\"properties\":{\"beaconmodel\":{\"unit\":\"string\",\"name\":\"beacon model\"},\"batt\":{\"unit\":\"%\",\"name\":\"battery\"},\"plugged-in\":{\"unit\":\"status\",\"name\":\"plug\"},\"mac\":{\"unit\":\"string\",\"name\":\"MAC address\"}}}";
45+
const char* _FEASY_json_props = "{\"properties\":{\"beaconmodel\":{\"unit\":\"string\",\"name\":\"beacon model\"},\"batt\":{\"unit\":\"%\",\"name\":\"battery\"},\"plugged_in\":{\"unit\":\"status\",\"name\":\"plug\"},\"mac\":{\"unit\":\"string\",\"name\":\"MAC address\"}}}";
4546
/*R""""(
4647
{
4748
"properties":{
@@ -53,7 +54,7 @@ const char* _FEASY_json_props = "{\"properties\":{\"beaconmodel\":{\"unit\":\"st
5354
"unit":"%",
5455
"name":"battery"
5556
},
56-
"plugged-in":{
57+
"plugged_in":{
5758
"unit":"status",
5859
"name":"plug"
5960
},

tests/BLE/test_ble.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -505,8 +505,8 @@ const char* expected_uuid[] = {
505505
"{\"brand\":\"NodOn\",\"model\":\"NIU smart button\",\"model_id\":\"NODONNIU\",\"type\":\"BTN\",\"acts\":true,\"cont\":true,\"track\":true,\"button\":9,\"color\":\"Lagoon\",\"batt\":96}",
506506
"{\"brand\":\"NodOn\",\"model\":\"NIU smart button\",\"model_id\":\"NODONNIU\",\"type\":\"BTN\",\"acts\":true,\"cont\":true,\"track\":true,\"button\":10,\"color\":\"Lagoon\",\"batt\":98}",
507507
"{\"brand\":\"NodOn\",\"model\":\"NIU smart button\",\"model_id\":\"NODONNIU\",\"type\":\"BTN\",\"acts\":true,\"cont\":true,\"track\":true,\"button\":3,\"color\":\"CozyGrey\",\"batt\":89}",
508-
"{\"brand\":\"Feasycom\",\"model\":\"Beacon\",\"model_id\":\"FEASY\",\"type\":\"BCON\",\"track\":true,\"beaconmodel\":\"BP108\",\"batt\":100,\"plugged-in\":false,\"mac\":\"AA:BB:CC:DD:EE:FF\"}",
509-
"{\"brand\":\"Feasycom\",\"model\":\"Beacon\",\"model_id\":\"FEASY\",\"type\":\"BCON\",\"track\":true,\"beaconmodel\":\"BP103B\",\"batt\":100,\"plugged-in\":false,\"mac\":\"AA:BB:CC:DD:EE:FF\"}",
508+
"{\"brand\":\"Feasycom\",\"model\":\"Beacon\",\"model_id\":\"FEASY\",\"type\":\"BCON\",\"track\":true,\"beaconmodel\":\"BP108\",\"batt\":100,\"plugged_in\":false,\"mac\":\"AA:BB:CC:DD:EE:FF\"}",
509+
"{\"brand\":\"Feasycom\",\"model\":\"Beacon\",\"model_id\":\"FEASY\",\"type\":\"BCON\",\"track\":true,\"beaconmodel\":\"BP103B\",\"batt\":100,\"plugged_in\":false,\"mac\":\"AA:BB:CC:DD:EE:FF\"}",
510510
"{\"brand\":\"BlueCharm\",\"model\":\"Beacon 08/04P/021\",\"model_id\":\"KSensor\",\"type\":\"ACEL\",\"track\":true,\"tempc\":21.25,\"tempf\":70.25,\"accx\":4,\"accy\":-12,\"accz\":-4,\"volt\":3.05}",
511511
"{\"brand\":\"ClearGrass/Qingping\",\"model\":\"Thermo-Hygrometer CO2 Detector\",\"model_id\":\"CGP22C\",\"type\":\"AIR\",\"tempc\":25.5,\"tempf\":77.9,\"hum\":43.1,\"co2\":583,\"batt\":100,\"mac\":\"AA:BB:CC:DD:EE:FF\"}",
512512
};

0 commit comments

Comments
 (0)