[APP][Pro] MELCloud & MELCloud Extension - Take control of your heat pump

The application works as expected:

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

But I’m wondering why your logs ends with:

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?

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

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 :slight_smile:

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 :wink:

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.

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.

Anybody know why the power usage is incorrect when using Power by the hour? 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.

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.

@Gruijter, any idea?

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.

1 Like

Thanks for your quick answer @Gruijter.

Here they are:

I will then add meter_power.total_consumed as source in the next PBTH release :+1:

1 Like

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

Total

I will add this value in the app

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.

I will add a meter_power already consolidated.

2 Likes

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

1 Like

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.