From: David Woodhouse Date: Tue, 15 Oct 2024 18:30:42 +0000 (+0100) Subject: feed to Emoncms X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=cc81b8970999912236df36df9e5ca869a2e29385;p=users%2Fdwmw2%2Fesp32-pool.git feed to Emoncms --- diff --git a/heishamon.yaml b/heishamon.yaml index 86fd994..d3c18d0 100644 --- a/heishamon.yaml +++ b/heishamon.yaml @@ -98,15 +98,25 @@ mqtt: - lambda: |- int idx = x["idx"]; int nvalue = x["nvalue"].as(); + int svalue1; // ESP_LOGD("on_json_message", x["name"]); switch (idx) { - case 87: /* Boiler */ - int svalue1 = x["svalue1"].as(); + case 87: /* Boiler */ { + svalue1 = x["svalue1"].as(); 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(); + id(lounge_n_value).publish_state(svalue1 / 2.0); + break; + case 93: /* Lounge (TV) Valve */ + svalue1 = x["svalue1"].as(); + id(lounge_tv_value).publish_state(svalue1 / 2.0); break; } - topic: heishamon/log @@ -224,6 +234,19 @@ uart: # 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