/* DOMOTICZ MODULE Copyright (C) 2016-2017 by Xose PĂ©rez */ #if ENABLE_DOMOTICZ #include template void domoticzSend(const char * key, T nvalue, const char * svalue) { unsigned int idx = getSetting(key).toInt(); if (idx > 0) { char payload[128]; snprintf(payload, 128, "{\"idx\": %d, \"nvalue\": %s, \"svalue\": \"%s\"}", idx, String(nvalue).c_str(), svalue); mqttSendRaw(getSetting("dczTopicIn", DOMOTICZ_IN_TOPIC).c_str(), payload); } } template void domoticzSend(const char * key, T nvalue) { domoticzSend(key, nvalue, ""); } void relayDomoticzSend(unsigned int relayID) { char buffer[15]; sprintf(buffer, "dczRelayIdx%d", relayID); domoticzSend(buffer, relayStatus(relayID) ? "1" : "0"); } int relayFromIdx(unsigned int idx) { for (int relayID=0; relayID= 0) { unsigned long value = root["nvalue"]; DEBUG_MSG_P(PSTR("[DOMOTICZ] Received value %d for IDX %d\n"), value, idx); relayStatus(relayID, value == 1); } } } }; void domoticzSetup() { mqttRegister(_domoticzMqtt); } #endif