Nibe heatpump API
Moderator: leecollings
-
- Posts: 21
- Joined: Wednesday 29 January 2014 22:42
- Target OS: Raspberry Pi / ODroid
- Domoticz version:
- Contact:
Nibe heatpump API
Now there is a open API for Nibe heatpump. Is there anybody using it?
https://api.nibeuplink.com/ log in with your Uplink account.
Skickat från min iPad med Tapatalk
https://api.nibeuplink.com/ log in with your Uplink account.
Skickat från min iPad med Tapatalk
Re: Nibe heatpump API
Would really love to have this, but I have zero programming skills myself. Found a python script for netatmo viewtopic.php?t=1817 that seems to do something similar. Maybe could help with a base to adjust to work with Nibe.
Would be willing to test though, can't afford to donate a Nibe heatpump to devs
Would be willing to test though, can't afford to donate a Nibe heatpump to devs
-
- Posts: 485
- Joined: Thursday 17 September 2015 10:13
- Target OS: Raspberry Pi / ODroid
- Domoticz version:
Re: Nibe heatpump API
That's great news! Thank You!alveman wrote:Now there is a open API for Nibe heatpump. Is there anybody using it?
Thanks! I will have a look into this.Zinken wrote:Would really love to have this, but I have zero programming skills myself. Found a python script for netatmo viewtopic.php?t=1817 that seems to do something similar. Maybe could help with a base to adjust to work with Nibe.
Would be willing to test though, can't afford to donate a Nibe heatpump to devs
EDIT1: Trying to use the Netatmo scripts as a starting point. The Netatmo script uses a different authentication flow. "Client credentials" grant type. NIBE Uplink currently supports the "Authorization Code Grant" flow and the "Implicit Grant" flow.
EDIT2: The Authorization Code grant type is the most common OAuth2.0 flow. It implements 3-Legged OAuth and involves the user granting the client an authorization code, which can be exchanged for an Access Token. In our case, Domoticz need to access the Nibe Uplink API when the user is not present, without user intervention at all. This style of access is called offline, and web server applications can request offline access from a user. However the Nibe Uplink server hasn't yet granted me offline access even though I've requested it. It might be so that the Nibe Uplink API services doesn't support offline access. Unfortunately I'm stuck at the moment.
-
- Posts: 21
- Joined: Wednesday 29 January 2014 22:42
- Target OS: Raspberry Pi / ODroid
- Domoticz version:
- Contact:
Re: Nibe heatpump API
Perhaps an unnecessary question, but it looks like that the program must be registered on the Uplink page. Have you done it?
Skickat från min iPhone med Tapatalk
Skickat från min iPhone med Tapatalk
-
- Posts: 485
- Joined: Thursday 17 September 2015 10:13
- Target OS: Raspberry Pi / ODroid
- Domoticz version:
Re: Nibe heatpump API
I've reached the stage of authorization code exchange, that is, I've successfully received an access token and a refresh token. I was expecting the response to include an authorization code...alveman wrote:Perhaps an unnecessary question, but it looks like that the program must be registered on the Uplink page. Have you done it?
-
- Posts: 485
- Joined: Thursday 17 September 2015 10:13
- Target OS: Raspberry Pi / ODroid
- Domoticz version:
Re: Nibe heatpump API
Parsing the json data, I've now been able to retrieve some data from my system. Example:
I believe we can do something nice out of this. We need a different authentication flow that doesn't require user intervention though. I will have to talk to Nibe about that to see if it can be solved.
Code: Select all
Number of systems: 1
Name: XXXXXXXXXXXXXXX
Serial number: XXXXXXXXXXXXXXXXXXXXXX
System ID: XXXXXXXXXXXXX
Title: Heating
Parameter
Name: 43005
Designation:
Title: degree minutes
Parameter ID: 43005
Display Value: -69DM
Unit: DM
Raw Value: -695
Title: Ventilation
Parameter
Name: fan_speed
Designation:
Title: fan speed
Parameter ID: 10001
Display Value: 59%
Unit: %
Raw Value: 59
Parameter
Name: 40025
Designation: BT20
Title: exhaust air
Parameter ID: 40025
Display Value: 20.5°C
Unit: °C
Raw Value: 205
Parameter
Name: 40026
Designation: BT21
Title: extract air
Parameter ID: 40026
Display Value: -0.1°C
Unit: °C
Raw Value: -1
Title: Compressor
Parameter
Name: 43416
Designation: EB100-EP14
Title: number of starts:
Parameter ID: 43416
Display Value: 7806
Unit:
Raw Value: 7806
Parameter
Name: 43420
Designation: EB100-EP14
Title: total operating time:
Parameter ID: 43420
Display Value: 9351h
Unit: h
Raw Value: 9351
Parameter
Name: 43424
Designation: EB100-EP14
Title: - of which hot water:
Parameter ID: 43424
Display Value: 1891h
Unit: h
Raw Value: 1891
Parameter
Name: 43136
Designation:
Title: current compr. frequency
Parameter ID: 43136
Display Value: 27Hz
Unit: Hz
Raw Value: 276
Title: Heating Medium Pump
Parameter
Name: 40047
Designation: 1 rad EB100-BT61
Title: supply temp.
Parameter ID: 40047
Display Value: 26.7°C
Unit: °C
Raw Value: 267
Parameter
Name: 40048
Designation: 1 rad EB100-BT62
Title: return temp.
Parameter ID: 40048
Display Value: 25.0°C
Unit: °C
Raw Value: 250
Parameter
Name: 43181
Designation:
Title: pump speed heating medium
Parameter ID: 43181
Display Value: 1%
Unit: %
Raw Value: 1
Re: Nibe heatpump API
Great stuff, really excited to see progress. As I said before, I can't contribute much but if testers are needed I would gladly help.
Sent from my MI 5 using Tapatalk 2
Sent from my MI 5 using Tapatalk 2
-
- Posts: 485
- Joined: Thursday 17 September 2015 10:13
- Target OS: Raspberry Pi / ODroid
- Domoticz version:
Re: Nibe heatpump API
Hi there!
I'd just like to inform You that there has been some progress in my project. I took a few days off from my job and learned to program in python language and starting up this project.
I can now use a script to authorize with the Nibe Uplink OAuth2 server and receive data about my Nibe heating pump. It's quite cool actually. Currently and for testing purposes I'm just querying for the Ventilation Fan Speed every 5 minutes and storing the value in a Domoticz percentage device. I will develop the script further a bit before I create a new thread here dedicated for the project.
Cheers!
I'd just like to inform You that there has been some progress in my project. I took a few days off from my job and learned to program in python language and starting up this project.
I can now use a script to authorize with the Nibe Uplink OAuth2 server and receive data about my Nibe heating pump. It's quite cool actually. Currently and for testing purposes I'm just querying for the Ventilation Fan Speed every 5 minutes and storing the value in a Domoticz percentage device. I will develop the script further a bit before I create a new thread here dedicated for the project.
Cheers!
-
- Posts: 485
- Joined: Thursday 17 September 2015 10:13
- Target OS: Raspberry Pi / ODroid
- Domoticz version:
Re: Nibe heatpump API
Ready for Beta Testing. I will contact @zinken.
-
- Posts: 485
- Joined: Thursday 17 September 2015 10:13
- Target OS: Raspberry Pi / ODroid
- Domoticz version:
Re: Nibe heatpump API
Meanwhile... here is a short glimpse of what will come.
Updating the devices is done by a cron job and a python script. That is, it will not lock up or delay the Domoticz eventsystem while waiting for external servers to respond.
For my system, a single heat pump Nibe F750, I can choose between 50 different resources to add as devices in Domoticz. I think that the newest stable version also will offer more suitable device types. For example, I'm currently storing "Compressor Starts" in a text device. I will check out the "custom type" after upgrading Domoticz.Updating the devices is done by a cron job and a python script. That is, it will not lock up or delay the Domoticz eventsystem while waiting for external servers to respond.
Re: Nibe heatpump API
I love this thread.
I recently got my Nibe 750 aswell and like to implement it to my domoticz installation.
@BakSeeDaa Can you include me in testing?
I recently got my Nibe 750 aswell and like to implement it to my domoticz installation.
@BakSeeDaa Can you include me in testing?
-
- Posts: 485
- Joined: Thursday 17 September 2015 10:13
- Target OS: Raspberry Pi / ODroid
- Domoticz version:
Re: Nibe heatpump API
I don't wish to hijack this thread, (I guess I already kind of did just that) I've now created a new project thread at viewtopic.php?t=13996
Who is online
Users browsing this forum: No registered users and 1 guest