[APP][PRO] Nibe MyUplink

Hi Everyone,

I have seen requests to create a new app supporting Heat pumps of different variations in the Nibe S-series.
I am willing to try and create an app for this heat pump.
But - first - I need to make sure the following conditions apply:

  1. Is there still an interest in supporting this Heatpump on a Homey app?
  2. Is there anyone willing to design the app with me? (define the configuration, the flows, the cards and the capabilities?) since I am not familiar with the device, I might need help on this…
  3. Can anyone assist in testing? Again, i do not have the device, so once I will have something working i will need you to test it with your pump, provide me feedback, and assist in finding issues

If all of these apply, I can start learning the API which is the first phase of implementation.

@peltsi51 @V34 @Jeroen_Bonninga @JBS_no @Ria_Banis @Daniel_Johansson @Knaapjes @Magnus_Ljungkvist

4 Likes

Like the idea of having the app available for Nibe. I have thought of buying Nibe heatpump, but I don’t own one at the moment or near future so not able to help.

@peltsi51 @V34 @Jeroen_Bonninga @JBS_no @Ria_Banis @Daniel_Johansson @Knaapjes @Magnus_Ljungkvist
I am almost done with the first phase of implementing the API layer.
As this point, I will not be able to process with the assistance of someone who has the device.

Is someone still interested in this, or do I move on to the next challange?

1 Like

No idea how I can help, but have a nibe-s series and I am very interested in this app.
So I’ll be your Guinea pig.
Just let me know how I can help

Kind regards
Jeroen

This is awesome!
Let’s start with designing our app.
Can you please specify which flow-cards would you expect to see? Try thinking about Actions (THEN cards), Conditions (AND cards) and Triggers (WHEN cards).
Also - what would you expect to see as capabilities of the device (the right-hand side of the screen when clicking the device)? Would you expect to see a way to set the temperature, set the mode (cool/heeat), and so on? Any other capabilities you would like to see?
Last - is there any device configuration item you would like to be able to control from Homey?

Looking forward to your answers,
Galcar

Hi Galcar,

Yes (!) I have interest in a Nibe S-series app for Homey. As a matter of fact, I cloned GitHub - x-erik/eu.nibe-modbus: This repository contains an Homey Pro app for Nibe S-Series. and made some small modifications just this week. It now connects to my S1255, and it successfully fetches data from a few more modbus register than the code in github.

So far I’ve just been goofing around to learn how the modbus protocol works. The next thing on my learning list was to set registers that are writeable. I was planning to ask the author of the above project if he wanted contributions, but I’m more than willing to chime in on your project instead since the other one has little traction at the moment. Maybe x-erik would like to join as well…

I can chip in with coding (if you’re interested in contributions) and testing on my S1255. I’m terrible with design though :smiley:

Hi Jorgen,

My intention is not to use the Modbus protocol as used in the repository you mentioned, but rather to use the MyUplink OAuth2 API to connect to the modules.
This will give us more flexibility on implementing the app, however, it will require cloud communication and will not be able to communicate to the device without internet connection.

What do you say?

1 Like

I haven’t deep-dived into the capabilities of the OAuth API, but if it offers the same capabilities as the modbus registers it should work just fine.

I have used the MyUplink mobile app (not Homey) for some months. I guess it uses the same API you refer to, and that app has been stable as far as I can tell.

Yes, my tests are showing good stability of that API. We will be able to test it once I finish the initial implementation.
On any case, assuming you are interested in this homey app, would you want to answer the design-questions raised? Here are those questions once again:

  1. Can you please specify which flow-cards would you expect to see? Try thinking about Actions (THEN cards), Conditions (AND cards) and Triggers (WHEN cards).
  2. What would you expect to see as capabilities of the device (the right-hand side of the screen when clicking the device)? Would you expect to see a way to set the temperature, set the mode (cool/heeat), and so on? Any other capabilities you would like to see?
  3. Is there any device configuration item you would like to be able to control from Homey?

I think I would be inspired by knowing the capabilities that exist in the API, but my main motivation for a Nibe app is related to inconsistent heating of my home.

I have an old house with little insulation, and I don’t think the Nibe heat pump does a great job of adjusting to changes in temperature. It adjusts the supply line heat based on a temperature profile (outdoor temperature) but does not consider that e.g. more wind leads to higher demand. I would like to adjust the supply line temperature based on the actual demand in the house instead.

I thought about these cards:

THEN cards

  • P1 Switch priority to {hot water | heating}
  • P1 Change temperature profile //to increase or decrease supply line temperature target
  • P2 Set temperature target in zone
  • P2 Set smart home mode (eg. Away-mode, Night-mode, …)
  • P3 Set {minimum | maximum} supply line temperature

AND cards

  • P1 Priority is {hot water | heating }
  • P2 Supply line temperature is higher/lower than …
  • P2 Hot water temperature is higher/lower than…
  • P3 Temperature in {zone | device} is higher/lower than…
  • P4 Smart Home mode is {e.g. Away, Night, …)

WHEN cards

  • P1 Temperature in zone changed
  • P1 Hot water top changed
  • P2 Outside temperature changed
  • P4 Alarm is triggered
1 Like

I would like to see the following capabilities:

  • P1 Temperature heating supply line
  • P1 Temperature return line
  • P2 Temperature hot water top
  • P2 Priority (heating vs hot water etc) → Would love to set this as well
  • P3 Smart home mode (Away, Night, etc) → Would love to set this as well
  • P3 Temperature profile (supply line target temperature vs outdoor temperature) → Would love to set this as well
  • P3 Temperature in each configured zone
  • P3 Outdoor temperature
  • P4 Temperature calculated supply
  • P4 Heating pump speed (%)
  • P4 Source pump speed (%)
  • P4 Compressor frequency
1 Like

This is absolutely perfect, thank you so much for that.
I am not sure I have the API to support all of these, but I am sure going to try…

Since I do not have that device myself, would you be willing to allow me access to your device?
I can give you my word I would not set any of the device’s values without talking to you first.

Let’s continue the conversation about device access in PM.

Hi Galcar,

Those are all very good questions which I haven’t thought of yet, but I’ll
give it a try and let’s see what’s possible :slight_smile:
Here you can find the NIBE-S1255 user manual which gives you some idea of what is possible from the menu’s.
User manual
The Installers Manual may give some more details on certain items.
Installers manual
Connection via web-app is done through MyUplink
There is also a good explanation like a manual of the app ONLINE

I noticed that for some remote functions, you need a subscription myUplink
Premium Control
I wonder if we can do without, but please let me know what you think.

Now with respect to your questions:
I’m a bit of a newbie when it comes to the flow cards, but I’ll think of
some eventually.
I do have an idea of some functions:
Hot Water:

  • More Hot Water to start/stop extra hot-water production
  • Switch between modes (Smart, Small, Medium, Large)

Indoor climate:

  • Switch between Heating and Cooling
  • Changing the heating Offset (up or down, by 1 degr increments)
  • Changing the heating Curve (up or down, by 1 degr increments)
  • Changing the Cooling Offset (up or down, by 1 degr increments)
  • Changing the Cooling Curve (up or down, by 1 degr increments)

System:

  • Switch Operating Mode (Auto,Manual, Add heat only)
  • Away mode On/Off

Would love to be able to have Scheduling option in the App, but not sure
whats possible here.

Is this something you can work with? Please let me know if this is the
right way to get started.

Kind regards and many thanks for taking up this challenge :slight_smile:

Jeroen

Thank you very much, Jeroen, for your feedback. I really appreciate it.
The links you sent are very helpful!
I already started the implementation and I will share a testing link once I have something ready.
Since I do not have the device itself, I got access to a device from one of the users.
But - for testing purposes - I will need access to several more devices to make sure the app works properly on other devices as well.
Will you be willing to provide me access to your device for testing? I can promise I will not perform any change to your device or configuration without your approval.
If so, we can continue our discussion privately and I can share the way for you to allow me access.

1 yes, I am still interested
2 I am a user, unfortunately not a wizzard
3 how can I help you with testing?

I am actually on the last phases of the implementation now, focused on testing the app.
@Knaapjes - would you be willing to share your device with me and allow me access to it in order for me to test the app on it? If yes, I will send you the instructions on how to do it privately.

I await your instructions with interest.
I have now sent you screenshots of my NIBE S1155-6 EM 3x400V with a PVT system from TripleSolar as the source.
Please include the codes that NIBE uses in its system in the app for the Homey.
Such as the BT1, BT2, BT3, GP1, GP2 and so on…

NIBE uses the same codes for the sensors for the various systems.

1 Like

I would like the following options in the Homey app:

If it gets too hot in a room, I can control the Somfy sun blinds. For example, information from the NIBE RMU S40, THS 10, CDS 10, SRV 10

I would like to receive a warning when the electric additional heat comes on and how much power it consumes per phase.
I have electric additional heating every week with the legionella program of the boiler.

Monitor the measurements of the NIBE CT terminals in the meter cupboard, so that I know when Peak shaving takes place and I can switch off other devices if necessary.

In general, I mainly want to extract data from the NIBE, rather than controlling the heat pump.
The software of the NIBE heat pump already contains many control options, such as:
Peak shaving CT terminals meter cupboard, weather forecast control, PV inverter control and dynamic electricity price control.

I understand. I will try to comply with these requirements in my app.
As for testing - it would be very helpful for me if you can give me access to your device. I promise I will not do any changes to your device without your explicit permission. I will just read its configuration values to make sure my app can connect to it.
In order to give me access, here’s what you should do:

  1. Browse to https://dev.myuplink.com/
  2. Login with your MyUplink Credentials
  3. On the top menu, choose “Applications”
  4. On the Left Menu choose “Create New Application”
  5. Fill in the application name and application description (whatever you like)
  6. Leave the “Callback URI” blank at this point (I am aiming for a simple authentication, so we do not need it for now)
  7. Check the “Accept I accept the myUplink API Services Agreement” checkbox
  8. Click the “Create” orange button
  9. Send me the “Client ID” and the “Client Secret” fields.
    Make sure you send it to me personally. Don’t post it on the forum by mistake.

Whenever you would like to revoke my permissions, you can just delete the app you created in the following way:

  1. Choose the “Applications List” on the left menu
  2. Click the “Remove” red button at the bottom left
  3. Confirm the removal in the pop-up

If you revoke, it’s better to let me know so I will not work for hours to understand why it isn’t working :slight_smile:

Thanks a lot, Arjen.