diff --git a/interface/src/project/DashboardData.tsx b/interface/src/project/DashboardData.tsx index 32edb00ad..e3009ccc4 100644 --- a/interface/src/project/DashboardData.tsx +++ b/interface/src/project/DashboardData.tsx @@ -235,7 +235,7 @@ const DashboardData: FC = () => { iconDown: }, sortFns: { - GPIO: (array) => array.sort((a, b) => a.i - b.i), + GPIO: (array) => array.sort((a, b) => a.g - b.g), NAME: (array) => array.sort((a, b) => a.n.localeCompare(b.n)), TYPE: (array) => array.sort((a, b) => a.t - b.t), VALUE: (array) => array.sort((a, b) => a.v.toString().localeCompare(b.v.toString())) @@ -531,7 +531,7 @@ const DashboardData: FC = () => { if (sensor) { try { const response = await EMSESP.writeSensor({ - id_str: sensor.id, + id: sensor.id, name: sensor.n, offset: sensor.o }); @@ -926,7 +926,7 @@ const DashboardData: FC = () => { {tableList.map((a: Analog) => ( updateAnalog(a)}> - {a.id} + {a.g} {a.n} {AnalogTypeNames[a.t]} {a.t ? formatValue(a.v, a.u) : ''} diff --git a/interface/src/project/types.ts b/interface/src/project/types.ts index b41053881..bcf2815e3 100644 --- a/interface/src/project/types.ts +++ b/interface/src/project/types.ts @@ -84,7 +84,7 @@ export interface Analog { } export interface WriteSensor { - id_str: string; + id: string; name: string; offset: number; } diff --git a/mock-api/server.js b/mock-api/server.js index 0a8bdd56f..d188ecc83 100644 --- a/mock-api/server.js +++ b/mock-api/server.js @@ -972,7 +972,7 @@ rest_server.post(EMSESP_WRITE_VALUE_ENDPOINT, (req, res) => { rest_server.post(EMSESP_WRITE_SENSOR_ENDPOINT, (req, res) => { const sensor = req.body console.log('Write sensor: ' + JSON.stringify(sensor)) - objIndex = emsesp_sensordata.sensors.findIndex((obj) => obj.id == sensor.id_str) + objIndex = emsesp_sensordata.sensors.findIndex((obj) => obj.id == sensor.id) emsesp_sensordata.sensors[objIndex].n = sensor.name emsesp_sensordata.sensors[objIndex].o = sensor.offset res.sendStatus(200) diff --git a/src/dallassensor.cpp b/src/dallassensor.cpp index bb4d3f624..a66e070fd 100644 --- a/src/dallassensor.cpp +++ b/src/dallassensor.cpp @@ -503,15 +503,15 @@ DallasSensor::Sensor::Sensor(const uint8_t addr[]) : internal_id_(((uint64_t)addr[0] << 48) | ((uint64_t)addr[1] << 40) | ((uint64_t)addr[2] << 32) | ((uint64_t)addr[3] << 24) | ((uint64_t)addr[4] << 16) | ((uint64_t)addr[5] << 8) | ((uint64_t)addr[6])) { // create ID string - char id_str[20]; - snprintf(id_str, - sizeof(id_str), + char id_s[20]; + snprintf(id_s, + sizeof(id_s), "%02X-%04X-%04X-%04X", (unsigned int)(internal_id_ >> 48) & 0xFF, (unsigned int)(internal_id_ >> 32) & 0xFFFF, (unsigned int)(internal_id_ >> 16) & 0xFFFF, (unsigned int)(internal_id_)&0xFFFF); - id_ = std::string(id_str); + id_ = std::string(id_s); name_ = std::string{}; // name (alias) is empty offset_ = 0; // 0 degrees offset } diff --git a/src/dallassensor.h b/src/dallassensor.h index 009db5fa6..78bc9e29d 100644 --- a/src/dallassensor.h +++ b/src/dallassensor.h @@ -150,7 +150,7 @@ class DallasSensor { bool temperature_convert_complete(); int16_t get_temperature_c(const uint8_t addr[]); uint64_t get_id(const uint8_t addr[]); - void remove_ha_topic(const std::string & id_str); + void remove_ha_topic(const std::string & id); bool command_info(const char * value, const int8_t id, JsonObject & output); bool command_commands(const char * value, const int8_t id, JsonObject & output); diff --git a/src/test/test.cpp b/src/test/test.cpp index 52e546ce4..029636c9f 100644 --- a/src/test/test.cpp +++ b/src/test/test.cpp @@ -550,6 +550,11 @@ void Test::run_test(uuid::console::Shell & shell, const std::string & cmd, const if (command == "dallas") { shell.printfln(F("Testing adding Dallas sensor")); + emsesp::EMSESP::dallassensor_.test(); + } + + if (command == "dallas_full") { + shell.printfln(F("Testing adding and changing Dallas sensor")); Mqtt::ha_enabled(true); Mqtt::nested_format(1); // Mqtt::nested_format(0);