Midroom2 added fade

This commit is contained in:
2023-01-29 10:39:02 +03:00
parent b2b2921390
commit 1aa51ad242
8 changed files with 195 additions and 5 deletions

View File

@@ -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 {