- lambda: |-
int idx = x["idx"];
int nvalue = x["nvalue"].as<int>();
+ int svalue1;
// ESP_LOGD("on_json_message", x["name"]);
switch (idx) {
- case 87: /* Boiler */
- int svalue1 = x["svalue1"].as<int>();
+ case 87: /* Boiler */ {
+ svalue1 = x["svalue1"].as<int>();
float flow_temp = 30.0 + (svalue1 / 8.0);
- ESP_LOGI("Evohome", "Boiler set to %d/%d, flow temp %f °C", nvalue, svalue1, flow_temp);
+ ESP_LOGI("Evohome", "Boiler set to %d/%d, flow temp NOT set to %f °C", nvalue, svalue1, flow_temp);
id(tell_domo_svalue)->execute(908, std::to_string(svalue1/2));
- id(ecodan_instance).set_flow_target_temperature(flow_temp, esphome::ecodan::SetZone::ZONE_1);
+ //id(ecodan_instance).set_flow_target_temperature(flow_temp, esphome::ecodan::SetZone::ZONE_1);
+ break;
+ }
+ case 94: /* Lounge (N) Valve */
+ svalue1 = x["svalue1"].as<int>();
+ id(lounge_n_value).publish_state(svalue1 / 2.0);
+ break;
+ case 93: /* Lounge (TV) Valve */
+ svalue1 = x["svalue1"].as<int>();
+ id(lounge_tv_value).publish_state(svalue1 / 2.0);
break;
}
- topic: heishamon/log
# carrier_duty_percent: 100
sensor:
+ - platform: template
+ id: lounge_n_value
+ name: "Lounge (N) valve"
+ unit_of_measurement: "%"
+ accuracy_decimals: 0
+ state_class: measurement
+ - platform: template
+ id: lounge_tv_value
+ name: "Lounge (TV) valve"
+ unit_of_measurement: "%"
+ accuracy_decimals: 0
+ state_class: measurement
+
- platform: internal_temperature
name: ${internal_esp_temperature}
entity_category: diagnostic