Merge pull request #90 from Xeyame/dev

Some Fixes for HomeAssistant
This commit is contained in:
Proddy
2019-04-05 23:37:53 +02:00
committed by GitHub
2 changed files with 13 additions and 7 deletions

View File

@@ -1,9 +1,9 @@
- platform: mqtt - platform: mqtt
name: Thermostat name: Thermostat
modes: modes:
- low - "auto"
- manual - "manual"
- auto - "off"
mode_state_topic: "home/ems-esp/thermostat_data" mode_state_topic: "home/ems-esp/thermostat_data"
current_temperature_topic: "home/ems-esp/thermostat_data" current_temperature_topic: "home/ems-esp/thermostat_data"
@@ -20,6 +20,9 @@
- platform: mqtt - platform: mqtt
name: boiler name: boiler
modes:
- "on"
- "off"
min_temp: 40 min_temp: 40
max_temp: 60 max_temp: 60
temp_step: 1 temp_step: 1
@@ -28,3 +31,6 @@
temperature_command_topic: "home/ems-esp/boiler_cmd_wwtemp" temperature_command_topic: "home/ems-esp/boiler_cmd_wwtemp"
current_temperature_template: "{{ value_json.wWCurTmp }}" current_temperature_template: "{{ value_json.wWCurTmp }}"
temperature_state_template: "{{ value_json.wWSelTemp }}" temperature_state_template: "{{ value_json.wWSelTemp }}"
mode_state_template: "{{ value_json.wWActivated }}"
mode_state_topic: "home/ems-esp/boiler_data"
mode_command_topic: "home/ems-esp/wwactivated"

View File

@@ -1233,18 +1233,18 @@ void MQTTCallback(unsigned int type, const char * topic, const char * message) {
myDebug("MQTT topic: thermostat mode value %s", message); myDebug("MQTT topic: thermostat mode value %s", message);
if (strcmp((char *)message, "auto") == 0) { if (strcmp((char *)message, "auto") == 0) {
ems_setThermostatMode(2); ems_setThermostatMode(2);
} else if (strcmp((char *)message, "day") == 0) { } else if (strcmp((char *)message, "day") == 0 || strcmp((char *)message, "manual") == 0) {
ems_setThermostatMode(1); ems_setThermostatMode(1);
} else if (strcmp((char *)message, "night") == 0) { } else if (strcmp((char *)message, "night") == 0 || strcmp((char *)message, "off") == 0) {
ems_setThermostatMode(0); ems_setThermostatMode(0);
} }
} }
// wwActivated // wwActivated
if (strcmp(topic, TOPIC_BOILER_WWACTIVATED) == 0) { if (strcmp(topic, TOPIC_BOILER_WWACTIVATED) == 0) {
if (message[0] == '1') { if (message[0] == '1' || message[0] == 'on') {
ems_setWarmWaterActivated(true); ems_setWarmWaterActivated(true);
} else if (message[0] == '0') { } else if (message[0] == '0' || message[0] == 'off') {
ems_setWarmWaterActivated(false); ems_setWarmWaterActivated(false);
} }
} }