CCU-Jack: REST-API/MQTT-Server/MQTT-CCU-Adapter

Der CCU-Jack als REST- und MQTT-Schnittstelle für die CCU und virtuelle Geräte für das IoT

Moderator: Co-Administratoren

Mathias
Beiträge: 1779
Registriert: 03.11.2010, 10:25
System: CCU
Wohnort: Aachen
Hat sich bedankt: 58 Mal
Danksagung erhalten: 258 Mal
Kontaktdaten:

Re: CCU-Jack: REST-API/MQTT-Server/MQTT-CCU-Adapter

Beitrag von Mathias » 05.06.2020, 13:15

MQTT über WebSockets wird vom CCU-Jack noch nicht unterstützt. Ich habe es mal als Feature-Request aufgenommen. Über die REST-API kannst Du natürlich auch Werte lesen und setzen.

Viele Grüße
Mathias

Flip
Beiträge: 6
Registriert: 20.09.2016, 00:17

Re: CCU-Jack: REST-API/MQTT-Server/MQTT-CCU-Adapter

Beitrag von Flip » 05.06.2020, 22:30

Danke Mathias.

Bei der Rest-API hab ich Probleme mit CORS. Für eine gebaute und deployte Version der App funktioniert es wenn ich den CORS Parameter entsprechend setzte. Mit dem Default Wert * erlaubt weder Chrome noch Firefox die Requests. Für die Entwicklung hab ich es unter localhost:4200 leider gar nicht zum Laufen gebracht.
Dabei ist mir auch aufgefallen, dass man für den CORS Parameter nur einen Wert setzen kann. Wäre es viel Arbeit das wie unter https://stackoverflow.com/questions/173 ... le-domains beschrieben umzubauen und mehrere Werte zu erlauben?

Soweit ich weis gibt es bei WebSockets die CORS Problematik nicht. Daher wäre das für mich natürlich ideal. Kein Polling und kein CORS :D Ich kann leider kein Go, sonst würde ich auch gerne einen Pull Request beisteuern.


Grüße
Philipp

Mathias
Beiträge: 1779
Registriert: 03.11.2010, 10:25
System: CCU
Wohnort: Aachen
Hat sich bedankt: 58 Mal
Danksagung erhalten: 258 Mal
Kontaktdaten:

Re: CCU-Jack: REST-API/MQTT-Server/MQTT-CCU-Adapter

Beitrag von Mathias » 06.06.2020, 18:05

Flip hat geschrieben:
05.06.2020, 22:30
Mit dem Default Wert * erlaubt weder Chrome noch Firefox die Requests. Für die Entwicklung hab ich es unter localhost:4200 leider gar nicht zum Laufen gebracht.
Machst Du die Anfragen vielleicht mit Benutzername und Passwort. Dies müssen die Browser ablehnen, wenn Access-Control-Allow-Origin auf * gesetzt ist. Hast Du im Origin auch Protokoll und Port mit angegeben?
Flip hat geschrieben:
05.06.2020, 22:30
Dabei ist mir auch aufgefallen, dass man für den CORS Parameter nur einen Wert setzen kann. Wäre es viel Arbeit das wie unter https://stackoverflow.com/questions/173 ... le-domains beschrieben umzubauen und mehrere Werte zu erlauben?
Mehrere Origins werden intern im CCU-Jack bereits unterstützt, ich werde mal den Kommandozeilenparameter -cors erweitern.
Flip hat geschrieben:
05.06.2020, 22:30
Soweit ich weis gibt es bei WebSockets die CORS Problematik nicht. Daher wäre das für mich natürlich ideal. Kein Polling und kein CORS :D Ich kann leider kein Go, sonst würde ich auch gerne einen Pull Request beisteuern.
Ja, CORS wird nicht bei WebSockets genutzt. Aber WebSocket-Unterstützung für MQTT werde ich bei Gelegenheit in den CCU-Jack einbauen. Als Übergangslösung kannst Du mal websockify o.ä. probieren, damit kannst Du den MQTT-Port als WebSocket anbieten.

Viele Grüße
Mathias

Flip
Beiträge: 6
Registriert: 20.09.2016, 00:17

Re: CCU-Jack: REST-API/MQTT-Server/MQTT-CCU-Adapter

Beitrag von Flip » 07.06.2020, 19:45

Hallo Mathias,

Danke für deine Antwort.
Mathias hat geschrieben:
06.06.2020, 18:05
Machst Du die Anfragen vielleicht mit Benutzername und Passwort. Dies müssen die Browser ablehnen, wenn Access-Control-Allow-Origin auf * gesetzt ist. Hast Du im Origin auch Protokoll und Port mit angegeben?
Nein, kein Benutzername und Passwort. Ja, ist auf http://localhost:4200 gesetzt.
Mathias hat geschrieben:
06.06.2020, 18:05
Mehrere Origins werden intern im CCU-Jack bereits unterstützt, ich werde mal den Kommandozeilenparameter -cors erweitern.
Super, danke.
Mathias hat geschrieben:
06.06.2020, 18:05
Ja, CORS wird nicht bei WebSockets genutzt. Aber WebSocket-Unterstützung für MQTT werde ich bei Gelegenheit in den CCU-Jack einbauen. Als Übergangslösung kannst Du mal websockify o.ä. probieren, damit kannst Du den MQTT-Port als WebSocket anbieten.
Danke für den Tip. Werde ich ausprobieren.


Grüße
Philipp

Mathias
Beiträge: 1779
Registriert: 03.11.2010, 10:25
System: CCU
Wohnort: Aachen
Hat sich bedankt: 58 Mal
Danksagung erhalten: 258 Mal
Kontaktdaten:

Re: CCU-Jack: REST-API/MQTT-Server/MQTT-CCU-Adapter

Beitrag von Mathias » 09.09.2020, 22:12

Nachdem die eigentliche Funktionalität schon länger im CCU-Jack fertig implementiert ist, wird in dieser Version (und auch in den kommenden) die Benutzerfreundlichkeit weiter voran getrieben.

Auf GitHub ist die neue Version zu finden.

Fehlerbehebungen / Verbesserungen
Es handelt sich zwar immer noch um eine Vorabversion, funktional und von der Stabilität ist sie nah an der v1.0.

Berliner83
Beiträge: 26
Registriert: 01.01.2020, 19:06
Wohnort: Berlin
Hat sich bedankt: 5 Mal
Kontaktdaten:

Re: CCU-Jack: REST-API/MQTT-Server/MQTT-CCU-Adapter

Beitrag von Berliner83 » 08.10.2020, 21:58

Warum werden denn eigentlich keine "virtuellen" CUxD Geräte mit CCU-Jack gefunden? Oder ist das nur bei mir so?
RaspberryMatic, RedMatic, ioBroker, OpenHAB

Benutzeravatar
Baxxy
Beiträge: 10746
Registriert: 18.12.2018, 15:45
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 599 Mal
Danksagung erhalten: 2199 Mal

Re: CCU-Jack: REST-API/MQTT-Server/MQTT-CCU-Adapter

Beitrag von Baxxy » 08.10.2020, 23:27

Berliner83 hat geschrieben:
08.10.2020, 21:58
Oder ist das nur bei mir so?
Nein. Ich denke Matthias hat das CUxD-Interface (noch) nicht implementiert. Sieht man auch gut an der ccu-jack.cfg

Code: Alles auswählen

"Interfaces": [
      "BidCosRF",
      "HmIPRF",
      "VirtualDevices"
    ],

Mathias
Beiträge: 1779
Registriert: 03.11.2010, 10:25
System: CCU
Wohnort: Aachen
Hat sich bedankt: 58 Mal
Danksagung erhalten: 258 Mal
Kontaktdaten:

Re: CCU-Jack: REST-API/MQTT-Server/MQTT-CCU-Adapter

Beitrag von Mathias » 10.10.2020, 22:12

Das offizielle und dokumentierte Protokoll um mit den Schnittstellenprozessen der CCU zu kommunizieren ist XML-RPC. Dieses wird von allen Schnittstellenprozessen unterstützt. Deshalb unterstützt der CCU-Jack erst einmal nur XML-RPC.

Die "alten" Schnittstellen BidCos-RF und BidCos-Wired sprechen zusätzlich BIN-RPC. Dies wird intern auch von der RegaHss (Logik-Schicht der CCU) für diese verwendet.

Der CUxD kann leider nur BIN-RPC. Eine XML-RPC-Unterstützung war, glaube ich, mal angedacht. Den aktuellen Stand kenne ich nicht.

Das Protokoll BIN-RPC im CCU-Jack zu implementieren ist ein größerer Aufwand. Den Aufwand will ich lieber in andere neue Features vom CCU-Jack stecken.


Kilowatt_W
Beiträge: 22
Registriert: 19.12.2018, 20:45
Hat sich bedankt: 2 Mal

Re: CCU-Jack: REST-API/MQTT-Server/MQTT-CCU-Adapter

Beitrag von Kilowatt_W » 22.12.2020, 16:52

Hallo zusammen,

das hört sich wirklich nach einem spannenden Projekt an.

Sehe ich das richtig das CCU-Jack in der aktuellen Version sowohl das Mosquitto-Addon wie auch das xmp-api Addon ablösen kann ?

Vorallem der alte Mosqitto wäre mir recht ?

Danke

Kilowatt

Antworten

Zurück zu „CCU-Jack“