[Modul] Integrations-Driver für Unfolded Circle Remote

Guten Abend,

wie schon hier YIO Remote Two auf Kickstarter - #164 von maxr erwähnt bin ich gerade dabei einen Integrations Driver für die Remote 3 zu schreiben.

Da ich das Originalen Thema nicht übernehmen will habe ich Mal eine neues aufgemacht und euch über den Fortschritt zu informieren.

Auch heute ist es wieder etwas voran gegangen und ich kann mittlerweile Buttons und Switche in der Instanz Konfiguration in entsprechenden Listen anlegen (Buttons werden auf Scripte verlinkt und Switche auf Bool variablen) und diese stehen dann auf der Remote als Entitäten zu Verfügung.

Aktuell bin ich am überlegen ob wir ich die Entitäts IDs bilden soll, zu erst dachte ich an die symcon ID der verlinkten variable aber wenn man die Verlinkung ändert wird in der Remote eine neue Entität angelegt und ich befürchte alle action in der diese entität verwendet wurde müssen angepasst werden.

Gruß max

4 „Gefällt mir“

Ich würde die Symcon ID nehmen denn alles andere würde vermutlich deutlich aufwendiger werden.

Ralf

Ja die Frage ist halt ob man sich dann nicht die Aktionen kaputt macht wenn man die Verlinkung in Symcon ändert. Auf der anderen Seite warum sollte man das machen Außer man möchte eine andere Gerät steuern aber dann würde es ja Sinn machen eine neue Entität an zu legen.

Man macht sich schon was in der R3 kaputt ist aber leicht zu repatieren. Wenn man es nur an einer Stelle macht ändert man es von Hand und wenn man es oft benutzt kann man z.B. das WebToolkit von Albaitor benutzen um alle alten UIDs durch neue auszutauschen.

Ralf

So jetzt noch Mal ein technisches Problem.

Hat von euch schon Mal jemand WebSocket Ping Pong Nachrichten verschickt bzw empfangen über das HookControll?

Keep Alive

The integration should automatically close idle connections.
In order to keep a connection open, the remote sends WebSocket Ping Pong control frames at least every 60 seconds. Furthermore, an integration should also send pings to the remote to detect stale connections and handle the standby events from the remote.

Das wird von der API der Fernbedienung gefordert.

Gruß max

[Edit] Bilder hinzugefügt.

So meine Lieben,

es ist so weit mein erstes modul hat es als Beta in den Modul Store geschafft :smiley:

”Unfoldedcircle” wie üblich müsst ihr es exakt so suchen damit ihr die Beta findet. Als Doku verweise ich momentan noch auf dieses Forums Thema, da muss ich noch überlegen ob ich mein Git repro öffentlich mache oder ob ich die Doku wo anders Hoste.

Unfolded Circle Integration

Diese Bibliothek stellt Module zur Integration der Unfolded Circle Remote (Remote Two / Remote 3) in IP-Symcon zur Verfügung.

Inhaltsverzeichnis

  1. Funktionsumfang

  2. Voraussetzungen

  3. Enthaltene Module

  4. Installation

1. Funktionsumfang

  • Integration der Unfolded Circle Remote als Steuereinheit für das Smart Home.

  • Bereitstellung von IP-Symcon Variablen und Skripten als Entitäten auf der Remote.

  • Bidirektionale Kommunikation (Status-Updates und Befehle).

2. Voraussetzungen

  • IP-Symcon ab Version 7.0

3. Enthaltene Module

  • UcRemote: Das Hauptmodul zur Verbindung und Konfiguration der Entitäten (Buttons, Switches, Selections).

4. Installation

Die Installation erfolgt über den Module Store in IP-Symcon. Suchen Sie nach „Unfolded Circle“ oder installieren Sie das Modul direkt über die Repository-URL.

UcRemote

Dieses Modul integriert die Unfolded Circle Remote (Remote Two / Remote 3) in IP-Symcon. Es ermöglicht das Steuern von Symcon-Variablen und Skripten direkt über die Fernbedienung als native Entitäten.

Inhaltsverzeichnis

  1. Funktionsumfang

  2. Voraussetzungen

  3. Software-Installation

  4. Einrichten der Instanzen in IP-Symcon

  5. Statusvariablen und Profile

  6. WebFront

  7. PHP-Befehlsreferenz

1. Funktionsumfang

  • Integration: Meldet sich als Treiber/Integration auf der Unfolded Circle Remote an.

  • Buttons: Ausführen von IP-Symcon Skripten über Buttons auf der Remote.

  • Switches: Schalten von booleschen Variablen (An/Aus) mit Statusrückmeldung.

  • Selections: Auswahl von Optionen basierend auf Variablenprofilen (Integer) mit Statusrückmeldung.

  • Echtzeit-Updates: Änderungen in IP-Symcon werden sofort an die Remote gepusht (WebSocket).

  • Einrichtung: Unterstützung bei der Generierung des API-Keys und der Registrierung der Integration.

2. Voraussetzungen

  • IP-Symcon ab Version 7.0

3. Software-Installation

  • Über den Module Store das ‚UcRemote‘-Modul installieren.

  • Alternativ über das Module Control folgende URL hinzufügen

4. Einrichten der Instanzen in IP-Symcon

Unter ‚Instanz hinzufügen‘ kann das ‚UcRemote‘-Modul mithilfe des Schnellfilters gefunden werden.

Konfigurationsseite:

Name Beschreibung
Remote IP Die IP-Adresse der Unfolded Circle Remote.
Symbox URL Die URL (inkl. Port), unter der IP-Symcon erreichbar ist (z.B. http://192.168.1.10:3777). Wichtig für den WebSocket-Callback.
Username Der Benutzername für die Remote (meist web-configurator).
Remote PIN Die PIN der Remote, um den API-Key zu generieren.
Hook Control Instanz Die Instanz des WebHook Controls (normalerweise automatisch gewählt).
API Key Der generierte API-Key (wird automatisch eingetragen).
Sprache Sprache für die Entitäten auf der Remote (z.B. ‚de‘ oder ‚en‘).
Zyklisches Statusupdate Aktiviert ein regelmäßiges Senden aller Status an die Remote (optional, da Events genutzt werden).
Button Entitäten Liste von Skripten, die als Buttons auf der Remote erscheinen sollen.
Switch Entitäten Liste von Boolean-Variablen (mit Aktion), die als Schalter erscheinen sollen.
Selection Entitäten Liste von Integer-Variablen (mit Profil), die als Auswahlliste erscheinen sollen.

5. Statusvariablen und Profile

Die Statusvariablen/Kategorien werden automatisch angelegt. Das Löschen einzelner kann zu Fehlfunktionen führen.

Statusvariablen

Das Modul verwendet keine eigenen Statusvariablen zur Anzeige, sondern nutzt die konfigurierten Symcon-Variablen direkt.

Profile

Es werden keine speziellen Profile angelegt.

6. Visualisierung

Das Modul dient als Backend für die Unfolded Circle Remote. In der IP-Symcon Visualisierung (WebFront/Tile) bietet es Buttons zum Einrichten der Verbindung (API Key holen, Registrieren).

7. PHP-Befehlsreferenz

boolean UCR_GetApiKey(integer $InstanzID); Versucht, einen API-Key von der Remote abzurufen (benötigt IP, User und PIN).

boolean UCR_RegisterIntegration(integer $InstanzID); Registriert IP-Symcon als Integration auf der Remote.

boolean UCR_TestConnection(integer $InstanzID); Testet die Verbindung zur Remote.

Ein bekanntes Problem gibt es noch, die Integration wird immer als nicht verbunden an gezeigt, dies liegt vermutlich daran das Symcon keine Websocket Ping/Pong Packete verarbeitet.
Damit man trotzdem die Entitäten bedienen kann, kann man in der Instanz Konfiguration einstellen das Symcon zyklisch, die aktuellen Zustände an die Remote sendet, so So bleiben die Entitäten online.

Leider bedeutet das auch das Aktuell noch eine Warnung Erscheint wenn man eine Aktion startet in der eine Symcon Entität enthlaten ist.

Hier noch ein Paar Bilder:

Nach dem ihr die IP Adresse der Remote, die URL unter der eure Symcon erreichbar ist und den Pin der Fernbedienung eingetragen hab, könnt ihr den API Key abrufen und die Verbindung testen.
Am Schluss müsst ihr die Integration noch in der Fernbedienung registrieren.

So sieht meine Liste der verknüpften variablen aus.
Da fällt mir gerade auf das die Select variablen natürlich vom typ Integer sind nicht Boolean

Viel spaß beim Testen.
Max

Danke für das Modul

leider bekomme ich beim Registrieren eine Fehlermeldung

15.02.2026, 17:21:48 | UcaRegisterIntegration | Registering driver with Unfolded Circle: {„driver_id“:„uc_symcon_17510“,„version“:„0.0.1“,„name“:{„en“:„IP-Symcon (17510)“,„de“:„IP-Symcon (17510)“},„icon“:„uc:house“,„driver_url“:„192.168.178.12:3777/hook/uc_remote_17510“,„enabled“:true,„device_discovery“:false,„auth_method“:„HEADER“,„token“:„6KTpb5D.MDMzODFkMDMzNWEzNDc4MmE5Zjk5M2Y3ZTE3YzgxZmIuNTViODczNDc5ZGYwNDhhZDg1MWYxMGZmZjgyNDAzYmI“,„developer“:{„name“:„MRauch“}}

15.02.2026, 17:21:48 | UcaSendDataToRemote | Fehlercode: 400 Body: {„code“:„VALIDATION_ERROR“,„message“:„driver_url: Validation error: url [{„value“: String(„192.168.178.12:3777/hook/uc_remote_17510“)}]“,„errors“:[{„field“:„driver_url“,„field_errors“:[{„code“:„URL“,„message“:„Validation error: url [{„value“: String(„192.168.178.12:3777/hook/uc_remote_17510“)}]“,„params“:{}}]}]}

Kann es sein das du im Symcon url Feld das Http:// oder ws:// nicht mit angegeben hast?

Eigentlich wäre ws:// richtig aber die ki war so schlau den Code so zu schreiben das Http durch ws ersetzt wird somit geht beides.

Gruß max

danke genau das wars

1 „Gefällt mir“

Soll das so sein das keine Verbindung angezeigt wird? Schalten lässt sich aber zb mein Licht.

Naja es sollte nicht so sein aber aktuell ist es noch so,

Ein bekanntes Problem gibt es noch, die Integration wird immer als nicht verbunden an gezeigt, dies liegt vermutlich daran das Symcon keine Websocket Ping/Pong Packete verarbeitet.
Damit man trotzdem die Entitäten bedienen kann, kann man in der Instanz Konfiguration einstellen das Symcon zyklisch, die aktuellen Zustände an die Remote sendet, so So bleiben die Entitäten online.

Hier noch Mal das Zitat aus meinem Beitrag.

@paresy darf ich dich noch Mal freundlich auf das Thema WebSocket Ping Pong auf aufmerksam machen. Ich hatte weiter oben schon Mal gefragt ob und wie ich ein Webhook dazu bringe auf die WebSocket Pings des Clint’s zu antworten.

Moin,

Ich würde gerne testen kann aber nicht. Ich bin auf IPS 8.2 und “Unfolded Circle” wird mir im Store nicht angezeigt. Link auf git liefert Error 404 ich vermute Repository steht auf Privat.

Ralf

Interesant das man das beta Modul nicht findet, eventuell liegt es daran, dass das Modul nicht vom Typ “IPSModuleStrict” erbt sonder noch vom “IPSModule”

komisch bin auf der 9.0 und da ging es zu installieren

Musst genau „Unfoldedcircle“ suchen.

Moin,

danke damit hat es geklappt. Modul ist installiert und registriert. Mal sehen was ich damit mache.

Ich habe mal 6 Schalter konfiguriert die werden mir in der R3 aber nicht angezeigt.

Ralf

Hast du das Setup noch mal an gestartet nach dem du die Schlater angelegt hattest?

Da habe ich vorher nicht dran gedacht :slight_smile:

Max

Vielleicht kann man den Threadtitel noch korrigieren, da sind gleich zwei Buchstabendreher im Namen

2 „Gefällt mir“

Du meinst in WebConfig der R3? Ja da steht nur Weiter aber keine Entitäten. Wenn ich auf Weiter klicke kommt “Driver not connected. Invalid response status”.

Ralf

Interesant, was sagt den dein Debug von der Instanz. Eventuell hast du wie @somm die URL des symcon systems falsch angegen. diese muss mit http:// oder ws:// beginnen oder eben https:// , wss:// wenn es wie bei mir hinter einem Reversproxy mit Zertifikat verborgen ist.

Max