ZHA vs. Zigbee2MQTT - Meine Endgültige Empfehlung!

Ich habe einen Nuc mit N5105, also klar Leistung sollte da sein. Das klang für mich nur alles viel zu kompliziert mit proxmox und so. So war das alles easy und funktioniert ja auch :sweat_smile:. Ich nutze ja keine anderen Dienste bzw weiß nicht was ich noch nutzen wollen könnte.

Moin,

dazu braucht es keine VM, das ist extrem viel Overhead, bei mir ein einfacher LX Container, ca. 2 GB RAM, 4 GB Platte, 2 Kerne. Ich plane da noch weiter den Rotstift anzusetzen, Z2M braucht nicht viel.
Das einzige ist, es gibt keine UI zum Durchreichen des Sticks, das muss man von Hand in die Konfiguration des LX Containers schreiben, ist aber auch keine Raketenwissenschaft.
Solltest Du da Hilfe brauchen, kannst Du Dich gern melden.

VG
Bernd

1 „Gefällt mir“

Ich hab schon gesehen, bei den Proxmox helper scripts ist‘s auch nen LXC🙈

Ja, das ist / war der einzige Grund warum VM und nicht Container.
Du hast mich überzeugt und danke für dein Angebot, werde mich melden wenn ich Hilfe brauche.

Habe eben ein paar Stunden mit dem Thema verballert. Kriege es nicht ans laufen…
Danach habe ich mich gerichtet: Zigbee2MQTT in Proxmox installieren – Sixpak

Muss dazu sagen, dass ich zwei SONOFF einstecken habe… Der Eine läuft wunderbar mit HA und ZHA.

Moin,

ich habe keine Ahnung was das Skript macht, ich setze meine LX Container immer händisch auf, bzw. ich habe mir von meiner Lieblings-Distribution ein LX Container angelegt, eine Grundkonfiguration durchgeführt, alles, was ich noch so zum Arbeiten brauche, installiert und dann davon ein Template erstelle, welches ich nutze, um neue LX Container zu erstellen.

Gehen wir doch mal methodisch vor

  1. wie sieht denn die Konfiguration des LXC aus
# cat /etc/pve/lxc/<lxc_id>.conf
  1. im neuen LX Container ist der/die Sticks auch durchgereicht
# ls -la /dev/ttyA*
# ls -la /dev/serial/by-id/*
  1. Helfen kann ich Dir nur, wenn Du genauer beschreibst, was Du nicht hinbekommst, oder Log Files liefern kannst

VG
Bernd

Hi Bernd,

Was mich total verwirrt, unter HA an ttyACM0 hat der Stick eine andere ID als unter Z2M. :roll_eyes:.

Ich werde morgen mal HA runterfahren und den HA-Stick ziehen. Dann probiere ich es erneut nur mit dem “neuen” Stick.

Moin,

das soll kein Meckern sein, aber von Text sollte man keine Bilder machen, sondern den Text in Code Tags </> hier posten, dann kann man auch schön zitieren :slight_smile:

Zum ersten Problem, die Konfiguration des LX Containers findest Du im PVE nicht im Container
image
In der Shell dann, dass Kommando ausführen, hier am Beispiel meines Z2M LXC

# cat /etc/pvs/lxc/101.conf

Zum zweiten Problem, ich vermute, dass das Skript beim Erstellen des LX Containers, den ersten, Du sagst ja, dass Du zwei Sticks hast, nimmt.

Du kannst Dir mal diese Seiten durchlesen, anschauen
Proxmox: USB Passthrough an LXC Container (mit eindeutigem Gerätenamen) — golbew|weblog
https://www.youtube.com/watch?v=0H0_6YdVDnI
Proxmox - USB-Geräte in LXC-Container | haus-automatisierung.com

VG
Bernd

Als ich pvs nach pve geändert habe :wink: , kam das bei rum…

oot@pve:~# cat /etc/pve/lxc/111.conf
#<div align='center'><a href='https%3A//Helper-Scripts.com'><img src='https%3A//raw.githubusercontent.com/tteck/Proxmox/main/misc/images/logo-81x112.png'/></a>
#
#  # Zigbee2MQTT LXC
#
#  <a href='https%3A//ko-fi.com/D1D7EP4GF'><img src='https%3A//img.shields.io/badge/&#x2615;-Buy me a coffee-blue' /></a>
#  </div>
arch: amd64
cores: 2
features: nesting=1
hostname: zigbee2mqtt
memory: 1024
net0: name=eth0,bridge=vmbr0,hwaddr=E2:44:87:55:2E:79,ip=dhcp,type=veth
onboot: 1
ostype: debian
rootfs: ONE_TB_SSD:111/vm-111-disk-0.raw,size=4G
swap: 512
tags: proxmox-helper-scripts
lxc.cgroup2.devices.allow: a
lxc.cap.drop: 
lxc.cgroup2.devices.allow: c 188:* rwm
lxc.cgroup2.devices.allow: c 189:* rwm
lxc.mount.entry: /dev/serial/by-id  dev/serial/by-id  none bind,optional,create=dir
lxc.mount.entry: /dev/ttyUSB0       dev/ttyUSB0       none bind,optional,create=file
lxc.mount.entry: /dev/ttyUSB1       dev/ttyUSB1       none bind,optional,create=file
lxc.mount.entry: /dev/ttyACM0       dev/ttyACM0       none bind,optional,create=file
lxc.mount.entry: /dev/ttyACM1       dev/ttyACM1       none bind,optional,create=file
root@pve:~# 

Und das ist mein gescheiterter Versuch…

  GNU nano 7.2                                         /opt/zigbee2mqtt/data/configuration.yaml                                                   
frontend:
  port: 8080
homeassistant: true
permit_join: false
socat:
  enabled: false
  master: pty,raw,echo=0,link=/tmp/ttyZ2M,mode=777
  slave: tcp-listen:8485,keepalive,nodelay,reuseaddr,keepidle=1,keepintvl=1,keepcnt=5
  options: "-d -d"
  log: false
mqtt:
  base_topic: zigbee2mqtt
  server: mqtt://192.168.178.239:1883
  username: ***********
  password: *************
serial:
  port: /dev/serial/by-id/usb-ITEAD_SONOFF_Zigbee_3.0_USB_Dongle_Plus_V2_20231118195519-if00
  adapter: ezsp

So sieht meine funktionierende ZHA Konfi. aus…

Moin,

jup, pve ist viiiel besser :slight_smile:

Also wie gesagt, ich kann das, was das Skript macht, nicht nachvollziehen.
Wenn ich mir die Konfiguration anschaue, dann reicht es alle im Ordner /dev/serial/by-id/ vom Host(PVE) aufgelisteten Geräte an den LXC durch.

Was kommt denn beim Auflisten der Einträge im PVE

root@pve:~# ls -la /dev/serial/by-id/
total 0
drwxr-xr-x 2 root root 120 Jan  5 18:06 .
drwxr-xr-x 4 root root  80 Dec 28 13:05 ..
lrwxrwxrwx 1 root root  13 Jan  5 18:06 usb-Texas_Instruments_CC2538_USB_CDC-if00 -> ../../ttyACM2
lrwxrwxrwx 1 root root  13 Jan  5 18:06 usb-Texas_Instruments_TI_CC2531_USB_CDC___0X00124B001938A67D-if00 -> ../../ttyACM3
lrwxrwxrwx 1 root root  13 Dec 28 13:05 usb-Texas_Instruments_XDS110__03.00.00.12__Embed_with_CMSIS-DAP_L1100FRC-if00 -> ../../ttyACM0
lrwxrwxrwx 1 root root  13 Dec 28 13:05 usb-Texas_Instruments_XDS110__03.00.00.12__Embed_with_CMSIS-DAP_L1100FRC-if03 -> ../../ttyACM1

Und bei

root@pve:~# ls -la /dev/ttyACM*
crw-rw-rw- 1 root dialout 166, 0 Jan  5 18:45 /dev/ttyACM0
crw-rw-rw- 1 root dialout 166, 1 Dec 28 13:05 /dev/ttyACM1
crw-rw-rw- 1 root dialout 166, 2 Jan  5 18:06 /dev/ttyACM2
crw-rw-rw- 1 root dialout 166, 3 Jan  5 18:06 /dev/ttyACM3
root@pve:~# ls -la /dev/ttyUSB*
ls: cannot access '/dev/ttyUSB*': No such file or directory

Dann musst Du noch vergleichen ob im LXC auch das gleiche, gelistet ist

# ls -la /dev/serial/by-id
# ls -la /dev/ttyACM*
# ls -la /dev/ttyUSB*

VG
Bernd

Yupp, vor allem dauert es einen Moment, wenn man von der Materie keine Ahnung hat, so wie ich!!! :+1:t4: :rofl:

root@zigbee2mqtt:/opt/zigbee2mqtt# ls -la /dev/serial/by-id
total 0
drwxr-xr-x 2 root root 80 Jan  5 15:10 .
drwxr-xr-x 3 root root 60 Jan  5 17:46 ..
lrwxrwxrwx 1 root root 13 Jan  5 15:10 usb-ITEAD_SONOFF_Zigbee_3.0_USB_Dongle_Plus_V2_20231118195519-if00 -> ../../ttyACM0
lrwxrwxrwx 1 root root 13 Dec 29 15:32 usb-Silicon_Labs_CP2102_USB_to_UART_Bridge_Controller_0001-if00-port0 -> ../../ttyUSB0
root@zigbee2mqtt:/opt/zigbee2mqtt# ls -la /dev/ttyACM*
crw-rw---- 1 root dialout 166, 0 Jan  5 18:54 /dev/ttyACM0
---------- 1 root root         0 Jan  5 17:46 /dev/ttyACM1
root@zigbee2mqtt:/opt/zigbee2mqtt# ls -la /dev/ttyUSB*
crw-rw---- 1 root dialout 188, 0 Jan  5 18:21 /dev/ttyUSB0
---------- 1 root root         0 Jan  5 17:46 /dev/ttyUSB1
root@zigbee2mqtt:/opt/zigbee2mqtt# 

Keine Ahnung, was das im Einzelnen bedeutet!!! Peinlich, ist klar… :partying_face:

Moin,
nob, als ich vor 33 Jahren mit Linux angefangen habe, ging es mir auch so, zumal ich vom Atari kam und Kommandozeile ein Fremdwort war :slight_smile: Heute möchte ich sie nicht mehr missen, geht einiges schneller als immer zu klicken :slight_smile:

Hm, hast Du nicht gesagt, dass Du zwei USB-Sticks hast?
Hast Du PVE und LXC verglichen?
Sehe im letzten Beitrag nur LXC!

Dann fällt mir auf, dass da vielleicht noch etwas fehlt, denn

Hier ist das eine 166!

Dann müsste das auch in die LXC Konfiguration.

Jetzt noch mal in den LXC und dort

# systemctl status zigbee2mqtt.service

Denn aktuell weiß ich ja noch nicht, was nicht klappt, welcher Fehler kommt denn?

VG
Bernd

Scheinbar keiner… Häh???

root@zigbee2mqtt:/opt/zigbee2mqtt# nano /opt/zigbee2mqtt/data/configuration.yaml
root@zigbee2mqtt:/opt/zigbee2mqtt# systemctl status zigbee2mqtt.service
* zigbee2mqtt.service - zigbee2mqtt
     Loaded: loaded (/etc/systemd/system/zigbee2mqtt.service; enabled; preset: enabled)
     Active: active (running) since Fri 2024-01-05 19:18:18 CET; 3s ago
   Main PID: 19936 (npm start)
      Tasks: 32 (limit: 18952)
     Memory: 94.2M
        CPU: 2.027s
     CGroup: /system.slice/zigbee2mqtt.service
             |-19936 "npm start"
             |-19952 sh -c "node index.js"
             `-19953 node index.js

Jan 05 19:18:18 zigbee2mqtt systemd[1]: Started zigbee2mqtt.service - zigbee2mqtt.
Jan 05 19:18:19 zigbee2mqtt npm[19936]: > zigbee2mqtt@1.35.0 start
Jan 05 19:18:19 zigbee2mqtt npm[19936]: > node index.js
Jan 05 19:18:20 zigbee2mqtt npm[19953]: Zigbee2MQTT:info  2024-01-05 19:18:20: Logging to console and directory: '/opt/zigbee2mqtt/data/log/2024->
Jan 05 19:18:20 zigbee2mqtt npm[19953]: Zigbee2MQTT:info  2024-01-05 19:18:20: Starting Zigbee2MQTT version 1.35.0 (commit #3d8f0fc3)
Jan 05 19:18:20 zigbee2mqtt npm[19953]: Zigbee2MQTT:info  2024-01-05 19:18:20: Starting zigbee-herdsman (0.30.0)

Müsste ich nicht unter https://192.168.178.239:8080/ Z2M aufrufen können? Tut nicht…

Da war ich unter DOS mit CLIPPER und BLINKER unterwegs. Software für Museen gebastelt und recht erfolgreich verkauft. War 33 Jahre Flugbegleiter bei der LH und habe schon “immer” nebenbei computert…

root@zigbee2mqtt:/opt/zigbee2mqtt# cd /opt/zigbee2mqtt
root@zigbee2mqtt:/opt/zigbee2mqtt# npm start

> zigbee2mqtt@1.35.0 start
> node index.js

Zigbee2MQTT:info  2024-01-05 19:23:11: Logging to console and directory: '/opt/zigbee2mqtt/data/log/2024-01-05.19-23-11' filename: log.txt
Zigbee2MQTT:info  2024-01-05 19:23:11: Starting Zigbee2MQTT version 1.35.0 (commit #3d8f0fc3)
Zigbee2MQTT:info  2024-01-05 19:23:11: Starting zigbee-herdsman (0.30.0)
Zigbee2MQTT:error 2024-01-05 19:23:32: Error while starting zigbee-herdsman
Zigbee2MQTT:error 2024-01-05 19:23:32: Failed to start zigbee
Zigbee2MQTT:error 2024-01-05 19:23:32: Check https://www.zigbee2mqtt.io/guide/installation/20_zigbee2mqtt-fails-to-start.html for possible solutions
Zigbee2MQTT:error 2024-01-05 19:23:32: Exiting...
Zigbee2MQTT:error 2024-01-05 19:23:32: Error: Failure to connect
    at Ezsp.connect (/opt/zigbee2mqtt/node_modules/zigbee-herdsman/src/adapter/ezsp/driver/ezsp.ts:277:19)
    at Driver.startup (/opt/zigbee2mqtt/node_modules/zigbee-herdsman/src

Könnte das ein Teil des Problems sein?

2024-01-05 17:52:17: New connection from 172.30.32.2:38976 on port 1883.
2024-01-05 17:52:17: Client <unknown> closed its connection.
2024-01-05 17:52:50: Saving in-memory database to /data//mosquitto.db.
2024-01-05 17:54:17: New connection from 172.30.32.2:60556 on port 1883.
2024-01-05 17:54:17: Client <unknown> closed its connection.
2024-01-05 17:56:17: New connection from 172.30.32.2:54508 on port 1883.
2024-01-05 17:56:17: Client <unknown> closed its connection.
2024-01-05 17:58:17: New connection from 172.30.32.2:56228 on port 1883.
2024-01-05 17:58:17: Client <unknown> closed its connection.

Moin,

ist das die richtige IP, das ist doch der Broker, oder läuft der auch in dem LXC?

VG
Bernd

mqtt:
  base_topic: zigbee2mqtt
  server: mqtt://192.168.178.239:1883

Ist das nicht der Broker? Dachte die :8080 wäre dann Z2M… In dem Container ist nur Z2M installiert…

Kann es sein, dass die Abfrage beim “herdsman” stehengeblieben ist? Ich habe mit ^C abgebrochen…

dp20eic DANKE erstmal, für heute stecke ich es. Vielen Dank für Deine Hilfe!!!

Moin,

meistens ab ca. 19-20 Uhr ist Familien Zeit :slight_smile:

Wenn Du dich in den LXC einloggst, dann mal nach der IP schauen,

# networkctl status

Gestartet, gestoppt wird Z2M immer so

# systemctl start zigbee2mqtt.service
# systemctl stop zigbee2mqtt.service
# systemctl status zigbee2mqtt.service

Was mir aufgefallen ist, mit dem verwendeten Skript wird leider kein User angelegt und so bist Du immer als root im LXC unterwegs, es ist immer besser sich einen eigenen User, z. B. roberto anzulegen, sich das Paket sudozu installieren und dann nur noch alsrobertozu arbeiten, wenn es dann mal ein Befehl braucht, derrootRechte braucht, dann einfach einsudo` davor, z. B.

#roberto@zigbee2mqtt: sudo  systemctl start zigbee2mqtt.service
#roberto@zigbee2mqtt: systemctl stop zigbee2mqtt.service
#roberto@zigbee2mqtt: systemctl status zigbee2mqtt.service

VG
Bernd

P.S.: hier mal der Status meines Z2M

❯ systemctl status zigbee2mqtt
● zigbee2mqtt.service - zigbee2mqtt
     Loaded: loaded (/usr/lib/systemd/system/zigbee2mqtt.service; enabled; preset: disabled)
     Active: active (running) since Fri 2024-01-05 17:21:09 CET; 15h ago
   Main PID: 98 (node)
      Tasks: 15 (limit: 38345)
     Memory: 106.1M (peak: 115.8M)
        CPU: 13min 53.547s
     CGroup: /system.slice/zigbee2mqtt.service
             └─98 node index.js

Jan 06 08:35:58 arch-iob node[98]: Zigbee2MQTT:info  2024-01-06 08:35:58: MQTT publish: topic 'zigbee2mqtt/OG_Esszimmer [Decke Spot L1]', payload '{"brightness">
Jan 06 08:36:00 arch-iob node[98]: Zigbee2MQTT:info  2024-01-06 08:36:00: MQTT publish: topic 'zigbee2mqtt/Anwesenheitsmelder 2', payload '{"illumination":"dim">
Jan 06 08:36:08 arch-iob node[98]: Zigbee2MQTT:info  2024-01-06 08:36:08: MQTT publish: topic 'zigbee2mqtt/OG_Esszimmer [Decke Spot L1]', payload '{"brightness">
Jan 06 08:36:18 arch-iob node[98]: Zigbee2MQTT:info  2024-01-06 08:36:18: MQTT publish: topic 'zigbee2mqtt/OG_Esszimmer [Decke Spot L1]', payload '{"brightness">
Jan 06 08:36:28 arch-iob node[98]: Zigbee2MQTT:info  2024-01-06 08:36:28: MQTT publish: topic 'zigbee2mqtt/OG_Esszimmer [Decke Spot L1]', payload '{"brightness">
Jan 06 08:37:49 arch-iob node[98]: Zigbee2MQTT:info  2024-01-06 08:37:49: MQTT publish: topic 'zigbee2mqtt/Taster 7', payload '{"action":null,"battery":100,"cli>
Jan 06 08:37:55 arch-iob node[98]: Zigbee2MQTT:info  2024-01-06 08:37:55: MQTT publish: topic 'zigbee2mqtt/DG_Wohnzimmer [Decke Spot2-L3]', payload '{"brightnes>
Jan 06 08:38:06 arch-iob node[98]: Zigbee2MQTT:info  2024-01-06 08:38:06: MQTT publish: topic 'zigbee2mqtt/DG_Wohnzimmer [Klima]', payload '{"battery":83,"humid>
Jan 06 08:39:01 arch-iob node[98]: Zigbee2MQTT:info  2024-01-06 08:39:01: MQTT publish: topic 'zigbee2mqtt/Taster 8', payload '{"action":null,"battery":100,"cli>
Jan 06 08:40:11 arch-iob node[98]: Zigbee2MQTT:info  2024-01-06 08:40:11: MQTT publish: topic 'zigbee2mqtt/DG_Schlafzimmer [Dachfenster Nord]', payload '{"batte>

╭─ ~ ······································································································································ took 31s at 08:40:45
╰─❯ 

Moin,

nein, das ist Z2M, der Broker ist der MQTT Server, entweder mosquitto oder vergleichbares.

Du brauchst folgende Software.

  1. Z2M, z. B. als LXC
  2. Einen MQTT Server, kann entweder im gleichen LXC mitlaufen oder irgendwo anders installiert sein.
  3. in HA das Add On Zigbee2MQTT Proxy

Du kannst ja mal schauen ob das das Skript den MQTT Broker auch mit installiert hat,

# systemctl status mosquitto.service
oder
# ps -ax |  grep -i mosquitto 

VG
Bernd

P.S.: Muss meinen Hausfrondiensten nachkommen, habe wohl erst heute Nachmittag wieder Zeit :slight_smile:

:crayon:by HeikoBauer: Zusammenführung Doppelpost.

Muss auch erst mal meinen ehelichen Pflichten (Staubsaugen, etc, :woozy_face:) nachkommen…

Ich fange nachher mal bei Null an. Fahre vorher HA runter und ziehen den Stick, damit ich da nicht durcheinander komme…

Ich habe es jetzt gesteckt, den Dongle umgeflashed und mit diesem Video (https://www.youtube.com/watch?v=x43n3X3kuM4) habe ich es auf Anhieb unter HA am laufen gehabt. Habe also jetzt zwei SONOFF am Start.

Ich teste jetzt erstmal ob das funzt, vielen lieben Dank für Deinen Einsatz!!! Außerdem soll der Stick dann auch MATTER unterstützen, was ja auch nichts schadet… :crazy_face: :partying_face: :+1:t4: Habe beim Ali mal zwei MATTER-Steckdosen bestellt.

Egal wie, Z2M läuft bei mir nicht ohne Probleme und ich gebe jetzt auf!!! Da alles ohne Probleme mit ZHA läuft, stecke ich es jetzt. Selbst das Anlernen von Geräten läuft mit Z2M, wenn überhaupt, mit vielen Problemen einher. Z2M ist einfach wohl nix für Roberto C… :smiling_face_with_tear:

:crayon:by HeikoBauer: Zusammenführung Doppelpost.

Zwei MATTER-Steckdosen sind heute gekommen, eine ist angelernt. Geht also. Der andere Stecker hat einen schönen Kurzschluss verursacht!!! :thinking: Gehen beide zurück. Ali Rücksendung nach Heusenstamm (nahe Frankfurt)…

Matter unter Z2M? :man_shrugging: habe ich da was verpasst?

Bei Smarten Steckdose würde ich immer 1-2 Euro mehr ausgebe. Das ist mir zu „heiss“ :smile:

1 „Gefällt mir“

Nein, nicht unter Z2M. Guck mal hier: https://www.youtube.com/watch?v=x43n3X3kuM4 SONOFF Stick E entsprechend geflashed, dann geht es mit MATTER und THREAD…

Ah, ok. War nur irritiert da es hier um ZHA und Z2M geht laut Überschrift :wink: