Nibe Live 1.0 is out — and out of test. Everything up to now was on the test channel; this is the first version on the Homey App Store proper.
It began as a fork of @Jan_Sparud 's app to add cumulative energy consumption, and grew into something that no longer fitted his app.
What it is: a local app for Nibe S-series heat pumps. Modbus TCP on your own network — no myUplink account, no cloud, readings in seconds rather than minutes.
One Homey device per function
Your pump does several jobs, and you rarely want to automate them together — “boost hot water when power is cheap” has nothing to do with your heating curve. So each function pairs as its own Homey device:
Function
What it carries
Thermostat
Energy + COP
Price adaption
Main
Operating priority and mode, alarms, diagnostics, runtime stats
Demand mode + its temperatures, “More hot water” boost, periodic charge
—
1–4
Pool
Pool temp + target, start/stop band (POOL 40)
*
follows master
Cooling
Cooling permit, night cooling, start/stop outdoor temps
—
*
0–10
Solar
Generation now + total (EME 20)
—
production only
—
Each one’s on/off is real — it’s that function’s Allow register on the pump. (Nibe doesn’t expose “Allow hot water” over Modbus on S2125, S320/S325, S330/S332 or S735.)
Energy + COP: the pump reports one total power draw and the app splits it by what the pump was doing, so each function gets its own meter in Homey’s Energy tab. Delivered heat comes from the pump’s own counters, so COP is a real number, over a rolling 30-day window. * those two counters are missing on some models — no COP there, everything else works.
You pick which ones to add during pairing, and can change your mind later with Repair.
Also in there
Alarms in plain language — “438: Lost connection to wireless device”, not 438. All 467 S-series codes, with a Flow trigger that carries the description.
A trigger that explains itself when the pump switches what it’s producing — in a sentence, with the numbers behind it.
Everything writable works from a Flow.
What you need
A Nibe S-series pump on the same network as your Homey Pro
Modbus TCP switched on at the pump: menu 7.5.9
That’s it — pairing sweeps your network and finds it
Already running the test version?
Same app, out of test. Your devices and selections carry over.
No Repair needed — but I’d run it anyway (device menu → Repair) to be safe.
No more “run Repair after this update” releases. From 1.0, a rename carries a proper migration instead of breaking your Flows.
Henrik Aldermo (halderex) — the alternate-address mechanism that lets a register sit at a different address per model, and working out how the pump wants a 32-bit value written, which is why you can set your indoor temperature from Homey at all.
yozik04/nibe — register definitions cross-checked against it. Alarm text from NIBE’s own published list.
Not affiliated with NIBE. Feedback very welcome — especially from anyone on a model that isn’t an S1155.
I have installed it and it looks great! Are all the modbus registers available, though, and will they be upgraded when more are made available through firmware updates? I have been looking for the used and produced energy per hour registers and saw them in the csv but couldn’t find them in the app, only total energy.
Got it. Makes sense. A bit curious on the actual calculations, can you pass that along? I might be able to give you COP directly as an insight actually?
I haven’t made them yet, but it comes down to produced energy/used energy. The Nibe provides these two values via Modbus for every hour for heating and hot water separately. The trick is to create the formulas to calculate the COP per day/week/month/year/all-time using these Modbus registers. With Home Assistant you can achieve this relatively simply and then show the values in Homey using the Community app, but it would be very interesting if I could do it in Homey.
Hi @hyper!
This sounds like a very good initiative!
I have an F730 and would be very interested in not having to go through the Nibe MyUpLink cloud. It always feels safer to have control over things locally.
Today I use several Nibe apps in Homey to be able to read certain parameters and set certain parameters. However, all of them require access to the cloud.
So if you have the opportunity to add the F730 to your app, I am clearly interested in implementing and testing. Please, take your time - I’m not in a hurry.
Thnx!
EDIT: Sorry, I was too quick and eager. After reading further I realize that the F730 has no Modbus TCP. Only after installing the MODBUS 40 accessory - at a not entirely reasonable cost - and installing a general RS485 to Ethernet hardware. Then possibly there may be Modbus TCP…
So I get to keep the cloud and my current solution.
Nice work @hyper ! Out of intrest, is the source code available somewhere? I’d love to help out with testing and maybe contribute if needed. I live in Sweden and have an S735-4.
I’ve watched the COP for some time now but heating, hot water and cooling all report that they haven’t got any data yet. This is the same for other entities, like used energy. Is there anything I can do to get this working?
@Aziraphale Hm.. a couple of things that would help me narrow it down:
My suspicion is that current power is not being allocated correctly, if so everything else will fail. Having studied this a bit more I think S2125 uses a different register for current power which would explain more or less everything.
To help me confirm:
If you look at current power on the devices, does it show anything?
If you look at Energy used on the devices, does it show anything?
Which model type does it specify for you in advanced settings?
Then, after you’ve noted those things down, I’ve got a hunch 0.9.9 should fix this, so:
yeah I’ve been working back and fort on the S2125/320 models. They different quite substantially in register setups unfortunately. Key difference is that the instantaneous power values are so slow that my trapezoid integration just produces gibberish.
I’m currently testing a version that uses the native registers for used/produced per function, the downside instead is that they are one hour behind which ruins real time attribution which in turn means quarterly energy prices don’t work too well:/
What I’m trying now is using real time allocation based on 2305 (my S1155 uses 2166), which is slower and then reconciling that based on the full per function used/produced values. An issue being that homey does not allow correcting past values, so the only option is to try to adjust for the error in future hours.
Good catch on Smart Price Adaption btw, had not considered that.
—
Needless to say, none of these options are great, Happy to discuss alternatives
@Aziraphale Phew .. lots of hours now, but there’s a 0.9.13 just released to test. It changes a whole bunch of things, including energy allocation logic and COP calculations (more details in release notes).
I’d love for you to give this a spin, if all works well, I’ll release this as 1.0 next week