KNX mit Zigbee erweitern (zigbee2mqtt)

Mit ** gekennzeichnete Links auf dieser Seite sind Affiliatelinks.

KNX mit Zigbee erweitern (zigbee2mqtt)
KNX mit Zigbee erweitern (zigbee2mqtt)
  • 21.06.2024
  • Level 3
  • Software
  • Zigbee

KNX ist ein starkes System - immerhin gibt es hunderte Hersteller, welche tausende Komponenten entwickeln und anbieten. Aber natürlich ist das System auch so offen und flexibel, dass man es beliebig kombinieren kann. In diesem Beispiel möchte ich Dir einfach mal zeigen, wie man Zigbee und KNX miteinander verknüpfen kann. Dazu ist natürlich eine “Vermittlungsschicht” notwendig, welche KNX und Zigbee miteinander verheiratet. Das kann Node-RED, ioBroker, Home Assistant oder ein anderes System sein. Am Ende gibt es zig verschiedene Wege zum gleichen Ziel. Um Dich nicht unnötig zu verwirren, schauen wir uns in diesem Beitrag zigbee2mqtt als Softwarelösung an.

Voltus - so denkt dein Zuhause

Was Du benötigst:

Video

Hausbau-Kurs

Der Aufbau

Zigbee zu KNX über Coordinator, zigbee2mqtt und Node-RED

»Zigbee zu KNX über Coordinator, zigbee2mqtt und Node-RED«

Node-RED

Wie genau man mit Node-RED arbeitet und wie man das System installiert/konfiguriert, habe ich im Node-RED-Master-Kurs ausführlich erklärt. Hier die Installation im Schnelldurchlauf:

bash <(curl -sL https://raw.githubusercontent.com/node-red/linux-installers/master/deb/update-nodejs-and-nodered)
sudo systemctl enable nodered.service
sudo systemctl start nodered
sudo service nodered status

MQTT-Benutzer anlegen

Den zusätzlichen Node-RED Nutzer für Mosquitto (den MQTT-Broker) habe ich wie folgt angelegt (weiteres dazu im MQTT-Grundlagen-Kurs):

sudo mosquitto_passwd -b /etc/mosquitto/mosquitto_passwords nodered mwYXTYJnhicKaIyP
sudo service mosquitto restart
MQTT-Grundlagen-Kurs

Alternativen

Wie gesagt, gibt es zig Wege zum gleichen Ziel. So eine “Vermittlungschicht” lässt sich mit fast jedem System realisieren. Egal ob Node-RED, ioBroker, Home Assistant oder etwas anderes (wie IP-Symcon oder der Timberwolf Server).

Node-RED Flows

[
    {
        "id": "b6314568075a361d",
        "type": "tab",
        "label": "Flow 1",
        "disabled": false,
        "info": "",
        "env": []
    },
    {
        "id": "cc4f440645a21a14",
        "type": "mqtt in",
        "z": "b6314568075a361d",
        "name": "Aqara Button 1",
        "topic": "zigbee2mqtt/0x00158d00044db0c6",
        "qos": "2",
        "datatype": "auto-detect",
        "broker": "e7e4b091dba485df",
        "nl": false,
        "rap": true,
        "rh": 0,
        "inputs": 0,
        "x": 180,
        "y": 100,
        "wires": [
            [
                "b48e70d57f7b443f"
            ]
        ]
    },
    {
        "id": "dcd42670c731e4ed",
        "type": "knxUltimate",
        "z": "b6314568075a361d",
        "server": "bcb68fe308c6d736",
        "topic": "1/0/0",
        "outputtopic": "",
        "dpt": "1.001",
        "initialread": 0,
        "notifyreadrequest": false,
        "notifyresponse": false,
        "notifywrite": true,
        "notifyreadrequestalsorespondtobus": false,
        "notifyreadrequestalsorespondtobusdefaultvalueifnotinitialized": "0",
        "listenallga": false,
        "name": "Steckdose Verteilung",
        "outputtype": "write",
        "outputRBE": "true",
        "inputRBE": "false",
        "formatmultiplyvalue": 1,
        "formatnegativevalue": "leave",
        "formatdecimalsvalue": 999,
        "passthrough": "no",
        "x": 790,
        "y": 100,
        "wires": [
            []
        ]
    },
    {
        "id": "9d893d8d76aa6406",
        "type": "inject",
        "z": "b6314568075a361d",
        "name": "ein",
        "props": [
            {
                "p": "payload"
            }
        ],
        "repeat": "",
        "crontab": "",
        "once": false,
        "onceDelay": 0.1,
        "topic": "",
        "payload": "true",
        "payloadType": "bool",
        "x": 510,
        "y": 40,
        "wires": [
            [
                "dcd42670c731e4ed"
            ]
        ]
    },
    {
        "id": "2752528ff740f097",
        "type": "inject",
        "z": "b6314568075a361d",
        "name": "aus",
        "props": [
            {
                "p": "payload"
            }
        ],
        "repeat": "",
        "crontab": "",
        "once": false,
        "onceDelay": 0.1,
        "topic": "",
        "payload": "false",
        "payloadType": "bool",
        "x": 510,
        "y": 160,
        "wires": [
            [
                "dcd42670c731e4ed"
            ]
        ]
    },
    {
        "id": "b48e70d57f7b443f",
        "type": "switch",
        "z": "b6314568075a361d",
        "name": "Action",
        "property": "payload.action",
        "propertyType": "msg",
        "rules": [
            {
                "t": "eq",
                "v": "single",
                "vt": "str"
            },
            {
                "t": "eq",
                "v": "double",
                "vt": "str"
            }
        ],
        "checkall": "false",
        "repair": false,
        "outputs": 2,
        "x": 370,
        "y": 100,
        "wires": [
            [
                "f0770a49a81536b7"
            ],
            [
                "d7ab7f0d0166863f"
            ]
        ]
    },
    {
        "id": "f0770a49a81536b7",
        "type": "change",
        "z": "b6314568075a361d",
        "name": "ein",
        "rules": [
            {
                "t": "set",
                "p": "payload",
                "pt": "msg",
                "to": "true",
                "tot": "bool"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 510,
        "y": 80,
        "wires": [
            [
                "dcd42670c731e4ed"
            ]
        ]
    },
    {
        "id": "d7ab7f0d0166863f",
        "type": "change",
        "z": "b6314568075a361d",
        "name": "aus",
        "rules": [
            {
                "t": "set",
                "p": "payload",
                "pt": "msg",
                "to": "false",
                "tot": "bool"
            }
        ],
        "action": "",
        "property": "",
        "from": "",
        "to": "",
        "reg": false,
        "x": 510,
        "y": 120,
        "wires": [
            [
                "dcd42670c731e4ed"
            ]
        ]
    },
    {
        "id": "e7e4b091dba485df",
        "type": "mqtt-broker",
        "name": "Mosquitto-Broker Raspberry Pi 5",
        "broker": "localhost",
        "port": "1883",
        "clientid": "",
        "autoConnect": true,
        "usetls": false,
        "protocolVersion": "4",
        "keepalive": "60",
        "cleansession": true,
        "autoUnsubscribe": true,
        "birthTopic": "",
        "birthQos": "0",
        "birthRetain": "false",
        "birthPayload": "",
        "birthMsg": {},
        "closeTopic": "",
        "closeQos": "0",
        "closeRetain": "false",
        "closePayload": "",
        "closeMsg": {},
        "willTopic": "",
        "willQos": "0",
        "willRetain": "false",
        "willPayload": "",
        "willMsg": {},
        "userProps": "",
        "sessionExpiry": ""
    },
    {
        "id": "bcb68fe308c6d736",
        "type": "knxUltimate-config",
        "host": "10.10.9.254",
        "port": "3671",
        "physAddr": "1.1.2",
        "hostProtocol": "TunnelUDP",
        "suppressACKRequest": false,
        "csv": "",
        "KNXEthInterface": "Auto",
        "KNXEthInterfaceManuallyInput": "",
        "stopETSImportIfNoDatapoint": "stop",
        "loglevel": "error",
        "name": "KNX Gateway",
        "localEchoInTunneling": true,
        "delaybetweentelegrams": "50",
        "delaybetweentelegramsfurtherdelayREAD": "1",
        "ignoreTelegramsWithRepeatedFlag": false,
        "autoReconnect": "yes"
    }
]

Transparenz-Hinweis (Level 3)

Für diesen Beitrag wurden mir Produkte kostenfrei zur Verfügung gestellt! Es wurden keinerlei Bedingungen, Richtlinien oder Vorgaben bezüglich der Inhalte, welche ich in meiner Bewertung äußern darf, auferlegt.

Die Inhalte werden durch ein unabhängiges Placement im Video finanziert.

Du willst mehr?

Smart-Home-Trainings von A-Z

Steig noch tiefer in die Themen ein und meistere Deine Projekte! Über 13.000 Teilnehmer konnten sich schon von der Qualität der Online-Kurse überzeugen.

ioBroker-Master-Kurs

ioBroker-Master-Kurs

Mehr Infos
Hausbau-Kurs

Hausbau mit KNX

Mehr Infos
Lox-Kurs

Lox-Kurs

Mehr Infos
Node-RED-Master-Kurs

Node-RED-Master-Kurs

Mehr Infos