MQTT Broker addon für OpenCCU

User stellen ihre Haussteuerung vor

Moderator: Co-Administratoren

Matten Matten
Beiträge: 537
Registriert: 09.12.2018, 17:14
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 210 Mal
Danksagung erhalten: 114 Mal

MQTT Broker addon für OpenCCU

Beitrag von Matten Matten » 02.06.2025, 11:15

Dieses Projekt ist entstanden, da das Addon Mosquitto seit Raspberrymatic Version 3.81.5.20250326 nicht mehr läuft.
siehe auch #21

Aedes MQTT Broker addon 2.0.4.png
Aedes MQTT Broker addon 2.0.4.png (15.04 KiB) 5804 mal betrachtet

Das Addon startet automatisch bei Systemstart.


Konfiguration von MQTT Port oder aktivieren der Authentifizierung so wie das anlegen von Usern kann über das Konfigurations Interface vorgenommen werden.
config webif.png

INFO:
Die Ports 1883, 4040 und 9001 müssen in der Firewall auf der CCU freigegeben werden.





Downloadbereich:
Projekt beendet, da ccu-addon-mosquitto wieder weiterentwickelt wird.




UPDATE:
  • V2.0.4 Konfigurations Webinterface erstellt, Broker Optimierung
  • V2.0.3 "Neue addon Version" Hinweis hinzugefügt
  • V2.0.2 Authentifizierung hinzugefügt, Webviewer mit Authentifizierung, Publisher für x86 hinzugefügt, Publisher mit Authentifizierung
  • V2.0.1 addon Version jetzt unter Logo, mqtt Web-tool leicht überarbeitet
  • V2.0.0 mqtt websocket hinzugefügt
  • V1.2.0 mqtt publish hinzugefügt
  • V1.0.4 Authentifikation hinzugefügt
  • V1.0.0 erste Veröffentlichung des Flows


-> zusätzliche Tips und Infos stehen im 2 Post.
Zuletzt geändert von Matten Matten am 07.09.2026, 15:14, insgesamt 66-mal geändert.

Matten Matten
Beiträge: 537
Registriert: 09.12.2018, 17:14
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 210 Mal
Danksagung erhalten: 114 Mal

Infos & Befehle für MQTT Broker & Publisher

Beitrag von Matten Matten » 02.06.2025, 11:16

Nutzer & Passwort einrichten:
in der Datei "users.js" unter "/usr/local/addons/aedes" kann der username & password vergeben werden
jetzt einfach über das Webinterface konfigurierbar!

in der Datei "mqtt-broker.js" unter "/usr/local/addons/aedes" kann die Authentifizierung aktiviert werden
jetzt einfach über das Webinterface konfigurierbar!


MQTT Publish
- Usage:

Code: Alles auswählen

/usr/local/addons/aedes/publish -t <topic> -m <message> [-h host] [-p port] [-i client_id] [-q qos] [-r retain] [-u user] [-P password]
- Usage X86:

Code: Alles auswählen

/usr/local/addons/aedes/publish_x86 -t <topic> -m <message> [-h host] [-p port] [-i client_id] [-q qos] [-r retain] [-u username] [-P password]
- Beispiele

Code: Alles auswählen

/usr/local/addons/aedes/publish -t "TEST/string" -m "hallo"
/usr/local/addons/aedes/publish -t "TEST/json" -m '{"state": "OFF"}' -q 1 -r 1
- Beispiele für CUxDeamon EXEC

Code: Alles auswählen

# CMD_SHORT
/usr/local/addons/aedes/publish -h 127.0.0.1 -i CUxDtoMQTT -t '$_C1$' -m '$_C2$'

# CMD_LONG 
/usr/local/addons/aedes/publish -h 127.0.0.1 -i CUxDtoMQTT -t '$_C1$' -m '$_C3$'

# CH_PARAM1
zigbee2mqtt/Device/set

# CH_PARAM2
{"state": "OFF"}

# CH_PARAM3
{"state": "ON"}

Systemvariablen Werte an MQTT senden

Code: Alles auswählen

! Systemvariable 2 MQTT publish -> alle Variablen in den Wenn Block auflisten
! bei aktualisierung auslösen
! ###########################################################################

var mqtt_user = "root";
var mqtt_pass = "1234";
var mqtt_broker = "127.0.0.1";
var mqtt_topic = "SysVar2MQTT/";

! ---------- script -------------
var obj = dom.GetObject("$src$");

if (obj) {

    var name = obj.Name();
    var value = obj.State();
    var vt = obj.ValueType();
    var safeName = name.Replace(" ", "_");

    ! === STRING behandeln ===
    if (vt == 20) {
        value = value.ToUTF8();
    }
    
    ! === FLOAT / INTEGER ===
    if (vt == 4) {
         value = value.ToString(2);  ! 2 Nachkommastellen
    }

    ! === WERTELISTE === 
    var payload = "";
    if (vt == 16) {
        var list = obj.ValueList(); ! .Split(";");
        var idx = value.ToInteger();
        var listName = list.StrValueByIndex(";", idx);
        payload = "{\"state\":\"" # listName # "\",\"value\":" # idx # "}";
    } else {
        payload = value;
    }

    var cmd = "/usr/local/addons/aedes/publish" #
              " -h " # mqtt_broker #
              " -u " # mqtt_user #
              " -P " # mqtt_pass #
              " -i SysVar2MQTT" #
              " -t '" # mqtt_topic # safeName # "'" #
              " -m '" # payload # "'";

    system.Exec(cmd);
}
MQTT output
topic:

Code: Alles auswählen

SysVar2MQTT/NAME_DER_SYSTEMVARIABLE
payload:

Code: Alles auswählen

SYSTEMVARIABLEN_WERT
-----------------------------------------------------------------------------------

MQTT Web Viewer on CCU
open ccu mqtt viewer.png
Zuletzt geändert von Matten Matten am 18.03.2026, 19:22, insgesamt 20-mal geändert.

LeoII
Beiträge: 2
Registriert: 04.10.2019, 10:01
Danksagung erhalten: 1 Mal

Re: MQTT Broker on Raspberrymatic

Beitrag von LeoII » 15.06.2025, 22:51

Danke MQTT konnte ohne Probleme Installiert werden. Danke für die Arbeit und schnelle Antwort.

ZMBLMNN
Beiträge: 4
Registriert: 17.07.2025, 16:48
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 1 Mal
Danksagung erhalten: 1 Mal

Re: MQTT Broker on Raspberrymatic

Beitrag von ZMBLMNN » 25.07.2025, 17:55

Hi,

ich konnte das Addon ohne Probleme installieren.
Nach dem Neustart der CCU läuft alles super. Vor dem Neustart ist RedMatic abgestürzt. Ich verwende RaspberryMatic auf einem RaspberryPi 4.

Vielen Dank

Agonist
Beiträge: 4
Registriert: 26.07.2025, 16:50
System: CCU
Hat sich bedankt: 2 Mal
Danksagung erhalten: 1 Mal

Re: MQTT Broker on Raspberrymatic

Beitrag von Agonist » 26.07.2025, 17:13

Sorry für die Unannehmlichkeiten, leider kann ich noch keine PN schreiben. Dürfte ich um Überlassung des Aedes Addon bitten.

Danke im Voraus.
MfG
Mike

Matten Matten
Beiträge: 537
Registriert: 09.12.2018, 17:14
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 210 Mal
Danksagung erhalten: 114 Mal

Re: MQTT Broker on Raspberrymatic

Beitrag von Matten Matten » 26.07.2025, 17:33

@Agonist

Du musst erst die Freigabe für PN bekommen, sonst kann ich dir das Addon auch nicht via PN zusenden.

Gruß Matten

Agonist
Beiträge: 4
Registriert: 26.07.2025, 16:50
System: CCU
Hat sich bedankt: 2 Mal
Danksagung erhalten: 1 Mal

Re: MQTT Broker on Raspberrymatic

Beitrag von Agonist » 27.07.2025, 19:14

Hallo,

das Addon auf einer CCU3 installiert, problemlos!
Bin mir aber nicht ganz klar, was der Broker genau macht...

Grüße Mike

Matten Matten
Beiträge: 537
Registriert: 09.12.2018, 17:14
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 210 Mal
Danksagung erhalten: 114 Mal

Re: MQTT Broker on Raspberrymatic

Beitrag von Matten Matten » 27.07.2025, 20:37

Das ist im Prinzip die datenschnittstelle bzw die Zentrale. Wo alle mqtt Nachrichten von deinen Geräten ankommen und gelesen werden können.

fteheesen
Beiträge: 5
Registriert: 30.08.2019, 14:49
Danksagung erhalten: 1 Mal

Re: MQTT Broker on Raspberrymatic

Beitrag von fteheesen » 23.08.2025, 13:17

Ich konnte das Addon problemlos auf meiner CCU3 mit RaspberryMatic installieren.

Vielen Dank für die Mühe!

P.S.

Weiß zufällig jemand, wie/wo man für Aedes MQTT Broker zur Authprisierung User/password konfiguriert. (Ich konnte auf die Schnelle dazu nichts finden.)

Matten Matten
Beiträge: 537
Registriert: 09.12.2018, 17:14
System: Alternative CCU (auf Basis OCCU)
Hat sich bedankt: 210 Mal
Danksagung erhalten: 114 Mal

Re: MQTT Broker on Raspberrymatic

Beitrag von Matten Matten » 23.08.2025, 17:59

fteheesen hat geschrieben: ↑
23.08.2025, 13:17
Weiß zufällig jemand, wie/wo man für Aedes MQTT Broker zur Authprisierung User/password konfiguriert

Das nicht so einfach, das muss umfassend konfiguriert werden. Eventuell fehlt dafür sogar ein patch im addon
handler-authenticate-client-username-password-callback


EDIT:
👉 hier ein Beispiel
Zuletzt geändert von Matten Matten am 25.08.2025, 15:55, insgesamt 4-mal geändert.

Antworten

Zurück zu „Projektvorstellungen“