123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134 |
- void publishCurrentThermostatValues() {
- char tmp_topic_out[50];
- updateCurrentHeatingModeName();
- updateCurrentPresetName();
- char ch_setTemp[6];
- char ch_currSetTemp[6];
- dtostrf(setTemp, 1, 1, ch_setTemp );
- dtostrf(currSetTemp, 1, 1, ch_currSetTemp );
- Serial.print("heatingMode: '");
- Serial.print(heatingMode);
- Serial.println("'");
- Serial.print("set temp: '");
- Serial.print(ch_setTemp);
- Serial.println("'");
- Serial.print("current set temp: '");
- Serial.print(ch_currSetTemp);
- Serial.println("'");
- sprintf(tmp_topic_out, "%s/%s", mqtt_topic_out, "setTemp");
- mqttclient.publish(tmp_topic_out, ch_setTemp);
- yield();
- sprintf(tmp_topic_out, "%s/%s", mqtt_topic_out, "currSetTemp");
- mqttclient.publish(tmp_topic_out, ch_currSetTemp);
- yield();
- sprintf(tmp_topic_out, "%s/%s", mqtt_topic_out, "mode");
- char ch_heatingMode[3];
- sprintf(ch_heatingMode, "%d", heatingMode);
- mqttclient.publish(tmp_topic_out, ch_heatingMode);
- sprintf(tmp_topic_out, "%s/%s", mqtt_topic_out, "modeName");
- mqttclient.publish(tmp_topic_out, currentModeName);
- sprintf(tmp_topic_out, "%s/%s", mqtt_topic_out, "preset");
- char ch_preset[3];
- sprintf(ch_preset, "%d", preset);
- mqttclient.publish(tmp_topic_out, ch_preset);
- sprintf(tmp_topic_out, "%s/%s", mqtt_topic_out, "presetName");
- mqttclient.publish(tmp_topic_out, currentPresetName);
- sprintf(tmp_topic_out, "%s/%s", mqtt_topic_out, "presetHA");
- if (preset == 0) mqttclient.publish(tmp_topic_out, "none");
- else mqttclient.publish(tmp_topic_out, currentPresetName);
- yield();
- char ch_turnHeatingOn[5];
- if (turnHeatingOn) strcpy(ch_turnHeatingOn, "on");
- else strcpy(ch_turnHeatingOn, "off");
- sprintf(tmp_topic_out, "%s/%s", mqtt_topic_out, "heating");
- mqttclient.publish(tmp_topic_out, ch_turnHeatingOn);
- yield();
- char buf[101];
- sprintf(buf, "%d", heatingOnTime);
- sprintf(tmp_topic_out, "%s/%s", mqtt_topic_out, "heatingOnTime");
- mqttclient.publish(tmp_topic_out, buf);
- yield();
- sprintf(buf, "%d", heatingOffTime);
- sprintf(tmp_topic_out, "%s/%s", mqtt_topic_out, "heatingOffTime");
- mqttclient.publish(tmp_topic_out, buf);
- yield();
- }
- void publishCurrentSensorValues() {
- if ( lastTempUpdate != 0 && (millis() - lastTempUpdate) < 120000 ) {
- char tmp_topic_out[50];
- char temp_chararr[6];
- char hum_chararr[4];
- dtostrf(currTemp, 1, 1, temp_chararr );
- sprintf(hum_chararr, "%2i", currHum);
- Serial.print("temp: '");
- Serial.print(temp_chararr);
- Serial.println("'");
- sprintf(tmp_topic_out, "%s/%s", mqtt_topic_out, "temp");
- mqttclient.publish(tmp_topic_out, temp_chararr);
- yield();
- Serial.print("hum: '");
- Serial.print(currHum);
- Serial.println("'");
- sprintf(tmp_topic_out, "%s/%s", mqtt_topic_out, "hum");
- mqttclient.publish(tmp_topic_out, hum_chararr);
- yield();
- dtostrf(currTemp_raw, 1, 1, temp_chararr );
- sprintf(hum_chararr, "%2i", currHum_raw);
- Serial.print("temp_raw: '");
- Serial.print(temp_chararr);
- Serial.println("'");
- sprintf(tmp_topic_out, "%s/%s", mqtt_topic_out, "temp_raw");
- mqttclient.publish(tmp_topic_out, temp_chararr);
- yield();
- Serial.print("hum_raw: '");
- Serial.print(currHum_raw);
- Serial.println("'");
- sprintf(tmp_topic_out, "%s/%s", mqtt_topic_out, "hum_raw");
- mqttclient.publish(tmp_topic_out, hum_chararr);
- yield();
- }
- }
- void publishCurrentPIRValue() {
- char tmp_topic_out[50];
- sprintf(tmp_topic_out, "%s/%s", mqtt_topic_out, "PIR");
- // PIR internal topic
- if (PIRSensorOn) {
- mqttclient.publish(tmp_topic_out, mqtt_payload_pir_on);
- }
- else {
- mqttclient.publish(tmp_topic_out, mqtt_payload_pir_off);
- }
- // PIR additional topic
- if (strlen(mqtt_topic_pir) >= 4) {
- if (PIRSensorOn) {
- mqttclient.publish(mqtt_topic_pir, mqtt_payload_pir_on);
- }
- else {
- mqttclient.publish(mqtt_topic_pir, mqtt_payload_pir_off);
- }
- }
- }
|