diff --git a/code/espurna/config/general.h b/code/espurna/config/general.h index 4df05781..eb284f92 100644 --- a/code/espurna/config/general.h +++ b/code/espurna/config/general.h @@ -919,6 +919,14 @@ #define HOMEASSISTANT_PAYLOAD_OFF "0" // Payload for OFF and unavailable messages #endif +#ifndef HOMEASSISTANT_PAYLOAD_AVAILABLE +#define HOMEASSISTANT_PAYLOAD_AVAILABLE "1" // Payload for available messages +#endif + +#ifndef HOMEASSISTANT_PAYLOAD_NOT_AVAILABLE +#define HOMEASSISTANT_PAYLOAD_NOT_AVAILABLE "0" // Payload for available messages +#endif + // ----------------------------------------------------------------------------- // INFLUXDB // ----------------------------------------------------------------------------- diff --git a/code/espurna/homeassistant.ino b/code/espurna/homeassistant.ino index 52fe5c6c..593f4cdb 100644 --- a/code/espurna/homeassistant.ino +++ b/code/espurna/homeassistant.ino @@ -87,8 +87,8 @@ void _haSendSwitch(unsigned char i, JsonObject& config) { config["payload_on"] = String(HOMEASSISTANT_PAYLOAD_ON); config["payload_off"] = String(HOMEASSISTANT_PAYLOAD_OFF); config["availability_topic"] = mqttTopic(MQTT_TOPIC_STATUS, false); - config["payload_available"] = String(HOMEASSISTANT_PAYLOAD_ON); - config["payload_not_available"] = String(HOMEASSISTANT_PAYLOAD_OFF); + config["payload_available"] = String(HOMEASSISTANT_PAYLOAD_AVAILABLE); + config["payload_not_available"] = String(HOMEASSISTANT_PAYLOAD_NOT_AVAILABLE); } #if LIGHT_PROVIDER != LIGHT_PROVIDER_NONE diff --git a/code/espurna/sensors/PMSX003Sensor.h b/code/espurna/sensors/PMSX003Sensor.h index 64611418..2cfaf3f9 100644 --- a/code/espurna/sensors/PMSX003Sensor.h +++ b/code/espurna/sensors/PMSX003Sensor.h @@ -295,6 +295,9 @@ class PMSX003Sensor : public BaseSensor, PMSX003 { } } else { readCycle = -1; + if (_readCount == 1) { + wakeUp(); + } } #endif