Query enable switch added

This commit is contained in:
Wolfgang Hottgenroth 2015-08-14 22:44:52 +02:00
parent 95f1743fc4
commit 60809b0cdb
3 changed files with 22 additions and 11 deletions

View File

@ -48,6 +48,12 @@ String MqttConfig::exec(String params) {
*out << " about a minute" << endl; *out << " about a minute" << endl;
*out << endl; *out << endl;
res = "done"; res = "done";
} else if (params.equalsIgnoreCase("enable")) {
mc->m_enabled = true;
*out << "Query timers enabled" << endl;
} else if (params.equalsIgnoreCase("disable")) {
mc->m_enabled = false;
*out << "Query timers disabled" << endl;
} else if (params.equalsIgnoreCase("show")) { } else if (params.equalsIgnoreCase("show")) {
// show the whole configuration // show the whole configuration
*out << "Clients:" << endl; *out << "Clients:" << endl;
@ -190,7 +196,8 @@ Metro secondTick = Metro(1000);
MqttClient::MqttClient(RequestSender *meterBusMaster) : m_mqttConfig(this), MqttClient::MqttClient(RequestSender *meterBusMaster) : m_mqttConfig(this),
m_client(), m_meterBusMaster(meterBusMaster), m_mqttClient(m_client), m_client(), m_meterBusMaster(meterBusMaster), m_mqttClient(m_client),
m_disconnectState(3), m_disconnectTime(millis()), m_uptime(0), m_deviceIdx(0) m_disconnectState(3), m_disconnectTime(millis()), m_uptime(0), m_deviceIdx(0),
m_enabled(true)
{ {
} }
@ -266,7 +273,6 @@ void MqttClient::begin(CmdServer *cmdServer) {
configRead(CONFIG_DEVICES, sizeof(m_mbusDevTuple), (char*)m_mbusDevTuple); configRead(CONFIG_DEVICES, sizeof(m_mbusDevTuple), (char*)m_mbusDevTuple);
configRead(CONFIG_BROKER, sizeof(m_mqttBroker), (char*)m_mqttBroker); configRead(CONFIG_BROKER, sizeof(m_mqttBroker), (char*)m_mqttBroker);
m_mqttClient = PubSubClient(m_mqttBroker, MQTT_PORT, callback, m_client); m_mqttClient = PubSubClient(m_mqttBroker, MQTT_PORT, callback, m_client);
} }
@ -333,15 +339,19 @@ void MqttClient::exec() {
Serial << "no MQTT connection, message lost: " << msg << endl; Serial << "no MQTT connection, message lost: " << msg << endl;
} }
for (uint8_t i = 0; i < NUM_OF_DEVICES; i++) { if (m_enabled) {
if ((m_mbusDevTuple[i].address != 0) && (m_mbusDevTuple[i].timer != 0)) { for (uint8_t i = 0; i < NUM_OF_DEVICES; i++) {
m_mbusDevTuple[i].timer -= 1; if ((m_mbusDevTuple[i].address != 0) && (m_mbusDevTuple[i].timer != 0)) {
// if (m_mbusDevTuple[i].timer == 0) { m_mbusDevTuple[i].timer -= 1;
// Serial << "Device " << m_mbusDevTuple[i].token << " ready for request" << endl; // if (m_mbusDevTuple[i].timer == 0) {
// } else { // Serial << "Device " << m_mbusDevTuple[i].token << " ready for request" << endl;
// Serial << "Device " << m_mbusDevTuple[i].token << " not ready for request, timer: " << m_mbusDevTuple[i].timer << endl; // } else {
// } // Serial << "Device " << m_mbusDevTuple[i].token << " not ready for request, timer: " << m_mbusDevTuple[i].timer << endl;
// }
}
} }
} else {
Serial << "Query timers disabled" << endl;
} }
//Serial << "while in" << endl; //Serial << "while in" << endl;

View File

@ -57,6 +57,7 @@ private:
uint32_t m_disconnectTime; uint32_t m_disconnectTime;
uint32_t m_uptime; uint32_t m_uptime;
uint8_t m_deviceIdx; uint8_t m_deviceIdx;
bool m_enabled;
mbusDevTuple_t m_mbusDevTuple[NUM_OF_DEVICES]; mbusDevTuple_t m_mbusDevTuple[NUM_OF_DEVICES];
}; };

View File

@ -16,7 +16,7 @@ String InfoCmd::exec(String params) {
*out << "Meterbus Hub" << endl; *out << "Meterbus Hub" << endl;
*out << "Project/Repo: NetMeterBusMaster2" << endl; *out << "Project/Repo: NetMeterBusMaster2" << endl;
*out << "Repo Tag: First_MQTT" << endl; *out << "Repo Tag: Second_MQTT" << endl;
return "done"; return "done";
} }