mirror of
https://github.com/arendst/Tasmota.git
synced 2025-08-06 09:27:41 +00:00
Refactor Sensors available
Refactor Sensors available
This commit is contained in:
parent
26d331501b
commit
676c7867ca
@ -331,12 +331,13 @@ void CmndStatus(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if ((0 == payload) || (4 == payload)) {
|
if ((0 == payload) || (4 == payload)) {
|
||||||
|
char sensors[LOGSZ];
|
||||||
Response_P(PSTR("{\"" D_CMND_STATUS D_STATUS4_MEMORY "\":{\"" D_JSON_PROGRAMSIZE "\":%d,\"" D_JSON_FREEMEMORY "\":%d,\"" D_JSON_HEAPSIZE "\":%d,\""
|
Response_P(PSTR("{\"" D_CMND_STATUS D_STATUS4_MEMORY "\":{\"" D_JSON_PROGRAMSIZE "\":%d,\"" D_JSON_FREEMEMORY "\":%d,\"" D_JSON_HEAPSIZE "\":%d,\""
|
||||||
D_JSON_PROGRAMFLASHSIZE "\":%d,\"" D_JSON_FLASHSIZE "\":%d,\"" D_JSON_FLASHCHIPID "\":\"%06X\",\"" D_JSON_FLASHMODE "\":%d,\""
|
D_JSON_PROGRAMFLASHSIZE "\":%d,\"" D_JSON_FLASHSIZE "\":%d,\"" D_JSON_FLASHCHIPID "\":\"%06X\",\"" D_JSON_FLASHMODE "\":%d,\""
|
||||||
D_JSON_FEATURES "\":[\"%08X\",\"%08X\",\"%08X\",\"%08X\",\"%08X\",\"%08X\"],\"Sensors\":%s}}"),
|
D_JSON_FEATURES "\":[\"%08X\",\"%08X\",\"%08X\",\"%08X\",\"%08X\",\"%08X\"],\"Sensors\":%s}}"),
|
||||||
ESP.getSketchSize()/1024, ESP.getFreeSketchSpace()/1024, ESP.getFreeHeap()/1024,
|
ESP.getSketchSize()/1024, ESP.getFreeSketchSpace()/1024, ESP.getFreeHeap()/1024,
|
||||||
ESP.getFlashChipSize()/1024, ESP.getFlashChipRealSize()/1024, ESP.getFlashChipId(), ESP.getFlashChipMode(),
|
ESP.getFlashChipSize()/1024, ESP.getFlashChipRealSize()/1024, ESP.getFlashChipId(), ESP.getFlashChipMode(),
|
||||||
LANGUAGE_LCID, feature_drv1, feature_drv2, feature_sns1, feature_sns2, feature5, XsnsSensorsAvailable().c_str());
|
LANGUAGE_LCID, feature_drv1, feature_drv2, feature_sns1, feature_sns2, feature5, XsnsSensorsAvailable(sensors));
|
||||||
MqttPublishPrefixTopic_P(option, PSTR(D_CMND_STATUS "4"));
|
MqttPublishPrefixTopic_P(option, PSTR(D_CMND_STATUS "4"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -828,19 +828,19 @@ bool XsnsEnabled(uint32_t sns_index)
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
String XsnsSensorsAvailable()
|
char* XsnsSensorsAvailable(char* sensors)
|
||||||
{
|
{
|
||||||
String sensors = F("[");
|
// Return string like [2,3,4,5,8,9,10,14,15,17,18,34]
|
||||||
|
sensors[0] = '\0';
|
||||||
for (uint32_t i = 0; i < sizeof(kXsnsList); i++) {
|
for (uint32_t i = 0; i < sizeof(kXsnsList); i++) {
|
||||||
#ifdef XFUNC_PTR_IN_ROM
|
#ifdef XFUNC_PTR_IN_ROM
|
||||||
uint32_t sensorid = pgm_read_byte(kXsnsList + i);
|
uint32_t sensorid = pgm_read_byte(kXsnsList + i);
|
||||||
#else
|
#else
|
||||||
uint32_t sensorid = kXsnsList[i];
|
uint32_t sensorid = kXsnsList[i];
|
||||||
#endif
|
#endif
|
||||||
if (i) { sensors += F(","); }
|
snprintf_P(sensors, LOGSZ, PSTR("%s%s%d"), sensors, (!i) ? "[" : ",", sensorid);
|
||||||
sensors += String(sensorid);
|
|
||||||
}
|
}
|
||||||
sensors += F("]");
|
snprintf_P(sensors, LOGSZ, PSTR("%s]"), sensors); // Max length is about 3 x 96 < LOGSZ
|
||||||
return sensors;
|
return sensors;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user