New Electro, Midroom autocalibration co2

This commit is contained in:
2022-09-04 16:56:17 +03:00
parent 69dc135376
commit 0dfa29d7c6
4 changed files with 131 additions and 64 deletions

View File

@@ -105,6 +105,7 @@ void setup() {
}
//Serial1.println();
mhz19.begin(Serial);
mhz19.autoCalibration();
Wire.begin();
bool status = bme.begin(BME280_ADDRESS_ALTERNATE);
if (!status) {
@@ -312,19 +313,19 @@ void onMqttConnect(bool sessionPresent) {
switch (ac.getMode())
{
case kToshibaAcAuto:
v[0] = 'A';
v[0] = 'A';
break;
case kToshibaAcCool:
v[0] = 'C';
v[0] = 'C';
break;
case kToshibaAcDry:
v[0] = 'D';
break;
case kToshibaAcFan:
v[0] = 'F';
v[0] = 'F';
break;
case kToshibaAcHeat:
v[0] = 'H';
v[0] = 'H';
break;
default:
@@ -382,18 +383,58 @@ void onMqttMessage(char* topic, char* payload, AsyncMqttClientMessageProperties
EEPROM.put(4, mvDelaySet);
EEPROM.commit();
}
if(strcmp(topic, TOPIC"/mode") == 0){
if(strcmp(topic, TOPIC"/ac/mode") == 0){
char m = payload[0];
switch (m)
{
case 'A':
ac.setMode(kToshibaAcAuto);
break;
case 'C':
ac.setMode(kToshibaAcCool);
break;
case 'D':
ac.setMode(kToshibaAcDry);
break;
case 'F':
ac.setMode(kToshibaAcFan);
break;
case 'H':
ac.setMode(kToshibaAcHeat);
break;
default:
break;
}
mvDelaySet = atoi(payload);
ac.send();
}
if(strcmp(topic, TOPIC"/ac/temp") == 0){
int setTemp = atoi(payload);
ac.setTemp(setTemp);
ac.send();
}
if(strcmp(topic, TOPIC"/ac/state") == 0){
char m = payload[0];
if(m == '1') ac.on();
else ac.off();
ac.send();
}
if(strcmp(topic, TOPIC"/ac/eco") == 0){
char m = payload[0];
if(m == '1'){
ac.setEcono(true);
mqttClient.publish(TOPIC"/ac/turbo", 1, false, "0");
}
else ac.setEcono(false);
ac.send();
}
if(strcmp(topic, TOPIC"/ac/turbo") == 0){
char m = payload[0];
if(m == '1'){
ac.setTurbo(true);
mqttClient.publish(TOPIC"/ac/eco", 1, false, "0");
}
else ac.setTurbo(false);
ac.send();
}
b_led.start();
}