Seite 1 von 2

CUxDaemon und MQTT Broker

Verfasst: 30.07.2023, 13:11
von andy_hmf
Hallo Forum,

ich bin ein Newbee was das Thema HomeMatic angeht.

Ich betreibe eine HomeAssistant Installation auf einem älterem x86-64 mini HP Desktop.
Das dort installierte RaspberryMatic Addon (Docker) spricht via USB den USB 1-5 - eQ-3 HmIP-RFUSB [FF] Stick direkt an.
Meine Somfy RTS Markise wird via USB 1-4.1 - {CUX} CUL868 [COMM] - /dev/ttyACM0 {:3799s} - V 1.67 CUL868 (CUL_V3) und das RaspberryMatic Addon CUxD gesteuert. Das funktioniert sehr gut.
Da CUxD Geräte von dem HA Addon "Homematic (IP) local" (BINRPC) nicht unterstützt werden wollte ich Mosquitto als Vermittler nutzen.
Das "ccu-addon-mosquitto" funktioniert auf x86-64 leider nicht, deshalb habe ich mir die Version 1.6.15 selbst kompiliert und eingebunden.
Funktioniert alles soweit perfekt.
Jetzt stehe ich so ziemlich auf dem Schlauch. Wie binde das CUxD-Gerät (senden und empfangen) im lokalem RM-MQTT-Broker ein, sodass ich die Daten dann vom HomeAssistant aus weiter nutzen kann?

Viele Grüße
Andreas

Re: CUxDaemon und MQTT Broker

Verfasst: 30.07.2023, 15:01
von chka
willkommen ggf hilft das hier viewtopic.php?t=56007

Re: CUxDaemon und MQTT Broker

Verfasst: 30.07.2023, 20:58
von andy_hmf
Danke für die schnelle Antwort.

Da wird Node-Red genutzt, das halte ich in meinem Fall für mit Kanonen auf Spatzen geschossen.

Dafür habe ich jetzt doch meinen selbstgebauten Mosquitto (vielleicht war die Mühe umsonst) doch gegen das Addon ccu-jack ausgetauscht.
MQTT kann das Teil so wie so und dort steht auch was über CUxD Unterstützung.

Ich schaue ob ich damit weiterkomme.

VG
Andreas

Re: CUxDaemon und MQTT Broker

Verfasst: 22.04.2024, 16:08
von andy_hmf
Hallo,

ich wollte das Thema erneut aufgreifen.
Ich bin jetzt soweit weitergekommen, dass ich den CCU-Jack Broker nutzen kann und im MQTT-Explorer die Topics sehen kann.
Topics.PNG
Topics.PNG (17.52 KiB) 253 mal betrachtet
Leider fehlt mir noch der Rückweg (das Senden). Habe hier im Forum gelesen, dass nur der {"v": true} zurückgesendet wird.
Aber der CCU-Jack lehnt die Werte ab.
CCU-Jack.PNG
CCU-Jack.PNG (15.63 KiB) 253 mal betrachtet
VG
Andreas

Re: CUxDaemon und MQTT Broker

Verfasst: 22.04.2024, 16:13
von Baxxy
Nicht so knauserig mit Info's sein.

Was für ein CUxD-Gerät hast du angelegt und auf welches Topic schreibst du den Wert?

Re: CUxDaemon und MQTT Broker

Verfasst: 22.04.2024, 19:59
von andy_hmf
Aktuelle Geräteeinstellungen - 1 Gerät(e), 16 Channel(s):

CUX4000001: dev('') BLIND
CUX4000001:1 RCV_SHORT('') --> EXEC:CMD_SHORT('tclsh /usr/local/addons/rollo/somfy.tcl CUX4000001:1 Somfy $VALUE$ A0 A00000')
RCV_LONG('') --> EXEC:CMD_LONG('tclsh /usr/local/addons/rollo/somfy.tcl CUX4000001:1 Somfy $VALUE$ A0 A00000')
EXEC:CMD_STOP('tclsh /usr/local/addons/rollo/somfy.tcl CUX4000001:1 Somfy STOP A0 A00000')

Ich versuche auf dieses MQTT Topic zu schreiben
mosquitto_pub -h 192.168.178.xxx -u xxxx -P 'xxxxxx' -p 11883 -t 'device/set/CUX4000001/1/STOP' -m {"v":true}

Re: CUxDaemon und MQTT Broker

Verfasst: 22.04.2024, 21:55
von andy_hmf
Habe doch teilweise die falschen Topics benutzt.

Versuche mit Curl funktionieren

Code: Alles auswählen

curl -X PUT -d '{"v":0}' -u xxxx:XXXXX http://localhost:2121/device/CUX4000001/1/LEVEL/\~pv
curl -X PUT -d '{"v":true}' -u xxxx:XXXXX http://localhost:2121/device/CUX4000001/1/STOP/\~pv
curl -X PUT -d '{"v":1}' -u xxxx:XXXXX http://localhost:2121/device/CUX4000001/1/LEVEL/\~pv
ich kann die Markise rausfahren, stoppen und einfahren.

Das setzen der Datenpunkte via MQTT aufs gleiche Topic geht aber nach wie vor nicht. :(

Code: Alles auswählen

2024-04-22 22:04:51	WARNING	mqtt	Writing parameter CUX4000001:1.LEVEL failed: Invalid type for FLOAT: "{v:false}"
2024-04-22 22:04:40	WARNING	mqtt	Writing parameter CUX4000001:1.LEVEL failed: Invalid type for FLOAT: "{v:true}"
2024-04-22 22:03:26	WARNING	mqtt	Writing parameter CUX4000001:1.LEVEL failed: Invalid type for FLOAT: "{v:0}"
2024-04-22 22:03:14	WARNING	mqtt	Writing parameter CUX4000001:1.LEVEL failed: Invalid type for FLOAT: "{v:1}"
Sagt das Logging im CCU-Jack.

Re: CUxDaemon und MQTT Broker

Verfasst: 23.04.2024, 13:46
von Mathias
Versuche mal Folgendes über MQTT zu senden:

Code: Alles auswählen

{"v":0}
(v in " setzen)

Gruß
Mathias

Re: CUxDaemon und MQTT Broker

Verfasst: 23.04.2024, 16:20
von Baxxy
andy_hmf hat geschrieben:
22.04.2024, 21:55
Das setzen der Datenpunkte via MQTT aufs gleiche Topic geht aber nach wie vor nicht.
Auf den LEVEL ein Boolean (true/false) oder auch ein Integer (0/1) zu senden ist auch Quatsch.
Erwartet wird bei LEVEL ein Float, also 0.00 - 1.00 (0% - 100%; Beispiel: 0.33 = 33%)

STOP erwartet ein Boolean (true), das kann ich per MQTT-Explorer problemlos publishen.
CUxD_Roll_MQTT-Explorer.JPG

Re: CUxDaemon und MQTT Broker

Verfasst: 25.04.2024, 20:18
von andy_hmf
Danke für die Tipps.

Das mit dem true auf LEVEL war wohl nur noch ein weiterer verzweifelter Versuch. Der Unterschied zwischen Integer, Float oder Bool ist mir schon bekannt.
Das was mich aber etwas doch überrascht ist, das nicht etwa

Code: Alles auswählen

{"v":0}
zum SET_STATE sondern einfach nur 0 gesendet wird.

Ich muss jetzt noch weiter testen, denn noch macht die Markise ganz komische Bewegungen. Zum Beispiel, fährt sie beim STOP=true einfach ein kleines Stück raus und bleibt dann so stehen.