CUxDaemon und MQTT Broker

Anbindung von FS20-Komponenten, ELV-Wetterstationen, EnOcean und DMX an HomeMatic

Moderator: Co-Administratoren

andy_hmf
Beiträge: 8
Registriert: 30.07.2023, 12:36
System: sonstige
Danksagung erhalten: 1 Mal

CUxDaemon und MQTT Broker

Beitrag von andy_hmf » 30.07.2023, 13:11

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

chka
Beiträge: 2520
Registriert: 13.02.2012, 20:23
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 322 Mal
Danksagung erhalten: 121 Mal

Re: CUxDaemon und MQTT Broker

Beitrag von chka » 30.07.2023, 15:01

willkommen ggf hilft das hier viewtopic.php?t=56007
RaspberryMatic - CuL 868mHz- CuxDemon - PioTek Tracker - Velux mit KLF200 und Somfy Anbindung- io.Broker auf Proxmox NUC6I3SYH i3-6100U RAM: 40Gig Crucial 8GB DDR4 CT2K8G4SFS824A + 32GB DDR4CT32G4SFD8266

andy_hmf
Beiträge: 8
Registriert: 30.07.2023, 12:36
System: sonstige
Danksagung erhalten: 1 Mal

Re: CUxDaemon und MQTT Broker

Beitrag von andy_hmf » 30.07.2023, 20:58

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

andy_hmf
Beiträge: 8
Registriert: 30.07.2023, 12:36
System: sonstige
Danksagung erhalten: 1 Mal

Re: CUxDaemon und MQTT Broker

Beitrag von andy_hmf » 22.04.2024, 16:08

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) 699 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) 699 mal betrachtet
VG
Andreas


andy_hmf
Beiträge: 8
Registriert: 30.07.2023, 12:36
System: sonstige
Danksagung erhalten: 1 Mal

Re: CUxDaemon und MQTT Broker

Beitrag von andy_hmf » 22.04.2024, 19:59

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}

andy_hmf
Beiträge: 8
Registriert: 30.07.2023, 12:36
System: sonstige
Danksagung erhalten: 1 Mal

Re: CUxDaemon und MQTT Broker

Beitrag von andy_hmf » 22.04.2024, 21:55

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.

Mathias
Beiträge: 1831
Registriert: 03.11.2010, 10:25
System: CCU
Wohnort: Aachen
Hat sich bedankt: 64 Mal
Danksagung erhalten: 277 Mal
Kontaktdaten:

Re: CUxDaemon und MQTT Broker

Beitrag von Mathias » 23.04.2024, 13:46

Versuche mal Folgendes über MQTT zu senden:

Code: Alles auswählen

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

Gruß
Mathias

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

Re: CUxDaemon und MQTT Broker

Beitrag von Baxxy » 23.04.2024, 16:20

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

andy_hmf
Beiträge: 8
Registriert: 30.07.2023, 12:36
System: sonstige
Danksagung erhalten: 1 Mal

Re: CUxDaemon und MQTT Broker

Beitrag von andy_hmf » 25.04.2024, 20:18

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.

Antworten

Zurück zu „CUxD“