]> www.infradead.org Git - users/dwmw2/esp32-pool.git/commitdiff
feed to Emoncms
authorDavid Woodhouse <dwmw@amazon.co.uk>
Tue, 15 Oct 2024 18:30:42 +0000 (19:30 +0100)
committerDavid Woodhouse <dwmw@amazon.co.uk>
Tue, 15 Oct 2024 18:30:42 +0000 (19:30 +0100)
heishamon.yaml

index 86fd9948bf144cd91d73930fbd9ef6071ee2fa70..d3c18d046703245a2109bfd4bdcd687f15341cff 100644 (file)
@@ -98,15 +98,25 @@ mqtt:
         - 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
@@ -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