# \[APP\]\[Pro\] MELCloud (Classic), MELCloud Home & MELCloud Extension - Take control of your heat pump

**URL:** <https://community.homey.app/t/app-pro-melcloud-classic-melcloud-home-melcloud-extension-take-control-of-your-heat-pump/73094>\
**Category:** Apps\
**Tags:** app, devices, homey-pro\
**Created:** [December 4, 2022, 9:18pm UTC](https://community.homey.app/t/app-pro-melcloud-classic-melcloud-home-melcloud-extension-take-control-of-your-heat-pump/73094 "2022-12-04T21:18:26Z")\
**Posts on this page:** 20\
**Page:** 5

<div class="post-metadata">

**Author:** ![OlivierZal](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/olivierzal/32/61843_2.png) [@OlivierZal](https://community.homey.app/u/OlivierZal)\
**Post date:** [November 23, 2023, 3:19pm UTC](https://community.homey.app/t/app-pro-melcloud-classic-melcloud-home-melcloud-extension-take-control-of-your-heat-pump/73094/81 "2023-11-23T15:19:46Z")

</div>

The application works as expected:

```auto
2023-11-23T14:34:34.893Z [log] [MELCloudExtensionApp] [#listener.cleaned_all] Rengör alla lyssnare.
2023-11-23T14:34:34.926Z [log] [MELCloudExtensionApp] [#listener.created] Skapa en lyssnare för läget av Hero LN35.
2023-11-23T14:37:08.164Z [log] [MELCloudExtensionApp] [#listener.listened] Lyssnar på läget av Hero LN35: cool.
2023-11-23T14:37:08.193Z [log] [MELCloudExtensionApp] [#listener.created] Skapa en lyssnare för temperaturen av Utomhus temperatur.
2023-11-23T14:37:08.216Z [log] [MELCloudExtensionApp] [#listener.created] Skapa en lyssnare för temperaturen av Hero LN35.
2023-11-23T14:37:08.235Z [log] [MELCloudExtensionApp] [#target_temperature.saved] Sparar temperaturen av Hero LN35: 17 °C.
2023-11-23T14:37:08.278Z [log] [MELCloudExtensionApp] [#target_temperature.calculated] Beräknar temperaturen av Hero LN35: 17 °C (från tröskeln 17 °C och utomhustemperaturen 1.5 °C).
2023-11-23T14:37:09.135Z [log] [MELCloudExtensionApp] [#listener.cleaned] Rengör lyssnare för läget av Hero LN35.
2023-11-23T14:37:09.145Z [log] [MELCloudExtensionApp] [#listener.cleaned] Rengör lyssnare för temperaturen av Hero LN35.
2023-11-23T14:37:09.185Z [log] [MELCloudExtensionApp] [#target_temperature.reverted] Återställer temperaturen av Hero LN35: 17 °C.
2023-11-23T14:37:09.198Z [log] [MELCloudExtensionApp] [#listener.cleaned] Rengör lyssnare för temperaturen av Utomhus temperatur.
2023-11-23T14:37:09.213Z [log] [MELCloudExtensionApp] [#listener.cleaned_all] Rengör alla lyssnare.
2023-11-23T14:37:09.235Z [log] [MELCloudExtensionApp] [#listener.created] Skapa en lyssnare för läget av Hero LN35.
2023-11-23T14:37:09.253Z [log] [MELCloudExtensionApp] [#listener.created] Skapa en lyssnare för temperaturen av Utomhus temperatur.
2023-11-23T14:37:09.272Z [log] [MELCloudExtensionApp] [#listener.created] Skapa en lyssnare för temperaturen av Hero LN35.
2023-11-23T14:37:09.289Z [log] [MELCloudExtensionApp] [#target_temperature.saved] Sparar temperaturen av Hero LN35: 17 °C.
2023-11-23T14:37:09.422Z [log] [MELCloudExtensionApp] [#target_temperature.calculated] Beräknar temperaturen av Hero LN35: 17 °C (från tröskeln 17 °C och utomhustemperaturen 1.5 °C).
2023-11-23T14:37:58.015Z [log] [MELCloudExtensionApp] [#listener.listened] Lyssnar på läget av Hero LN35: heat.
2023-11-23T14:37:58.027Z [log] [MELCloudExtensionApp] [#listener.cleaned] Rengör lyssnare för temperaturen av Hero LN35.
2023-11-23T14:37:58.073Z [log] [MELCloudExtensionApp] [#target_temperature.reverted] Återställer temperaturen av Hero LN35: 17 °C.

```

You can see that:

- when you switch to **cool** mode, listeners are created
- the current target temperature is saved (in order to revert to it once you leave the **cool** mode)
- a new target temperature is calculated based on outdoor temperature, but what I forgot to precise is that the gap is taken into account only when the outdoor temperature minus 8° _exceeds_ the target temperature (because your winter use case or even a summer use case where outdoor temperature would be 20° with climatisation to 35° don’t make sense in real life)
- when you switch back to **heat** mode, some listeners are cleaned and the target temperature is reverted to the saved initial target temperature

---

<div class="post-metadata">

**Author:** ![OlivierZal](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/olivierzal/32/61843_2.png) [@OlivierZal](https://community.homey.app/u/OlivierZal)\
**Post date:** [November 23, 2023, 3:22pm UTC](https://community.homey.app/t/app-pro-melcloud-classic-melcloud-home-melcloud-extension-take-control-of-your-heat-pump/73094/82 "2023-11-23T15:22:32Z")

</div>

But I’m wondering why your logs ends with:

```auto
2023-11-22T20:17:59.585Z [err] [MELCloudExtensionApp] [#undefined] Utomhustemperaturen `measure_temperature` kunde inte hittas.
2023-11-22T20:18:01.782Z [err] [MELCloudExtensionApp] [#undefined] Utomhustemperaturen `measure_temperature` kunde inte hittas.

```

Did you disconnect your outdoor temperature sensor?

---

<div class="post-metadata">

**Author:** ![KWallin](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/kwallin/32/82503_2.png) [@KWallin](https://community.homey.app/u/KWallin)\
**Post date:** [November 23, 2023, 3:29pm UTC](https://community.homey.app/t/app-pro-melcloud-classic-melcloud-home-melcloud-extension-take-control-of-your-heat-pump/73094/83 "2023-11-23T15:29:00Z")

</div>

I tried both outdoor and indoor sensors to see if anything would change.

---

<div class="post-metadata">

**Author:** ![OlivierZal](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/olivierzal/32/61843_2.png) [@OlivierZal](https://community.homey.app/u/OlivierZal)\
**Post date:** [November 23, 2023, 3:33pm UTC](https://community.homey.app/t/app-pro-melcloud-classic-melcloud-home-melcloud-extension-take-control-of-your-heat-pump/73094/84 "2023-11-23T15:33:33Z")

</div>

Ok I understand better.

So in your use case nothing will happen, because basically this app is designed for summer (where cooling mode is the most accurate) that is, when the outdoor temperature increases and to avoid manual monitoring in order to prevent from exceeding a temperature gap of 8°.

In your case:

- with outdoor temperature sensor: it will never exceeds your target temperature
- with indoor temperature sensor: the same, it will never exceeds your target temperature + 8°

But from the logs you’ve sent to me, I can assure you it works perfectly, and then will apply next summer 🙂

---

<div class="post-metadata">

**Author:** ![KWallin](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/kwallin/32/82503_2.png) [@KWallin](https://community.homey.app/u/KWallin)\
**Post date:** [November 23, 2023, 3:40pm UTC](https://community.homey.app/t/app-pro-melcloud-classic-melcloud-home-melcloud-extension-take-control-of-your-heat-pump/73094/85 "2023-11-23T15:40:25Z")

</div>

Ok, would love to see a Winter function that would avoid the heat pump to shut off when the target temperature is reached internally. Hope Santa sees this 😉

---

<div class="post-metadata">

**Author:** ![OlivierZal](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/olivierzal/32/61843_2.png) [@OlivierZal](https://community.homey.app/u/OlivierZal)\
**Post date:** [November 23, 2023, 3:48pm UTC](https://community.homey.app/t/app-pro-melcloud-classic-melcloud-home-melcloud-extension-take-control-of-your-heat-pump/73094/86 "2023-11-23T15:48:47Z")

</div>

I think that the heat pump kind of holds on from heating / cooling when the target is reached, but it’s already possible with existing flow possibilities.

You just need to create a flow as follows:

- _when_ measure\_temperature has changed
- _and_ measure\_temperature \< target\_temperature
- _then_ switch on _else_ switch off

You can “easily” make it more complex with advanced flow, by adding conditions.

Just be careful that switch on and off the heat pump is power consuming, and might be bad for the heat pump motor health.

---

<div class="post-metadata">

**Author:** ![Marius\_Stensrod](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/marius_stensrod/32/56540_2.png) [@Marius\_Stensrod](https://community.homey.app/u/Marius_Stensrod)\
**Post date:** [November 23, 2023, 6:26pm UTC](https://community.homey.app/t/app-pro-melcloud-classic-melcloud-home-melcloud-extension-take-control-of-your-heat-pump/73094/87 "2023-11-23T18:26:15Z")

</div>

> [@KWallin](#):
>
> Winter function that would avoid the heat pump to shut off when the target temperature is reached internally.

Really, the heatpump does not shut off. That would kill the compressor. It is still circulating gas when the heat pump has reached set-temperature.

---

<div class="post-metadata">

**Author:** ![Halono007](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/halono007/32/80378_2.png) [@Halono007](https://community.homey.app/u/Halono007)\
**Post date:** [November 23, 2023, 7:37pm UTC](https://community.homey.app/t/app-pro-melcloud-classic-melcloud-home-melcloud-extension-take-control-of-your-heat-pump/73094/88 "2023-11-23T19:37:15Z")

</div>

Anybody know why the power usage is incorrect when using [Power by the hour](https://community.homey.app/t/app-pro-power-by-the-hour-insights-per-hour-day-month-and-year/20535)? Power by the hour says my Mitsubishi Kaiteki 6600 used 4,8kWh, but going in Melcloud and select power usage, it says 8,2 kWh. That’s a pretty large difference.

---

<div class="post-metadata">

**Author:** ![OlivierZal](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/olivierzal/32/61843_2.png) [@OlivierZal](https://community.homey.app/u/OlivierZal)\
**Post date:** [November 23, 2023, 7:59pm UTC](https://community.homey.app/t/app-pro-melcloud-classic-melcloud-home-melcloud-extension-take-control-of-your-heat-pump/73094/89 "2023-11-23T19:59:36Z")

</div>

Hi @Halono007,

I don’t know how Power by the hour handles Homey app values, but he MELCloud app retrieves the values from the MELCloud straight forward.

---

<div class="post-metadata">

**Author:** ![OlivierZal](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/olivierzal/32/61843_2.png) [@OlivierZal](https://community.homey.app/u/OlivierZal)\
**Post date:** [November 23, 2023, 8:04pm UTC](https://community.homey.app/t/app-pro-melcloud-classic-melcloud-home-melcloud-extension-take-control-of-your-heat-pump/73094/90 "2023-11-23T20:04:24Z")

</div>

@Gruijter, any idea?

---

<div class="post-metadata">

**Author:** ![Gruijter](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/gruijter/32/1973_2.png) [@Gruijter](https://community.homey.app/u/Gruijter)\
**Post date:** [November 23, 2023, 8:36pm UTC](https://community.homey.app/t/app-pro-melcloud-classic-melcloud-home-melcloud-extension-take-control-of-your-heat-pump/73094/91 "2023-11-23T20:36:16Z")

</div>

PBTH uses meter\_power (kWh) as default information source. For some apps special exception sources are used, such as (meter\_power.consumed - meter\_power.produced). If that is not found, PBTH falls back to using measure\_power (Watt) as source, and will internally try to calculate a kWh value from that by using mathmatical integration. But if the Watt value is not often updated, or if Homey/PBTH/source app is not working 24/7, the integration can be (very) inaccurate.

So if your app has a kWh source, e.g. meter\_power.total or similar, I could add that to the exception handling list.

---

<div class="post-metadata">

**Author:** ![OlivierZal](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/olivierzal/32/61843_2.png) [@OlivierZal](https://community.homey.app/u/OlivierZal)\
**Post date:** [November 23, 2023, 8:53pm UTC](https://community.homey.app/t/app-pro-melcloud-classic-melcloud-home-melcloud-extension-take-control-of-your-heat-pump/73094/92 "2023-11-23T20:53:55Z")

</div>

Thanks for your quick answer @Gruijter.

Here they are:

- [https://github.com/OlivierZal/com.melcloud/blob/8177ef77ad9e5a663a3be4766f5c6ffcc9598f51/drivers/melcloud/driver.compose.json#L37](https://github.com/OlivierZal/com.melcloud/blob/8177ef77ad9e5a663a3be4766f5c6ffcc9598f51/drivers/melcloud/driver.compose.json#L37)
- [https://github.com/OlivierZal/com.melcloud/blob/8177ef77ad9e5a663a3be4766f5c6ffcc9598f51/drivers/melcloud\_atw/driver.compose.json#L51](https://github.com/OlivierZal/com.melcloud/blob/8177ef77ad9e5a663a3be4766f5c6ffcc9598f51/drivers/melcloud_atw/driver.compose.json#L51)

---

<div class="post-metadata">

**Author:** ![Gruijter](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/gruijter/32/1973_2.png) [@Gruijter](https://community.homey.app/u/Gruijter)\
**Post date:** [November 23, 2023, 8:58pm UTC](https://community.homey.app/t/app-pro-melcloud-classic-melcloud-home-melcloud-extension-take-control-of-your-heat-pump/73094/93 "2023-11-23T20:58:43Z")

</div>

I will then add `meter_power.total_consumed` as source in the next PBTH release 👍

---

<div class="post-metadata">

**Author:** ![OlivierZal](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/olivierzal/32/61843_2.png) [@OlivierZal](https://community.homey.app/u/OlivierZal)\
**Post date:** [November 23, 2023, 9:09pm UTC](https://community.homey.app/t/app-pro-melcloud-classic-melcloud-home-melcloud-extension-take-control-of-your-heat-pump/73094/94 "2023-11-23T21:09:57Z")

</div>

@Gruijter, from your experience, what’s the most common / accurate to populate `meter_power`: to have the **daily** energy or the **total** energy?

---

<div class="post-metadata">

**Author:** ![Gruijter](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/gruijter/32/1973_2.png) [@Gruijter](https://community.homey.app/u/Gruijter)\
**Post date:** [November 23, 2023, 9:19pm UTC](https://community.homey.app/t/app-pro-melcloud-classic-melcloud-home-melcloud-extension-take-control-of-your-heat-pump/73094/95 "2023-11-23T21:19:38Z")

</div>

Total

---

<div class="post-metadata">

**Author:** ![OlivierZal](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/olivierzal/32/61843_2.png) [@OlivierZal](https://community.homey.app/u/OlivierZal)\
**Post date:** [November 23, 2023, 9:20pm UTC](https://community.homey.app/t/app-pro-melcloud-classic-melcloud-home-melcloud-extension-take-control-of-your-heat-pump/73094/96 "2023-11-23T21:20:54Z")

</div>

I will add this value in the app

---

<div class="post-metadata">

**Author:** ![Gruijter](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/gruijter/32/1973_2.png) [@Gruijter](https://community.homey.app/u/Gruijter)\
**Post date:** [November 24, 2023, 6:44am UTC](https://community.homey.app/t/app-pro-melcloud-classic-melcloud-home-melcloud-extension-take-control-of-your-heat-pump/73094/97 "2023-11-24T06:44:21Z")

</div>

What exactly will you add? I can work with the existing (meter\_power.total\_consumed - meter\_power.total\_produced).  
The names suggest these are already totals, not dailys.

---

<div class="post-metadata">

**Author:** ![OlivierZal](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/olivierzal/32/61843_2.png) [@OlivierZal](https://community.homey.app/u/OlivierZal)\
**Post date:** [November 24, 2023, 7:12am UTC](https://community.homey.app/t/app-pro-melcloud-classic-melcloud-home-melcloud-extension-take-control-of-your-heat-pump/73094/98 "2023-11-24T07:12:55Z")

</div>

I will add a meter\_power already consolidated.

---

<div class="post-metadata">

**Author:** ![Gruijter](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/gruijter/32/1973_2.png) [@Gruijter](https://community.homey.app/u/Gruijter)\
**Post date:** [November 24, 2023, 7:35am UTC](https://community.homey.app/t/app-pro-melcloud-classic-melcloud-home-melcloud-extension-take-control-of-your-heat-pump/73094/99 "2023-11-24T07:35:54Z")

</div>

Ah super. In that case I dont have to change anything in PBTH.

---

<div class="post-metadata">

**Author:** ![m.plo.b](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/m.plo.b/32/73259_2.png) [@m.plo.b](https://community.homey.app/u/m.plo.b)\
**Post date:** [November 26, 2023, 10:36am UTC](https://community.homey.app/t/app-pro-melcloud-classic-melcloud-home-melcloud-extension-take-control-of-your-heat-pump/73094/100 "2023-11-26T10:36:00Z")

</div>

For me the mixing water tank is always shown as 25.56 °C

While in MELCloud and in my own script to read out data, it correctly shows reasonable values (taking the value “MixingTankWaterTemperature” from the APU response).

would be also great to be able to read the value for TargetHCTemperatureZone1.

[Previous page](https://community.homey.app/t/app-pro-melcloud-classic-melcloud-home-melcloud-extension-take-control-of-your-heat-pump/73094.md?page=4)

[Next page](https://community.homey.app/t/app-pro-melcloud-classic-melcloud-home-melcloud-extension-take-control-of-your-heat-pump/73094.md?page=6)
