don't publish dallas if there are none

This commit is contained in:
proddy
2021-04-21 20:37:45 +02:00
parent a633225ad2
commit 8ea48f7c81
4 changed files with 33 additions and 12 deletions

View File

@@ -68,6 +68,10 @@ class DallasSensor {
return sensorfails_; return sensorfails_;
} }
bool dallas_enabled() {
return (dallas_gpio_ != 0);
}
private: private:
static constexpr uint8_t MAX_SENSORS = 20; static constexpr uint8_t MAX_SENSORS = 20;

View File

@@ -511,6 +511,10 @@ void EMSESP::publish_other_values() {
} }
void EMSESP::publish_sensor_values(const bool time, const bool force) { void EMSESP::publish_sensor_values(const bool time, const bool force) {
if (!dallas_enabled()) {
return;
}
if (dallassensor_.updated_values() || time || force) { if (dallassensor_.updated_values() || time || force) {
dallassensor_.publish_values(force); dallassensor_.publish_values(force);
} }

View File

@@ -128,6 +128,10 @@ class EMSESP {
return dallassensor_.fails(); return dallassensor_.fails();
} }
static bool dallas_enabled() {
return (dallassensor_.dallas_enabled());
}
enum Watch : uint8_t { WATCH_OFF, WATCH_ON, WATCH_RAW, WATCH_UNKNOWN }; enum Watch : uint8_t { WATCH_OFF, WATCH_ON, WATCH_RAW, WATCH_UNKNOWN };
static void watch_id(uint16_t id); static void watch_id(uint16_t id);
static uint16_t watch_id() { static uint16_t watch_id() {

View File

@@ -448,13 +448,18 @@ void System::send_heartbeat() {
} }
doc["uptime"] = uuid::log::format_timestamp_ms(uuid::get_uptime_ms(), 3); doc["uptime"] = uuid::log::format_timestamp_ms(uuid::get_uptime_ms(), 3);
doc["uptime_sec"] = uuid::get_uptime_sec(); doc["uptime_sec"] = uuid::get_uptime_sec();
doc["mqttfails"] = Mqtt::publish_fails();
doc["rxreceived"] = EMSESP::rxservice_.telegram_count(); doc["rxreceived"] = EMSESP::rxservice_.telegram_count();
doc["rxfails"] = EMSESP::rxservice_.telegram_error_count(); doc["rxfails"] = EMSESP::rxservice_.telegram_error_count();
doc["txread"] = EMSESP::txservice_.telegram_read_count(); doc["txread"] = EMSESP::txservice_.telegram_read_count();
doc["txwrite"] = EMSESP::txservice_.telegram_write_count(); doc["txwrite"] = EMSESP::txservice_.telegram_write_count();
doc["txfails"] = EMSESP::txservice_.telegram_fail_count(); doc["txfails"] = EMSESP::txservice_.telegram_fail_count();
if (Mqtt::enabled()) {
doc["mqttfails"] = Mqtt::publish_fails();
}
if (EMSESP::dallas_enabled()) {
doc["dallasfails"] = EMSESP::sensor_fails(); doc["dallasfails"] = EMSESP::sensor_fails();
}
#ifndef EMSESP_STANDALONE #ifndef EMSESP_STANDALONE
doc["freemem"] = ESP.getFreeHeap(); doc["freemem"] = ESP.getFreeHeap();
#endif #endif
@@ -878,10 +883,14 @@ bool System::command_info(const char * value, const int8_t id, JsonObject & json
node["#tx fails"] = EMSESP::txservice_.telegram_fail_count(); node["#tx fails"] = EMSESP::txservice_.telegram_fail_count();
node["rx line quality"] = EMSESP::rxservice_.quality(); node["rx line quality"] = EMSESP::rxservice_.quality();
node["tx line quality"] = EMSESP::txservice_.quality(); node["tx line quality"] = EMSESP::txservice_.quality();
if (Mqtt::enabled()) {
node["#MQTT publish fails"] = Mqtt::publish_fails(); node["#MQTT publish fails"] = Mqtt::publish_fails();
}
if (EMSESP::dallas_enabled()) {
node["#dallas sensors"] = EMSESP::sensor_devices().size(); node["#dallas sensors"] = EMSESP::sensor_devices().size();
node["#dallas fails"] = EMSESP::sensor_fails(); node["#dallas fails"] = EMSESP::sensor_fails();
} }
}
JsonArray devices2 = json.createNestedArray("Devices"); JsonArray devices2 = json.createNestedArray("Devices");