Nibe heat pumps


(Petter) #1

Hi! I’m just getting into home automation and I wish I had some programming skills. Maybe a dumb question but would it be possible to code a SmartApp for the NIBE heating systems? They have an API (https://api.nibeuplink.com). Be able to read info from the pump and automate stuff based on temperature and so would be awesome. Is this possible in any way, and could someone point me in the right direction if so?


(Petter) #2

I’ve now managed to receive all the data from the pump with a service manager and present it with a device handler. So if anyone has a Nibe system i can post the code if you want, and explain how to connect to your system and read the value you want. There is a lot of work needed though before this can be called final service manager. The API allows for setting parameters aswell, like set temperature, changing heat-curve, ventilation, hot water temp and so on… But i have not dared to get into that yet.

/Petter


(Tim) #3

I have a Nibe and it would be very nice if you would like to paste the code with some comments. :slight_smile:


(Petter) #4

Well of course, but this app is far from done. Right now it polls 5 chosen parameters from the pump in 5 different API-calls. I’m working now on getting all the wanted parameters in a single call and sort them out afterwards. Im also working on getting it to read your systemId automatically. I can only verify that this works with the F750.

Instructions:

  1. Register at Nibeuplink.com and connect your pump with an ethernet cable, if your pump is fitted with one. Mine is, but its relative new and i dont know when they started mounting it. Then when you are at the overview page for your pump. Look in the adressbar and note down your System ID, it’s right between “system” and “status”.

  2. Login to api.nibeuplink.com, go to “my applications” and create new. Call it what you want and set the callback url to “https://graph.api.smartthings.com/oauth/callback”. Then note down your “identifier” and “secret”. And keep them secret.

  3. Go to the SmartThings IDE and create SmartApp from the code nice-uplink-ST.groovy found at “https://github.com/arnqvist/nibe-uplink-ST/”.

  4. Go to that apps “app settings” and then under “settings” set clientId to your noted Identifier and clientSecret to your noted Secret from the API. Then enable Oauth, update and publish.

  5. Go create a new Device handler from the code nibe-f750-tile.groovy found at the same repository as before. Since I’m new to this i don’t know if you have to enable Oauth in the device handler or not. Publish.

  6. Install the SmartApp and you will be asked to login to your Nibe UpLink account. Do that and when you see a white page (lol), click done and enter your noted System ID.

I hope that will work for you. Please write if it doesn’t.


(JTB) #5

I have a Nibe Figheter 1145 heat pump, and it would have been great to get it integrated with Smartthings. Ideally more a solution like this: https://github.com/openhab/openhab1-addons/wiki/Nibe-Heat-Pump-Binding


(Petter) #6

I dont think i understand you. This app does what the nibegw does, read parameters from the pump. but you have to have a registered account at nibe uplink though, which is free.


(JTB) #7

I was trying to avoid purchasing the Nibe uplink hardware, but no way around it I suppose. Cool thing you got going here. I’ll will check up the price from my local plumber…


(Petter) #8

You dont need any special hardware for this, your pump should have en Ethernet connection if its not to old. The modbus is expensive yes, but if you dont have an Ethernet already i would bet on that it would be alot cheaper.


(Petter) #9

Sorry, I just found the upLink hardware, it was not cheap:(


(JTB) #10

I argued with my supplier of the heat pump, and managed to get it for free :slight_smile: Looking forward to trying this out!


(Petter) #11

Wow, congratulations! The hardware is ~600USD here. I’m not a programmer and this is my first smartapp so it could be alot better. If you have any specific parameters you would like to read I can help you to add them.


(JTB) #12

Lucky with that one :slight_smile: I’m no programmer either, but it would be cool to see that we can get out of this. After I’m finished refurbishing my second floor, I might have time to play around with. I’ll let you know when I try it out…


(JTB) #13

I’m up and running, but I can’t get the integration to work with my F1145 pump. Setup seems to work fine, but I don’t get any readings. Any idea?


(Petter) #14

If you login with the Nibe UpLink app. Can you connect to the pump and read values from there? If that work, please go to live logging, refresh the device handler in your phone and paste the error.


(JTB) #15

Everything works fine in the Nibe app. I live logging nothing really happens, but under events I see a lot of stuff from other devices. Nothing happens when I click the refreash button under the device. Maybe I did something wrong installing the smartapp or device handler?


(Petter) #16

Hmm. It could very likely be my code since im a beginner but it should work for you if you followed the steps. Have you double checked the clientID and clientSecret and copied them to the smartapp settings? Have you gotten the systemID from the adress bar when you login at nibeuplink.com? Did you enable Oauth in the smartapp settings?

Im at work right now so I cant really take much time with it, but I can try to help you tonight.


(Petter) #17

Try reinstalling everything with livelogging open in separate browser tab and see if you find anything.


(JTB) #18

THanks! I’ll try. I realize that I never got the question about the system ID, must be something there…


(Petter) #19

Aha! weird. You should be able to enter that in the smartthings app when you click on Nibe Uplink. But it should ask you for that just after you have logged in to Uplink in the app during the installation.


(JTB) #20

Hmmm, I tried again, and I never get this prompt for System ID.