Matten Matten hat geschrieben: ↑27.12.2023, 14:02
ACHTUNG bisher in der Experimentellen Phase
Voraussetzung sind die Addons Mosquitto & RedMatic auf der RM.
Folgenden Ablauf hab ich durchgeführt:
Verbindung via putty und folgendes eingegeben
Node Version prüfen
dabei kam raus:
v18.18.2
NPM Version prüfen
dabei kam raus:
10.2.5
Soweit so gut Nodejs und NPM sind verfügbar und auch nicht zu alt
Dann habe ich einen Ordner Namens "
zigbee2mqtt" im Pfad
/usr/local/addons/ erstellt
als weiterses hab ich das Projekt
zigbee2mqtt von Github (Git durch Redmatic verfügbar) in den eben erstellten Ordner kopiert
Code: Alles auswählen
cd /usr/local/addons/redmatic/var
source /usr/local/addons/redmatic/home/.profile
git clone --depth 1 https://github.com/Koenkk/zigbee2mqtt.git /usr/local/addons/zigbee2mqtt
als nächstes hab ich ein Zigbee Coordinator Stick an USB der RM gesteckt und in
Putty folgende Zeile eingegeben:
Dabei wurde folgendes ausgegeben:
lrwxrwxrwx 1 root root 13 Dec 27 13:05 usb-Texas_Instruments_TI_CC2531_USB_CDC___0X00124B001CD402AF-if00 -> ../../ttyACM0
Also hat der Coordinator Stick die Adresse "
ttyACM0" bekommen, die ich gleich in der Config benötige.
Info: Wer CuxD nutzt muss in der CuxD "Setup" folgendes Eintragen und speichern
Info: wer die Firewall auf der RM aktiv hat sollte folgenden Port für das z2m Webinterface eintragen
als nächstes habe ich via
Filezilla die Datei "
configuration.yaml" im Pfad "
/usr/local/addons/zigbee2mqtt/data" mit
folgender Config befüllt. gespeichert und übertragen.
Info: den tty Port nicht vergessen anzupassen!
Code: Alles auswählen
# Home Assistant integration (MQTT discovery)
homeassistant: false
# Enable the frontend, runs on port 8080 by default
# Raspberrymatic Firewall nicht vergessen!
frontend: true
# MQTT settings
mqtt:
# MQTT base topic for zigbee2mqtt MQTT messages
base_topic: zigbee2mqtt
# MQTT server URL (Mosqitto Addon auf der RM)
server: 'mqtt://localhost'
# MQTT server authentication, uncomment if required:
# user: my_user
# password: my_password
# Serial settings
serial:
# Location of CC2531 USB sniffer (CuxD Eintragung nicht vergessen)
port: /dev/ttyACM0
# Advanced settings
advanced:
# Let Zigbee2MQTT generate a network key on first start
network_key: GENERATE
# Let Zigbee2MQTT generate a pan_id on first start
pan_id: GENERATE
# Let Zigbee2MQTT generate a ext_pan_id on first start
ext_pan_id: GENERATE
Info! Die Config wird beim ersten START über schrieben! das liegt an den letzten Zeilen, da wird mitgeteilt das der
"network_key", die "pan_id" und die "ext_pan_id" Generiert werden.
als nächstes hab ich im Pfad "
/usr/local/addons/zigbee2mqtt" die
Dependencies installiert, dann das
Build durchgeführt und
zuletzt
Zigbee2MQTT gestartet indem ich folgendes via Putty eingegeben hab:
den Ordner betreten:
Install dependencies:
nach Beendigung kam folgendes raus
added 813 packages, and audited 814 packages in 1m
90 packages are looking for funding
run `npm fund` for details
found 0 vulnerabilities
Build the app:
nach Beendigung kam folgendes raus
> zigbee2mqtt@1.34.0 build
> tsc && node index.js writehash
Programm Starten:
Folgendes wurde bei mir ausgegeben und somit z2m erfolgreich gestartet:
> zigbee2mqtt@1.34.0 start
> node index.js
Zigbee2MQTT:info 2023-12-27 13:10:54: Logging to console and directory: '/usr/local/addons/zigbee2mqtt/data/log/2023-12-27.13-10-54' filename: log.txt
Zigbee2MQTT:info 2023-12-27 13:10:54: Starting Zigbee2MQTT version 1.34.0 (commit #unknown)
Zigbee2MQTT:info 2023-12-27 13:10:54: Starting zigbee-herdsman (0.25.0)
Zigbee2MQTT:info 2023-12-27 13:11:02: zigbee-herdsman started (reset)
Zigbee2MQTT:info 2023-12-27 13:11:02: Coordinator firmware version: '{"meta":{"maintrel":3,"majorrel":2,"minorrel":6,"product":0,"revision":20211116,"transportrev":2},"type":"zStack12"}'
Zigbee2MQTT:info 2023-12-27 13:11:02: Currently 0 devices are joined:
Zigbee2MQTT:info 2023-12-27 13:11:02: Zigbee: disabling joining new devices.
Zigbee2MQTT:info 2023-12-27 13:11:02: Connecting to MQTT server at mqtt://localhost
Zigbee2MQTT:info 2023-12-27 13:11:02: Connected to MQTT server
Zigbee2MQTT:info 2023-12-27 13:11:02: MQTT publish: topic 'zigbee2mqtt/bridge/state', payload '{"state":"online"}'
Zigbee2MQTT:info 2023-12-27 13:11:02: Started frontend on port 8080
Zigbee2MQTT:info 2023-12-27 13:11:02: Zigbee2MQTT started!
Nun kann ich auch das webinterface öffnen!
wenn ich bei Putty aus dem Komando wieder raus gehe wird Zigbee2mqtt wieder beendet.
Damit ich Zigbee2mqtt wieder starten kann hab ich in Nodered ein befehlsflow.
Zigbee2mqtt-startpng.png
Code: Alles auswählen
[{"id":"03c1b8b067bce3c0","type":"exec","z":"8fd5c83f65d2e6b0","command":"node /usr/local/addons/zigbee2mqtt/index.js","addpay":"","append":"","useSpawn":"false","timer":"","winHide":false,"oldrc":false,"name":"","x":470,"y":1660,"wires":[["8c0d91a1da7cf47f"],["af00c4828cb2a3ce"],["a9589204bc86cf98"]]},{"id":"0d1c2497ebadca2f","type":"inject","z":"8fd5c83f65d2e6b0","name":"Start ","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":190,"y":1640,"wires":[["03c1b8b067bce3c0"]]},{"id":"8c0d91a1da7cf47f","type":"debug","z":"8fd5c83f65d2e6b0","name":"debug 17","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":760,"y":1620,"wires":[]},{"id":"af00c4828cb2a3ce","type":"debug","z":"8fd5c83f65d2e6b0","name":"debug 18","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":760,"y":1660,"wires":[]},{"id":"a9589204bc86cf98","type":"debug","z":"8fd5c83f65d2e6b0","name":"debug 19","active":false,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","statusVal":"","statusType":"auto","x":760,"y":1700,"wires":[]},{"id":"32ac707e2b45349a","type":"comment","z":"8fd5c83f65d2e6b0","name":"Zigbee2Mqtt Start","info":"","x":150,"y":1600,"wires":[]},{"id":"3a4e7ad15b99408a","type":"inject","z":"8fd5c83f65d2e6b0","name":"Stop","props":[{"p":"payload"},{"p":"kill","v":"true","vt":"bool"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":190,"y":1680,"wires":[["03c1b8b067bce3c0"]]}]
Alternativ kann man zigbee2mqtt auch via CCU Programm starten. Bei leerer Programm Bedingung wird das
Programm nach einem Neustart automatisch ausgelöst.
Zigbee2mqtt-start CCU Programm.png
# sofort ausführen
Code: Alles auswählen
system.Exec('logger -t zigbee2mqtt -p daemon.info "warte 60 Sekunden bis zigbee2mqtt Start"');
# nach 60 Sekunden ausführen
Code: Alles auswählen
system.Exec('logger -t zigbee2mqtt -p daemon.info "starte zigbee2mqtt..."');
system.Exec("node /usr/local/addons/zigbee2mqtt/index.js &");
system.Exec('logger -t zigbee2mqtt -p daemon.info "zigbee2mqtt gestartet"');
Danach steht im LOG in etwa folgendes:
17:20:08 homematic-asus daemon.info zigbee2mqtt: warte 60 Sekunden bis zigbee2mqtt Start
17:21:08 homematic-asus daemon.info zigbee2mqtt: starte zigbee2mqtt...
17:21:08 homematic-asus daemon.info zigbee2mqtt: zigbee2mqtt gestartet
17:21:17 homematic-asus daemon.notice mosquitto[1817]: New connection from 127.0.0.1 on port 1883.
17:21:17 homematic-asus daemon.notice mosquitto[1817]: New client connected from 127.0.0.1 as zigbee2mqtt (c1, k60).
17:21:17 homematic-asus daemon.err node-red: Bridge online
Link vom z2m Webinterface in Systemsteuerung einspeichern
button.png
Via Filezilla ein neuen Ordner namens
"zigbee2mqtt" in
"/usr/local/etc/config/addons/www/" erstellen und betreten,
Dann eine neue Datei namens
"zigbee2mqtt.html" erstellen.
die erstellte Datei
"zigbee2mqtt.html" bearbeiten und mit folgenden Zeilen Füllen und speichern
Code: Alles auswählen
<script language="javascript">
document.write('<meta http-equiv="refresh" content="0; url=http://' + window.location.hostname + ':8080/#/dashboard">');
</script>
als nächstes im Pfad
"/usr/local/etc/config" die Datei
"hm_addons.cfg" bearbeiten und folgendes hinten anfügen und speichern
Code: Alles auswählen
zigbee2mqtt {CONFIG_URL /addons/zigbee2mqtt/zigbee2mqtt.html CONFIG_DESCRIPTION {de {<li>zigbee2mqtt</li>} en {<li>zigbee2mqtt</li>}} ID zigbee2mqtt CONFIG_NAME Zigbee2Mqtt}
webui
neu laden und schauen ob der Link
Zigbee2Mqtt in der Systemsteuerung auftaucht und den link testen.
TO DO:
- z2m vernünftig in Homematic autostart bekommen.
- das problem mit git clone beheben
Gruß
Matten Matten