zigbee2mqtt auf RaspberryMatic

Einrichtung, Nutzung und Hilfe zu RaspberryMatic (OCCU auf Raspberry Pi)

Moderatoren: jmaus, Co-Administratoren

Matten Matten
Beiträge: 286
Registriert: 09.12.2018, 17:14
System: CCU
Hat sich bedankt: 70 Mal
Danksagung erhalten: 24 Mal
Kontaktdaten:

zigbee2mqtt auf RaspberryMatic

Beitrag von Matten Matten » 27.12.2023, 14:02

logo z2m-on-rm.png
logo z2m-on-rm.png (13.78 KiB) 101 mal betrachtet

kein Addon Paket sondern eine vier Schritte Installation via Redmatic

Voraussetzung sind das Addon RedMatic mit Update auf V7.3.4 oder höher auf der RM & ein MQTT Server wie bspw. Mosquitto

Ich habe ein Flow erstellt der zigbee2mqtt im addon Pfad Installiert und das Webinterface von Z2M in der Systemsteuerung verlinkt.
Zigbee2MQTT ist unter "Zusatzsoftware" auch sichtbar als Addon.


Ablauf:
  • als erstes wird Zigbee2MQTT in addons Installiert und sichtbar gemacht
  • danach wird der Pfad des Coordinator Stick abgefragt
  • danach muss der eben abgefragte TTY Port eingetragen werden So wie die MQTT Server IP angepasst werden. das ganze wird dann via Pushbutton in die "configuration.yaml" geschrieben
  • danach kann zigbee2mqtt das erste mal gestartet werden, wenn das geklappt hat wird die Ausführung wieder beendet und du wirst zum CCU Neustart aufgefordert
Das ganze passiert in 4 Steps
zigbee2mqtt Install Flow.png
> Nach dem CCU neustart wird zigbee2mqtt als Addon gestartet und das Z2M-Webinterface kann über Systemsteuerung oder über Zusatzsoftware aufgerufen werden.
button.png
Zusatzsoftware.png
wenn die Installation erfolgreich ist, kann der Installationsblock entfernt werden.

Info: Wer CuxD nutzt muss in der CuxD "Setup" den passenden TTY Port mit :NC eintragen und speichern

Code: Alles auswählen

TTYASSIGN=ttyACM0:NC
oder

Code: Alles auswählen

TTYASSIGN=ttyUSB0:NC
Info: wer die Firewall auf der RM aktiv hat sollte folgenden Port für das z2m Webinterface eintragen

Code: Alles auswählen

8080;

Ein Update von Zigbee2MQTT wird easy über ein Webinterface ausgeführt.
erreichbar unter (http://IPADRESSE/addons/zigbee2mqtt/update.html) oder unter "Zusatzsoftware->Herunterladen"
Update Interface.png
Dieser sichert immer als erstes eure angelernten Gerätedaten und Einstellungen, macht dann ein Update und spielt selbstständig die Sicherung zurück.



Das deinstallieren von zigbee2mqtt auf der RM passiert ganz einfach über den Deinstallieren Button unter Zusatzsoftware.
lediglich das Entfernen aus der Systemsteuerung passiert über ein klick in Redmatic.
zigbee2mqtt uninstall Flow.png
zigbee2mqtt uninstall Flow.png (9.51 KiB) 565 mal betrachtet
Addon Zigbee2MQTT.png
Addon Zigbee2MQTT.png (9.5 KiB) 565 mal betrachtet

Gruß
Matten Matten

Aktuelle Version:
Flow ZIP downloaden und entpacken
Zigbee2Mqtt install flow V3.1.0.zip
(10.4 KiB) 4-mal heruntergeladen


Du willst deine bestehende zigbee2mqtt Version aktualisieren? dann lade den Update Flow herunter
Flow ZIP downloaden und entpacken
Zigbee2Mqtt Update auf V3.1.0 flow.zip
(8.79 KiB) 3-mal heruntergeladen


UPDATE:
  • V3.1.0 Update Webinterface überarbeitet, start script überarbeitet,Update script überarbeitet, update-check.cgi überarbeitet, update.html überarbeitet, log output überarbeitet & somit Konsolenlog von z2m nach erstmaligen start so wie nach update deaktiviert
  • V3.0.3 Update Webinterface überarbeitet und an z2m angepasst, Update script überarbeitet
  • V3.0.2 Update Webinterface integriert, Schritt 1 überarbeitet, Bugfix: ungewollte Nodered restart Probleme behoben
  • V3.0.1 Update Subflow aktualisiert auf Version 2.0.0, Schritt 1 überarbeitet, Bugfix: z2m "restart" Probleme behoben
  • V3.0.0 Update Subflow aktualisiert, Schritt 1 & 3 überarbeitet, z2m Addon Version im Script verbessert wodurch die Versionsdatei im Hauptordner nicht mehr nötig ist, Startscript überarbeitet und Stop probleme behoben so das z2m jetzt sauber gestoppt wird und auch ein doppelter start wird verhindert, Bugfix: update Subflow funktionierte durch Script nicht und konnte somit das Update nicht ausführen
  • V2.0.0 alle Subflows aktualisiert, Schritt 1 -10 überarbeitet und auf 4 Schritte reduziert, z2m als Addon sichtbar gemacht. Startscript grundlegend überarbeitet, Bugfix: Neustart der CCU wird nicht mehr verhindert
  • V1.4.1 Update Subflow hinzugefügt, Update script verbessert, Schritt 1 & 5 & 8 überarbeitet, Prüf-Schritt wird jetzt automatisch ausgeführt
  • V1.3.0 start script überarbeitet "tstart|start|stop|restart", uninstall script verbessert, "rc.shutdown" hinzugefügt, Port Switch Subflow hinzugefügt
  • V1.2.0 start script überarbeitet um ein Sofortstart oder Zeitstart auszuwählen, Coordinator tausch Subflow integriert, uninstall script verbessert
  • V1.1.0 kleine Verbesserungen und absicherungen, uninstall flow integriert
  • V1.0.0 erste Veröffentlichung des Flows
-> zusätzliche Tips und Infos stehen im 2 Post.
Zuletzt geändert von Matten Matten am 25.04.2024, 13:25, insgesamt 46-mal geändert.

Matten Matten
Beiträge: 286
Registriert: 09.12.2018, 17:14
System: CCU
Hat sich bedankt: 70 Mal
Danksagung erhalten: 24 Mal
Kontaktdaten:

Re: zigbee2mqtt auf RaspberryMatic

Beitrag von Matten Matten » 27.12.2023, 16:06

Zusätzliche Tips & Infos

Beim Importieren von Subflows die in einer älteren Version vorhanden sind auf zeige nodes gehen
Screenshot import.png
Screenshot import.png (7.64 KiB) 252 mal betrachtet
dann den Subflow anwählen und rechts auf ersetzen anwählen und Auswahl importieren
Screenshot subflow ersetzen.png


Manuelle Starts & tops erledigt ihr via aufruf als exec Befehl mit entsprechender Endung "start|stop|restart"
exec ausführen in der CCU unter -> "Programme und Verknüpfungen" -> "Skript testen" folgendes eingeben und ausführen

Code: Alles auswählen

! z2m start: startet Zigbee2mqtt sofort
system.Exec("/usr/local/etc/config/rc.d/zigbee2mqtt start &");

Code: Alles auswählen

! z2m stop: stoppt Zigbee2mqtt sofort
system.Exec("/usr/local/etc/config/rc.d/zigbee2mqtt stop &");

Code: Alles auswählen

! z2m restart: stoppt Zigbee2mqtt sofort und startet Zigbee2mqtt wieder.
system.Exec("/usr/local/etc/config/rc.d/zigbee2mqtt restart &");

Gruß
Matten Matten
Zuletzt geändert von Matten Matten am 04.04.2024, 19:24, insgesamt 26-mal geändert.

yustbeyourself
Beiträge: 1
Registriert: 02.01.2024, 09:10
System: Alternative CCU (auf Basis OCCU)

Re: zigbee2mqtt auf RaspberryMatic

Beitrag von yustbeyourself » 02.01.2024, 11:46

Hi Matten Matten,

ich bin bei der suche auf dienen Betrag gestoßen. Ich habe folgendes vor bzw. das folgende getan:
- Mein OpenHab von der Raspberry auf meinen OMV in einen Docker Container verlagert
- Unter der Treppe im Flur hängt eine weitere Raspberry aus Home Zentrale Charly
(neben der CCU hing bisher auch due Raspberry mit dem OH drauf)
- nun habe ich das problem das der neue Serverstandort Funkmässig schlecht ist
meine idee war ich schleife mittels zigbee2mqtt den USB Zigbee Stick auf den Misquito durch der auf dem Server läuft wo der OpenHab läuft
Und eventuell noch einen zweiten Stick mittels ser2net oder USBIP an den server durchschleifen
Nun habe ich hier gemerkt das eine installation z.B. per apt-get garnicht möglich ist.

Dann habe ich dienen weg mal versucht um zigbee2mqtt zu installieren und versehe den inhalt des images nicht wirklich.
<pre>root@homematic-raspi:~# node --version
v18.18.2
root@homematic-raspi:~# npm --version
9.8.1
root@homematic-raspi:~# apt-get update
-sh: apt-get: not found
root@homematic-raspi:~# dpkg
-sh: dpkg: not found
root@homematic-raspi:~# uname -r
6.1.63
root@homematic-raspi:~# cat /etc/*release
NAME=Buildroot
VERSION=-gef2e191
ID=buildroot
VERSION_ID=2023.08.3
PRETTY_NAME=&quot;Buildroot 2023.08.3&quot;
root@homematic-raspi:~#
</pre>

Kannst du mir helfen wie bekomme ich zigbee2mqtt bzw. usbip/ser2net auf das system?
Gruß

Matten Matten
Beiträge: 286
Registriert: 09.12.2018, 17:14
System: CCU
Hat sich bedankt: 70 Mal
Danksagung erhalten: 24 Mal
Kontaktdaten:

Re: zigbee2mqtt auf RaspberryMatic

Beitrag von Matten Matten » 02.01.2024, 12:22

Hallo,

ich habe mich bei meiner Installation an die Anleitung von zigbee2mqtt gehalten.

Wenn du die oben aufgeführten Schritte befolgt sollte das funktionieren mit der Installation auf der Raspberrymatic.

Meine Anleitung wird vermutlich auch nur auf
einem Pi 3, Pi4 oder Asus TB funktionieren.

Getestet hab ich das bisher auf Asus TB.

Mit deinem ser2net kann ich dir leider nicht helfen. Das ist
Vermutlich auch der falsche Beitrag hier.

Gruß Matten

UHT
Beiträge: 7
Registriert: 02.01.2024, 16:52
System: Alternative CCU (auf Basis OCCU)

Re: zigbee2mqtt auf RaspberryMatic

Beitrag von UHT » 02.01.2024, 16:55

Für Autostart einfach rc.local anlegen

Code: Alles auswählen

/usr/local/etc/rc.local
und wie folgt befüllen

Code: Alles auswählen

[Unit]
Description=zigbee2mqtt
After=network.target

[Service]
Environment=NODE_ENV=production
Type=exec
ExecStart=/usr/local/bin/npm start
WorkingDirectory=/usr/local/addons/zigbee2mqtt
StandardOutput=null
# Or use StandardOutput=null if you don't want Zigbee2MQTT messages filling syslog, for more options see systemd.exec(5)StandardError=inherit
Restart=always
RestartSec=10s
User=pi

[Install]
WantedBy=multi-user.target
Oder hab ich was übersehen?

rr745
Beiträge: 306
Registriert: 19.01.2021, 14:53
System: CCU
Hat sich bedankt: 29 Mal
Danksagung erhalten: 34 Mal

Re: zigbee2mqtt auf RaspberryMatic

Beitrag von rr745 » 02.01.2024, 18:17

tolle sache, das hatte noch gefehlt. ich hab es mal testweise installiert- läuft !
bis auf......ich habe ein backup gemacht und dieses auf eine blanke raspberrymatic installation zurückgespielt.
leider läuft danach zigbee2mqtt installation nicht mehr. wenn dann noch bei zeiten das update implementiert wurde- perfekt.

du bist der beste- vielen Dank
Wenn etwas schiefgehen kann, dann geht es schief (Murphy)

rr745
Beiträge: 306
Registriert: 19.01.2021, 14:53
System: CCU
Hat sich bedankt: 29 Mal
Danksagung erhalten: 34 Mal

Re: zigbee2mqtt auf RaspberryMatic

Beitrag von rr745 » 02.01.2024, 19:58

Matten Matten hat geschrieben:
27.12.2023, 14:02
ACHTUNG bisher in der Experimentellen Phase

Voraussetzung bei mir ist das Addon Mosquitto auf der RM.

Folgenden Ablauf hab ich durchgeführt:

Verbindung via putty und folgendes eingegeben

Node Version prüfen

Code: Alles auswählen

node --version
dabei kam raus:
v18.18.2

NPM Version prüfen

Code: Alles auswählen

npm --version
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

Code: Alles auswählen

mkdir /usr/local/addons/zigbee2mqtt
als weiterses hab ich versucht das Projekt zigbee2mqtt von Github in den Ordner zu kopieren

Code: Alles auswählen

git clone --depth 1 https://github.com/Koenkk/zigbee2mqtt.git /usr/local/addons/zigbee2mqtt
Das hat nicht geklappt mit Fehler: "-sh: git: not found"

ok also hab ich die Git Projekt zip in Version 1.34.0 einfach auf meinem PC geladen und in einem Ordner entpackt.
Link zum Download der Version:1.34.0.zip


filezilla Zigbee.png
Dann habe ich das entpackte Projekt via FileZilla auf die ccu im Pfad "/usr/local/addons/zigbee2mqtt/" übertragen.

als nächstes hab ich ein Zigbee Coordinator Stick an USB der RM gesteckt und in Putty folgende zeile eingegeben:

Code: Alles auswählen

ls -l /dev/serial/by-id
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

Code: Alles auswählen

TTYASSIGN=ttyACM0:NC

Info: wer die Firewall auf der RM aktiv hat sollte folgenden Port für das z2m Webinterface eintragen

Code: Alles auswählen

8080;


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:

Code: Alles auswählen

cd /usr/local/addons/zigbee2mqtt
Install dependencies:

Code: Alles auswählen

npm ci
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:

Code: Alles auswählen

npm run build
nach Beendigung kam folgendes raus

> zigbee2mqtt@1.34.0 build
> tsc && node index.js writehash


Programm Starten:

Code: Alles auswählen

npm start

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":"596644d2158b6383","type":"mqtt in","z":"8fd5c83f65d2e6b0","name":"","topic":"zigbee2mqtt/bridge/state","qos":"2","datatype":"auto-detect","broker":"dd30b3db3322df56","nl":false,"rap":true,"rh":0,"inputs":0,"x":170,"y":60,"wires":[["b5b15bc042da4330"]]},{"id":"b5b15bc042da4330","type":"debug","z":"8fd5c83f65d2e6b0","name":"bridge","active":false,"tosidebar":true,"console":false,"tostatus":true,"complete":"payload","targetType":"msg","statusVal":"payload.state","statusType":"msg","x":410,"y":60,"wires":[]},{"id":"80f8a7ce96de74be","type":"exec","z":"8fd5c83f65d2e6b0","command":"cd /usr/local/addons/zigbee2mqtt/ && npm start","addpay":"","append":"","useSpawn":"false","timer":"","winHide":false,"oldrc":false,"name":"","x":540,"y":140,"wires":[[],[],[]]},{"id":"37b113c8a180f82f","type":"inject","z":"8fd5c83f65d2e6b0","name":"start","props":[{"p":"payload"}],"repeat":"","crontab":"","once":false,"onceDelay":0.1,"topic":"","payload":"","payloadType":"date","x":110,"y":140,"wires":[["80f8a7ce96de74be"]]},{"id":"dd30b3db3322df56","type":"mqtt-broker","name":"","broker":"127.0.0.1","port":"1883","clientid":"RedMatic","autoConnect":true,"usetls":false,"protocolVersion":"4","keepalive":"60","cleansession":true,"autoUnsubscribe":true,"birthTopic":"Redmatic/state","birthQos":"2","birthRetain":"false","birthPayload":"{\"state\":\"online\"}","birthMsg":{},"closeTopic":"Redmatic/state","closeQos":"2","closeRetain":"false","closePayload":"{\"state\":\"offline\"}","closeMsg":{},"willTopic":"Redmatic/state","willQos":"2","willRetain":"false","willPayload":"{\"state\":\"offline\"}","willMsg":{},"userProps":"","sessionExpiry":""}]


TO DO:
  • z2m vernünftig in Homematic autostart bekommen.
  • z2m updatebar machen
  • das problem mit git clone beheben

Gruß
Matten Matten
hm....beim start deines node red flows kommt immer error 1 und zigbee2mqtt startet nicht :-(
führe ich die befehle in der ssh console manuell aus funzt es.
was mache ich falsch ?
Wenn etwas schiefgehen kann, dann geht es schief (Murphy)

Matten Matten
Beiträge: 286
Registriert: 09.12.2018, 17:14
System: CCU
Hat sich bedankt: 70 Mal
Danksagung erhalten: 24 Mal
Kontaktdaten:

Re: zigbee2mqtt auf RaspberryMatic

Beitrag von Matten Matten » 02.01.2024, 20:23

rr745 hat geschrieben:
02.01.2024, 18:17
tolle sache, das hatte noch gefehlt. ich hab es mal testweise installiert- läuft !
bis auf......ich habe ein backup gemacht und dieses auf eine blanke raspberrymatic installation zurückgespielt.
leider läuft danach zigbee2mqtt installation nicht mehr. wenn dann noch bei zeiten das update implementiert wurde- perfekt.

du bist der beste- vielen Dank

Nachdem du das Backup eingespielt hast

Geh via putty in das Verzeichnis /usr/local/addons/zigbee2mqtt
Und führe mal

Code: Alles auswählen

npm ci
Und danach

Code: Alles auswählen

npm run build
Erneut aus. Eventuell funktioniert zigbee2mqtt dann .

Matten Matten
Beiträge: 286
Registriert: 09.12.2018, 17:14
System: CCU
Hat sich bedankt: 70 Mal
Danksagung erhalten: 24 Mal
Kontaktdaten:

Re: zigbee2mqtt auf RaspberryMatic

Beitrag von Matten Matten » 02.01.2024, 20:26

rr745 hat geschrieben:
02.01.2024, 19:58
hm....beim start deines node red flows kommt immer error 1 und zigbee2mqtt startet nicht :-(
führe ich die befehle in der ssh console manuell aus funzt es.
was mache ich falsch ?
Hmm merkwürdig. Was wirft er denn der log aus wenn du debug nodes dran hängst?

Edit: eventuell mal testen wenn du den Ordner zigbee2mqtt volle lese und schreibrechte erteilst. Vielleicht startet er dann...
Zuletzt geändert von Matten Matten am 02.01.2024, 21:48, insgesamt 1-mal geändert.

rr745
Beiträge: 306
Registriert: 19.01.2021, 14:53
System: CCU
Hat sich bedankt: 29 Mal
Danksagung erhalten: 34 Mal

Re: zigbee2mqtt auf RaspberryMatic

Beitrag von rr745 » 02.01.2024, 20:29

Matten Matten hat geschrieben:
02.01.2024, 20:23
rr745 hat geschrieben:
02.01.2024, 18:17
tolle sache, das hatte noch gefehlt. ich hab es mal testweise installiert- läuft !
bis auf......ich habe ein backup gemacht und dieses auf eine blanke raspberrymatic installation zurückgespielt.
leider läuft danach zigbee2mqtt installation nicht mehr. wenn dann noch bei zeiten das update implementiert wurde- perfekt.

du bist der beste- vielen Dank

Nachdem du das Backup eingespielt hast

Geh via putty in das Verzeichnis /usr/local/addons/zigbee2mqtt
Und führe mal

Code: Alles auswählen

npm ci
Und danach

Code: Alles auswählen

npm run build
Erneut aus. Eventuell funktioniert zigbee2mqtt dann .
super, danke für die schnelle antwort. werd´ ich morgen mal testen
nur mit dem autostart krieg ich es nicht hin, weder mit dem flow (error 1) noch mir rc.local
Wenn etwas schiefgehen kann, dann geht es schief (Murphy)

Antworten

Zurück zu „RaspberryMatic“