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]
- BeispieleCode: 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:
payload:
-----------------------------------------------------------------------------------
MQTT Web Viewer on CCU