Midroom2 added fade
This commit is contained in:
@@ -45,6 +45,7 @@ unsigned long stled;
|
||||
float wMins = 0;
|
||||
bool led, aht_pesent;
|
||||
uint8_t led_intense;
|
||||
uint8_t ledLev;
|
||||
|
||||
ESP8266WiFiMulti wifiMulti;
|
||||
AsyncWebServer server(80);
|
||||
@@ -119,10 +120,20 @@ void loop() {
|
||||
static unsigned long cRun = millis();
|
||||
static byte bSecs = 0;
|
||||
char v[10];
|
||||
static unsigned long ledTime = 0;
|
||||
|
||||
ArduinoOTA.handle();
|
||||
if(!client.connected()) reconnect();
|
||||
client.loop();
|
||||
if(led == false){
|
||||
if(ledLev > 0){
|
||||
if(ledTime + 50 <= millis()){
|
||||
ledTime = millis();
|
||||
ledLev--;
|
||||
}
|
||||
analogWrite(LAMP_OUT, ledLev);
|
||||
}
|
||||
}
|
||||
if(stled + 300 < millis()){
|
||||
digitalWrite(LED_WRK, HIGH);
|
||||
}
|
||||
@@ -130,8 +141,8 @@ void loop() {
|
||||
cRun = millis();
|
||||
Serial.println(bSecs);
|
||||
if(aht_pesent && aht.getEvent(&humidity, &temp)){
|
||||
temp_out += (temp.temperature- temp_out) / 120;
|
||||
hum_out += (humidity.relative_humidity - hum_out) /120;
|
||||
temp_out += (temp.temperature- temp_out) / 600;
|
||||
hum_out += (humidity.relative_humidity - hum_out) / 600;
|
||||
WebSerial.print("Temp: ");
|
||||
WebSerial.print(temp.temperature);
|
||||
WebSerial.print(", Hum: ");
|
||||
@@ -181,7 +192,7 @@ void callback(char* topic, byte* payload, unsigned int length) {
|
||||
Serial.print(topic);
|
||||
Serial.print("] ");
|
||||
char val[4];
|
||||
int i;
|
||||
unsigned int i;
|
||||
for (i = 0; i < length && i < 3; i++) {
|
||||
val[i] = (char)payload[i];
|
||||
}
|
||||
@@ -189,11 +200,12 @@ void callback(char* topic, byte* payload, unsigned int length) {
|
||||
val[i] = 0;
|
||||
if(strcmp(topic, TOPIC"light") == 0){
|
||||
if(atoi(val) == 0){
|
||||
analogWrite(LAMP_OUT, 0);
|
||||
//analogWrite(LAMP_OUT, 0);
|
||||
led = false;
|
||||
}
|
||||
else{
|
||||
analogWrite(LAMP_OUT, led_intense);
|
||||
ledLev = led_intense;
|
||||
led = true;
|
||||
}
|
||||
}
|
||||
@@ -211,11 +223,12 @@ void reconnect() {
|
||||
digitalWrite(LED_MQ, LOW);
|
||||
Serial.print("Attempting MQTT connection...");
|
||||
// Attempt to connect
|
||||
if (client.connect(HOSTNAME)) {
|
||||
if (client.connect(HOSTNAME, TOPIC"online", 1, 1, "0")) {
|
||||
Serial.println("connected");
|
||||
char v[4];
|
||||
client.publish(TOPIC"ledint", itoa(int(led_intense / 2.55), v, 10));
|
||||
client.publish(TOPIC"light", led ? "1" : "0");
|
||||
client.publish(TOPIC"online", "1");
|
||||
client.subscribe(TOPIC"light");
|
||||
client.subscribe(TOPIC"ledint");
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user