NIBE myUplink Smart-Home-Integration, kostenlos und Open Source

NIBE-Wärmepumpen über myUplink: Temperaturen, Verdichter, Warmwasser, Heizkurve, Alarme.
Bringt deine NIBE-Wärmepumpen über myUplink, die Cloud von NIBE, in Gladys: Temperaturen (außen, Vor- und Rücklauf, Warmwasser, innen), Verdichter, Betriebsart, Heizkurvenverschiebung, Warmwassermodus und -Boost, erzeugte Wärme und aktive Alarme. Wärmepumpen der Gruppe, die unter anderen Marken auf derselben Plattform verkauft werden (CTC, Contura…), erscheinen ebenfalls, mit dem, was ihre Datenpunkte hergeben.
Ohne die Hardware entwickelt: Rückmeldungen sind willkommen. Die Integration wurde mit echten myUplink-Antworten geschrieben und getestet, die andere Projekte veröffentlicht haben, nicht an einer Wärmepumpe. Fehlt bei dir etwas oder stimmt ein Wert nicht, eröffne ein Issue auf GitHub.
Diese Integration steht in keiner Verbindung zu NIBE oder myUplink.
Voraussetzungen
- Eine mit myUplink verbundene Wärmepumpe (du siehst sie in der myUplink-App).
- Das myUplink-Konto, zu dem sie gehört (E-Mail und Passwort der App).
- Gladys 5.1 oder neuer.
- Um eine Einstellung aus Gladys zu ändern (Heizkurvenverschiebung, Warmwassermodus, Boost): das kostenpflichtige myUplink-Abo Premium Manage für diese Wärmepumpe, abgeschlossen in der myUplink-App. Lesen funktioniert ohne.
Konfiguration
Gladys spricht mit myUplink über eine „Anwendung“, die du kostenlos auf der Entwicklerseite von myUplink anlegst.
- Öffne dev.myuplink.com und melde dich mit dem Konto deiner Wärmepumpe an (dasselbe wie in der myUplink-App). Akzeptiere die Nutzungsbedingungen der API, falls verlangt.
- Öffne Applications, dann Create new application.
- Fülle das Formular aus:
- Name:
Gladys(frei wählbar); - Description:
Gladys Assistant; - Callback URL: das Formular verlangt sie, diese Integration nutzt sie aber nie; gib eine
https-Adresse wie
https://localhost/ein.
- Name:
- Speichern. Die Seite der Anwendung zeigt einen Identifier (die Client-ID) und ein Secret.
- Öffne in Gladys Integrationen → NIBE myUplink → Konfiguration und füge den Identifier bei Client-ID und das Secret bei Client-Secret ein. Wähle die Sprache der Namen, lass das Intervall auf 5 Minuten, speichere.
- Klicke auf Verbindung testen: Gladys sagt, wie viele Wärmepumpen es gefunden hat und ob das Abo Premium Manage aktiv ist.
- Öffne den Reiter Entdecken und füge deine Wärmepumpe hinzu.
Client-ID und Secret bleiben in der Gladys-Konfiguration. Das Zugriffstoken, das myUplink dafür ausgibt,
liegt im Volume /data der Integration und wird etwa stündlich erneuert; keines von beiden landet je in den
Protokollen.
Geräte
Ein Gerät pro Wärmepumpe, benannt nach Produkt und myUplink-System, z. B. „F730 CU 3x400V (Zuhause)“. Die Integration sucht die folgenden Werte unter den Hunderten Datenpunkten, die myUplink veröffentlicht, und legt eine Funktion nur an, wenn die Wärmepumpe sie hat:
| Funktion | Typ in Gladys | Hinweise |
|---|---|---|
| Außentemperatur | Temperatur | Fühler BT1 |
| Vorlauftemperatur | Temperatur | BT2, oder der externe Vorlauf bei einem SMO |
| Rücklauftemperatur | Temperatur | BT3, oder der externe Rücklauf |
| Warmwassertemperatur (oben) | Temperatur | BT7 |
| Warmwassertemperatur (Ladung) | Temperatur | BT6 |
| Innentemperatur | Temperatur | Raumfühler BT50, falls installiert |
| Verdichterfrequenz | Text, z. B. „57 Hz“ | Gladys kennt keine Einheit Hertz |
| Verdichter | Text | Aus, startet, läuft, stoppt |
| Betriebsart | Text | Wofür die Wärmepumpe arbeitet: Heizung, Warmwasser, Kühlung… |
| Heizkurvenverschiebung | Auswahl −10 … +10 | Befehl, wenn myUplink das Schreiben erlaubt |
| Warmwassermodus | Auswahl | Sparbetrieb, normal, Komfort, Smart Control (je nach Modell) |
| Warmwasser-Boost | Ein/Aus, oder Auswahl | „Temporary lux“; bei manchen Modellen eine Auswahl an Dauern |
| Erzeugte Wärme, Heizung (kWh) | Zähler | Wärmemengenzähler, falls vorhanden |
| Erzeugte Wärme, Warmwasser (kWh) | Zähler | Wärmemengenzähler, falls vorhanden |
| Aktive Alarme | Zähler | Anzahl der auf myUplink aktiven Alarme |
| Alarm | Text | Nummer und Titel des letzten Alarms, oder „Kein Alarm“ |
Eine Einstellung wird nur dann als Befehl angeboten, wenn myUplink sie an deiner Wärmepumpe als schreibbar kennzeichnet; sonst bleibt sie schreibgeschützt. Die Heizkurvenverschiebung ist bewusst eine Auswahl und kein Thermostat: sie ist keine Temperatur, und ein Sprachassistent, den man um „21 Grad“ bittet, darf sie nie erreichen.
Die erzeugte Wärme ist ein Zähler, kein Energiezähler: Gladys würde einen Energieindex als Strom aus deinem Hauptzähler werten, hier geht es aber um Wärme, die ans Haus geliefert wird.
Die Gerätekarte zeigt ein Abzeichen Cloud, oder nicht erreichbar, wenn die Wärmepumpe nicht mehr mit myUplink verbunden ist (ihre letzten Werte bleiben dann stehen).
Widget
Das Widget Wärmepumpe fasst eine Wärmepumpe auf dem Dashboard zusammen: Live-Kacheln für Außen-, Vorlauf-, Warmwasser- und Innentemperatur, eine Statusliste (myUplink-Verbindung, Betriebsart, Verdichter, Kurvenverschiebung, Warmwassermodus, Boost, Alarme) und, wenn die Wärmepumpe Befehle annimmt, Knöpfe, um den Warmwasser-Boost zu starten oder abzubrechen und die Kurve um eine Stufe zu verschieben. Wähle die Wärmepumpe in den Einstellungen des Widgets.
Szenen-Auslöser und -Aktionen
- Alarm der Wärmepumpe (Auslöser): löst aus, wenn eine Wärmepumpe einen neuen Alarm auf myUplink meldet, einmal pro Alarm. Du kannst ihn auf eine Wärmepumpe beschränken. Variablen: Nummer, Titel, Beschreibung und Schweregrad des Alarms, in der Sprache der Integration. Alarme, die bei der Installation schon aktiv waren oder vor einem Neustart schon gemeldet wurden, lösen nicht erneut aus.
- Aktionen: die Befehle sind Gerätefunktionen, eine Szene ändert sie also mit der Standardaktion Gerät steuern (Boost ein, Verschiebung auf −2, Warmwassermodus…). Eine zusätzliche Aktion braucht es nicht.
- Der Knopf Verbindung testen im Reiter Konfiguration prüft Client-ID und Secret, zählt die Wärmepumpen und liest das Abo Premium Manage.
Szenenbeispiele
- Bei einer Störung benachrichtigt werden: Auslöser „Alarm der Wärmepumpe“ → Aktion „Nachricht
senden“:
Alarm Wärmepumpe {{triggerEvent.data.alarm_number}}: {{triggerEvent.data.header}}. - Warmwasser, wenn Strom günstig ist: um 1:30 Uhr an Niedertarif-Tagen → Gerät steuern „Warmwasser-Boost“ = ein.
- Übers Wochenende weg: wenn das Haus leer ist → „Heizkurvenverschiebung“ = −2; wenn jemand zurückkommt → 0.
- Frostwache: wenn die „Außentemperatur“ unter −15 °C fällt → Nachricht senden.
Fehlerbehebung
- „myUplink lehnt Client-ID oder Secret ab“: kopiere sie erneut von dev.myuplink.com, ohne Leerzeichen; prüfe, ob die Anwendung noch existiert.
- „Keine Wärmepumpe in diesem myUplink-Konto“: die Anwendung wurde mit einem anderen Konto angelegt als dem der Wärmepumpe. Lege sie neu an, angemeldet mit dem Konto aus der myUplink-App.
- „Eine Einstellung zu ändern erfordert das Abo Premium Manage“: Lesen funktioniert, Schreiben braucht das kostenpflichtige Abo für diese Wärmepumpe. Sobald du es hast, versuche es erneut: die Integration prüft es neu.
- „myUplink-Kontingent erreicht“: ein anderes Programm nutzt dieselbe Anwendung (Home Assistant, ein Skript…). Gib jedem seine eigene Anwendung, oder erhöhe das Aktualisierungsintervall.
- Werte, die sich nicht ändern: die Wärmepumpe schickt ihre Daten selbst alle paar Minuten an myUplink; prüfe in der myUplink-App, ob sie „verbunden“ ist.
- Eine Funktion fehlt: dein Modell benennt seine Datenpunkte anders. Starte die Integration mit
LOG_LEVEL=debugneu: die Protokolle listen die gefundenen Rollen auf. Eröffne ein Issue mit dem Modell und dieser Zeile.
Grenzen
- Nur Cloud: kein lokaler Zugriff; ohne Internet wird nichts gelesen oder geschrieben.
- Kontingent und Bedingungen: myUplink begrenzt die Zahl der Anfragen (zum Zeitpunkt des Schreibens 25 pro Minute und Anwendung) und bietet seine API für den privaten Gebrauch nach den Bedingungen von dev.myuplink.com an. Jede Aktualisierung kostet 1 Anfrage plus 1 pro in Gladys hinzugefügter Wärmepumpe (plus 1, wenn ein Alarm aktiv ist); die Integration beachtet die Kontingent-Header und wartet, wenn sie dazu aufgefordert wird. Standard alle 5 Minuten, mindestens 1 Minute.
- Verzögerung: eine Änderung in Gladys erreicht die Wärmepumpe in ein bis zwei Minuten; die nächste Abfrage bestätigt sie.
- Schreiben erfordert das Abo Premium Manage.
- Datenpunkte: nur die oben genannten Werte, gefunden über ihre NIBE-Registernummer, die „Smart-Home“-Kategorie von myUplink oder ihren englischen Namen. Die Nummern der F-Serie und der Innenmodule (VVM, SMO) sind bekannt; bei der S-Serie und den anderen Marken verlässt sich die Integration auf die Namen, was an echter Hardware nicht geprüft werden konnte.
- Der Stromverbrauch der Wärmepumpe wird nicht gelesen: kein myUplink-Datenpunkt dafür ließ sich sicher bestimmen.
Konfigurationseinstellungen
Diese Einstellungen fragt NIBE myUplink in seinem Konfigurationsbildschirm in Gladys ab.
| Einstellung | Typ | Pflichtfeld | Beschreibung |
|---|---|---|---|
| Dein myUplink-Konto verbinden | section | Nein | Melde dich auf dev.myuplink.com mit dem Konto deiner Wärmepumpe an, lege eine (kostenlose) Anwendung an und kopiere Client-ID und Secret hier hinein. Um Einstellungen aus Gladys zu ändern, brauchst du zusätzlich das myUplink-Abo Premium Manage. Die Dokumentation erklärt jeden Schritt. |
| Client-ID | string | Ja | Der „Identifier“ deiner Anwendung auf dev.myuplink.com. |
| Client-Secret | secret | Ja | Das „Secret“ derselben Anwendung. Von Gladys gespeichert, nie in den Protokollen. |
| Aktualisierungsintervall (Minuten) | number | Nein | Wie oft myUplink gelesen wird. 5 Minuten reichen für eine Wärmepumpe und schonen das Kontingent. |
| Sprache der Namen und Texte | select | Nein | Namen der Funktionen (fest, sobald das Gerät hinzugefügt ist), Alarme, Meldungen. |
So installierst du NIBE myUplink in Gladys
- Öffne in Gladys Integrationen: NIBE myUplink erscheint im Katalog neben den nativen Integrationen, mit einem Community-Badge.
- Klicke auf Installieren. Gladys lädt das Docker-Image (
ghcr.io/guim31/gladys-nibe:1.0.1) herunter, startet es in einer vom Kern isolierten Sandbox und erzeugt die Oberfläche der Integration (Geräte, Erkennung und Konfiguration). - Öffne den Bildschirm Konfiguration der Integration, fülle die Einstellungen aus und speichere.
- Du kannst sie auch direkt über die URL ihres Repositorys installieren: https://github.com/guim31/gladys-nibe.
NIBE myUplink benötigt Gladys >=5.1.0. Der Katalog in Gladys wird stündlich aktualisiert, eine neue Version ist also spätestens eine Stunde nach ihrer Veröffentlichung verfügbar.
Du nutzt Gladys noch nicht? Es ist kostenlos und Open Source: folge der Installationsanleitung, um loszulegen.
Über externe Integrationen
NIBE myUplink ist eine externe Integration: eine Community-Integration, die als Docker-Container verpackt und auf GitHub veröffentlicht wird. Gladys installiert sie mit einem Klick und führt sie in einer vom Kern isolierten Sandbox aus. Sie wird von guim31 veröffentlicht und gepflegt, nicht vom Gladys-Kernteam.
- Alle Integrationen durchsuchen, native und aus der Community
- Deine eigene externe Integration bauen und veröffentlichen
- Quellcode auf GitHub — Quelle dieser Dokumentation