Controme

Verbindet sich mit lokalem Controme Miniserver, der dein Heizungssystem steuert

Aktueller Release
0.5.7
Entwickler
MadErstam
Lizenz
MIT

ioBroker-Adapter für Controme Mini-Server

Stellen Sie über die offizielle API eine Verbindung zum lokalen Controme-Mini-Server her.

Controme ist ein Heizungssteuerungssystem, mit dem Sie Ihre Fußbodenheizung, Zentralheizung, Heizkörper oder andere Klimatisierungssysteme steuern können. Herzstück eines Controme Smart-Heat-Systems ist der Controme Mini-Server, ein lokales System auf Basis eines Raspberry Pi. Weitere Informationen zum Controme Smart-Heat-System finden Sie auf der Controme-Website .

Der Adapter liest regelmäßig die Raumtemperaturen vom Mini-Server aus und ermöglicht die Einstellung der Solltemperaturen auf dem Server über ioBroker. Für die Nutzung dieses Adapters muss die Controme-API aktiviert sein. Der Adapter ersetzt nicht die Controme-Benutzeroberfläche, sondern stellt grundlegende Daten und Funktionen bereit, um Controme in andere Smart-Home-Geräte und -Dienste zu integrieren.

Der Adapter liefert für jeden in der Controme-Benutzeroberfläche definierten Raum die folgenden Daten:

ObjektTypBeschreibunglesen/schreiben
Raum-IDGerätJeder Raum wird durch seine Controme-Raum-ID und den Raumnamen als Gerätenamen repräsentiert.
roomID.actualTemperatureZustandDie tatsächliche Raumtemperatur, mit der Rolle „level.temperature“. Dieser Zustand ist schreibgeschützt. Wenn für einen bestimmten Raum kein Raumtemperatursensor definiert ist, gibt der Controme-Miniserver die tatsächliche Temperatur „null“ zurück.lesen
Raum-ID.LuftfeuchtigkeitZustandDie Luftfeuchtigkeit im Raum, dargestellt durch die Variable „level.humidity“. Dieser Wert ist schreibgeschützt. Wenn der Sensor im Raum keine Luftfeuchtigkeit misst, ist dieser Wert null.lesen
RaumID.SollwerttemperaturZustandDie Ziel-/Solltemperatur des Raumes, mit der Rolle Wert.Temperatur.lesen/schreiben
roomID.setpointTemperaturePermZustandDie permanente Ziel-/Solltemperatur des Raumes, mit der Rolle Wert.Temperatur.lesen/schreiben
roomID.temperatureOffsetZustandDie Temperaturabweichung des Raumes, um die die Sensormessungen von der tatsächlichen Raumtemperatur abweichen. Der Wert der Temperaturabweichung kann manuell in der Controme-Benutzeroberfläche eingestellt werden und wird zusätzlich von verschiedenen Controme-Modulen berechnet.lesen
roomID.modeZustandBeschreibt den Betriebsmodus des Raumes, z. B. „Heizung“.lesen
roomID.is_temporary_modeZustandZeigt an, dass vorübergehende Änderungen der Solltemperatur in Kraft sind.lesen
roomID.temporary_mode_endZustandWenn für den Raum ein temporärer Modus aktiv ist, zeigt dieser Status an, wann dieser temporäre Zustand endet. Wenn kein temporärer Modus aktiv ist, ist dieser Status null.lesen
roomID.temporary_mode_remainingZustandWenn für den Raum ein temporärer Modus aktiv ist, zeigt dieser Status die verbleibenden Sekunden an, in denen dieser Modus aktiv ist. Ist kein temporärer Modus aktiv, ist dieser Status leer. Änderungen dieses Status werden an Controme zurückgemeldet und ändern die verbleibende Zeit des temporären Modus anhand der im Status „setpointTemperate“ definierten Solltemperatur.lesen/schreiben
roomID.offsetsKanalDie Abweichungen werden zur Soll-Raumtemperatur addiert oder von ihr subtrahiert. Dieser Kanal gruppiert alle Abweichungen, die zum jeweiligen Raum gehören.
roomID.offsets.[OFFSET-GROUP]KanalJede Offsetquelle wird durch einen eigenen Kanal innerhalb des Offsetkanals des Raums repräsentiert, zu dem der Offset gehört.
roomID.offsets.[OFFSET-GROUP].[OFFSET]ZustandDie einzelnen Offset-Zustände repräsentieren die verschiedenen Anpassungen, die vom Controme Mini-Server vorgenommen wurden.lesen
roomID.offsets.apiKanalDiese Offset-Gruppe ist speziell, da ihre Zustände beschrieben und zur Manipulation des tatsächlichen Raum-Offsets verwendet werden können.
roomID.offsets.api.apiZustandDieser Offset-Zustand wird standardmäßig vom Adapter erstellt. Sie können ihn verwenden, um die tatsächlichen Raum-Offsets zu bearbeiten. Die Offset-Werte werden alle 10 Minuten vom Server zurückgesetzt.lesen/schreiben
roomID.sensorenKanalDie Sensoren liefern die tatsächlichen Messwerte des Raumes. Dieser Kanal gruppiert alle dem jeweiligen Raum zugeordneten Sensoren.
roomID.sensors.[SENSOR-ID]GerätJeder Sensor wird durch ein Gerät innerhalb des Sensorkanals des Raums repräsentiert, dem er zugeordnet ist.
roomID.sensors.[SENSOR-ID].isRoomTemperatureSensorZustandDieser boolesche Wert gibt an, ob ein Sensor als Raumtemperatursensor verwendet wird. Pro Raum kann nur ein einziger Sensor als Raumtemperatursensor eingesetzt werden.lesen
roomID.sensors.[SENSOR-ID].actualTemperatureZustandDieser Zustand repräsentiert die vom Sensor gemessene Temperatur. Der Zustand ist lesbar/beschreibbar, jedoch akzeptieren nur 1-Wire-Sensoren oder virtuelle Sensoren die eingegebenen Werte. Wird ein Wert an einen realen Sensor gesendet, wird dieser bei der nächsten Messung überschrieben.lesen/schreiben
roomID.outputsKanalDie Ausgänge steuern typischerweise Ventile, die die Heizung des Raumes regeln. Dieser Kanal gruppiert alle Ausgänge, die dem jeweiligen Raum zugeordnet sind.
roomID.outputs.[OUTPUT-ID]ZustandJeder Ausgang wird durch einen Zustand innerhalb des Ausgabekanals des zugehörigen Raums repräsentiert. Die Ausgabe-ID-Nummer entspricht der Nummer des Ausgangs am Gateway.lesen
Gateway-MACGerätJedes Gateway wird durch seine MAC-Adresse und den Gateway-Namen als Gerätenamen repräsentiert.
gatewayMAC.gatewayTypeZustandDer Gateway-Typ. Aktuell gibt es vier Controme-Gateways: Floor Gateway Smart, Floor Gateway Pro, Universal Gateway Mini und Universal Gateway Pro.lesen
gatewayMAC.isUniversalZustandGibt an, ob es sich beim Gateway um eines der universellen Gateways handelt. Daten von universellen Gateways müssen auf andere Weise abgefragt werden.
gatewayMAC.outputsKanalDie Ausgänge steuern typischerweise Ventile, die die Raumheizung für Fußbodenheizungs-Gateways oder Geräte im Heizraum (Pumpen, Ventile) regeln. Dieser Kanal fasst alle Ausgänge des jeweiligen Gateways zusammen.lesen
gatewayMAC.outputs.[OUTPUT-ID]ZustandJeder Ausgang wird durch einen Zustand innerhalb des Ausgabekanals des zugehörigen Gateways repräsentiert. Die Ausgabe-ID-Nummer entspricht der Nummer des Ausgangs auf dem Gateway, wie in der Konfiguration festgelegt.lesen

Die API-Dokumentation finden Sie auf der Controme-Website.

Um den Adapter zu starten, müssen die folgenden Daten auf der Administrator-Einstellungsseite für die Adapterinstanz angegeben werden:

DatenfeldTypBeschreibung
URLTextDie URL des Controme-Miniservers. Kann entweder die IP-Adresse oder der Name sein.
Haus-IDNummerDie ID der Controme-Installation. Diese sollte laut API-Dokumentation entweder 1 oder 2 sein.
IntervallNummerDas Intervall in Sekunden, in dem die Daten vom Server abgefragt werden. Dieser Wert sollte zwischen 15 und 3600 Sekunden liegen. Zu niedrige Werte sind nicht sinnvoll, da Controme die Sensorwerte nur alle 3–5 Minuten aktualisiert.
erzwingenReInitKontrollkästchenWenn dieses Kontrollkästchen aktiviert ist, löscht Controme die Objektstruktur in der ioBroker-Datenbank und lädt die Räume vom Server neu. Diese Einstellung ist nur erforderlich, wenn sich die Raumstruktur auf dem Controme-Server ändert.
warnOnNullKontrollkästchenWenn dieses Kontrollkästchen aktiviert ist, protokolliert der Adapter Warnungen, sobald ein Sensor einen NULL-Wert zurückgibt. Die Rückgabe von NULL-Werten ist bei Fenstersensoren erwartbar, deutet aber bei Temperatursensoren auf ein Verbindungsproblem hin. Die API erlaubt keine Unterscheidung zwischen den beiden Typen.
BenutzernameTextDer Benutzername für den Zugriff auf die Controme-API. Dies ist üblicherweise der Benutzername des Hauptbenutzers von Controme.
PasswortPasswortDas Passwort des Benutzers, mit dem auf die Controme-API zugegriffen werden soll. Dieses Passwort ist verschlüsselt.
GatewaysTischAlle Gateways, von denen der Adapter die Daten abfragen soll, müssen mit drei Werten konfiguriert werden:
gateways.gatewayMACZeichenketteDie MAC-Adresse des jeweiligen Gateways.
gateways.typeZeichenketteDer jeweilige Gateway-Typ. Dies kann entweder Floor Gateway Smart/Pro, Universal Gateway Mini oder Universal Gateway Pro sein.
gateways.nameZeichenketteDer Name des jeweiligen Gateways.
Gateway-AusgabenTischAlle Ausgänge aller Gateways, von denen der Adapter die Daten abfragen soll, müssen mit drei Werten konfiguriert werden:
gatewayOutputs.gatewayMACZeichenketteDie MAC-Adresse des jeweiligen Gateways. Diese muss mit einem der in der Gateway-Tabelle konfigurierten GatewayMAC-Werte übereinstimmen. Bitte beachten Sie, dass der Adapter derzeit nicht überprüft, ob die Gateway-MAC-Adressen mit den in der Gateway-Tabelle konfigurierten übereinstimmen. Stellen Sie daher bitte sicher, dass die Gateway-MAC-Adressen in beiden Tabellen übereinstimmen.
gatewayOutputs.outputIDNummerDie Ausgabekennung des jeweiligen Gateways, das abgefragt werden soll. Bei Mini-Gateways muss diese Zahl zwischen 1 und 8 liegen, bei anderen Gateways kann sie zwischen 1 und 15 liegen.
gatewayOutputs.outputNameZeichenketteDer Name des jeweiligen Ausgangs des Gateways.

Aufgaben

  1. (in Bearbeitung) Testen, testen, testen
  2. Freigabe des Adapters für die stabile Version nach gründlichen Tests

Bugs kennen

  1. ...

Changelog

0.5.7 (2025-02-22)

  • (MadErstam) Made adapter safe to handle different versions of API
  • (MadErstam) Switched from got to axios for future compatibility

0.5.6 (2025-02-21)

  • (MadErstam) Bugfixing regarding invalid API responses or invalid sensor values

0.5.5 (2025-02-20)

  • (MadErstam) Bugfixing regarding async and promise

0.5.4 (2025-02-15)

  • (MadErstam) Made sensor names safe
  • (MadErstam) Bugfixing in getOutputs

0.5.3 (2024-11-27)

  • (MadErstam) Various smaller bugfixes and improvements

0.5.2 (2024-11-25)

  • (MadErstam) Make object IDs for offsets safe

0.5.1 (2024-11-06)

  • (MadErstam) Minor bugfixing

0.5.0 (2024-11-05)

  • (MadErstam) Added handling of temporary mode
  • (MadErstam) Conducted code refactoring to improve readability and maintainability
  • (MadErstam) Again moved admin translations to make it compatible with automatic translations

0.4.7 (2024-11-04)

  • (MadErstam) Moved admin translations to separate files

0.4.6 (2024-11-04)

  • (MadErstam) Added translations of admin form to Ukrainian

0.4.5 (2024-11-03)

  • (MadErstam) Fixed remaining warnings of automated adapter checker

0.4.4 (2024-11-03)

  • (MadErstam) Cleaned up warnings of automated adapter checker

0.4.3 (2024-11-03)

  • (MadErstam) Cleaned up errors of automated adapter checker

0.4.2 (2024-11-02)

  • (MadErstam) Preparations for adapter package release

0.4.1 (2024-11-02)

  • (MadErstam) Preparations for adapter package release

0.4.0 (2024-10-31)

  • (MadErstam) Extended api calls to include humidity and temporary mode states
  • (MadErstam) Changed dependencies

0.3.4-alpha.2 (2022-06-01)

  • (MadErstam) Added validation of setTargetTemp, setSetpointTemp, setActualTemp, setOffsetTemp values
  • (MadErstam) Changed dependencies
  • (MadErstam) Cleaning up

0.3.4-alpha.1 (2022-04-25)

  • (MadErstam) Prepare for release

0.3.4-alpha.0 (2022-04-25)

  • (MadErstam) Prepare for release

0.3.3 (2022-04-25)

  • (MadErstam) Updated dependencies

0.3.2 (2022-04-25)

  • (MadErstam) Prepare for release

0.3.1 (2022-04-25)

  • (MadErstam) Cleaning up adapter, bugfixing, extended readme

0.3.0

  • (MadErstam) Extended API polling (outputs, gateways)

0.2.4

  • (MadErstam) Bugfixing

0.2.3

  • (MadErstam) Bugfixing

0.2.2

  • (MadErstam) Bugfixing in offset handling

0.2.1

  • (MadErstam) Improved offset handling

0.2.0

  • (MadErstam) Added sensors and offsets

0.1.2

  • (MadErstam) Preparations for adapter package release

0.1.1

  • (MadErstam) Minor bug fixes

0.1.0

  • (MadErstam) initial release

License

Copyright (c) 2025 MadErstam erstam@gmx.de

MIT License

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.