initial commit
commit
e512288451
|
|
@ -0,0 +1,62 @@
|
|||
#include <Homie.h>
|
||||
#include <DHTesp.h>
|
||||
|
||||
const int DHT_PIN = 2;
|
||||
const int READ_INTERVAL = 3000;
|
||||
unsigned long lastReadingSent = 0;
|
||||
|
||||
|
||||
DHTesp dht;
|
||||
HomieNode temperatureNode("temperature", "Temperature", "temperature");
|
||||
HomieNode humidityNode("humidity", "Humidity", "humidity");
|
||||
HomieNode comfort("comfort", "Comfort", "comfort");
|
||||
|
||||
void loopHandler() {
|
||||
if (millis() - lastReadingSent >= READ_INTERVAL) {
|
||||
float humidity = dht.getHumidity();
|
||||
float temperature = dht.getTemperature();
|
||||
float dewPoint = dht.computeDewPoint(temperature, humidity);
|
||||
float absHumidity = dht.computeAbsoluteHumidity(temperature, humidity);
|
||||
|
||||
Homie.getLogger() << "Temperature: " << temperature << " °C" << endl;
|
||||
Homie.getLogger() << "Relative Humidity: " << humidity << "%" << endl;
|
||||
Homie.getLogger() << "Dew Point: " << dewPoint << " °C" << endl;
|
||||
Homie.getLogger() << "Absolute Humidity: " << absHumidity << "g/m³" << endl;
|
||||
|
||||
temperatureNode.setProperty("temp").send(String(temperature));
|
||||
humidityNode.setProperty("rh").send(String(humidity));
|
||||
humidityNode.setProperty("dewpoint").send(String(dewPoint));
|
||||
humidityNode.setProperty("abshumidity").send(String(absHumidity));
|
||||
|
||||
lastReadingSent = millis();
|
||||
}
|
||||
}
|
||||
|
||||
void setup() {
|
||||
Serial.begin(115200);
|
||||
Serial << endl << endl;
|
||||
Homie_setFirmware("awesome-dht11", "1.0.0");
|
||||
Homie.setLoopFunction(loopHandler);
|
||||
|
||||
temperatureNode.advertise("temp").setName("Temperature")
|
||||
.setDatatype("float")
|
||||
.setUnit("ºC");
|
||||
|
||||
humidityNode.advertise("rh").setName("Relative Humidity")
|
||||
.setDatatype("float")
|
||||
.setUnit("%");
|
||||
|
||||
humidityNode.advertise("dewpoint").setName("Dew Point")
|
||||
.setDatatype("float")
|
||||
.setUnit("ºC");
|
||||
|
||||
humidityNode.advertise("abshumidity").setName("Absolute")
|
||||
.setDatatype("float")
|
||||
.setUnit("g/m³");
|
||||
Homie.setup();
|
||||
dht.setup(DHT_PIN, DHTesp::DHT11);
|
||||
}
|
||||
|
||||
void loop() {
|
||||
Homie.loop();
|
||||
}
|
||||
Loading…
Reference in New Issue