ZHA vs. Zigbee2MQTT - Meine Endgültige Empfehlung!

An sich funktioniert alles, wenn es mal funktioniert. Aber nach dem ich Ha Neustarte sind zwar als Beispiel die Steckdose in HA erreichbar, die Lampen aber nicht, lassen sich aber trotzdem im Z2m Dashboard schalten, aber nicht im HA Dashboard. Genauso sind auf einmal die Schalter Button Aktionen weg. Dann funktioniert kein Tastendruck mehr am Schalter. Neustarts von Z2m,Mqtt etc. bringen manchmal etwas, aber nicht immer

Ich hab meine letzten Hoffnungen in Z2m gelegt, aber das ist doch sehr frustrierend und das jetzt schon.

@alex_s9027 Das mit dem unbekannten Auslöser auf Deinem Bild kenne ich. Mittlerweile lass ich per Automation bei jedem HA-Neustart erst Z2M und dann den Mosquitto Broker neustarten. Damit haut es hin.

Seit Tagen habe ich Probleme mit Ausfällen zu kämpfen und langsam nervt es. Die Bewegungsmelder funktionieren nicht mehr und bei den Routern ist es pures Glück, wenn das Gerät reagiert. Und kein Update. Ich überlege mir jetzt auf ZHA zu wechseln… mit allen Nachteilen.

Ich habe HA als auch Z2M auf der jeweils neuesten Version laufen, alles gut. Die Z2M GUI hat zwar Probleme, aber ansonsten läuft alles fehlerfrei. Ich habe 95 Gerät div. Hersteller drin.

Bei mir laufen Z2M als auch alles andere in Docker Container, und nichts als AddOn in HA.

Bin am überlegen ob es geht meinen alten pi4 mit SSD nur mit Z2m zu betreiben? Kann man die Daten dann vom Pi auf den Mqtt Broker am nuc und HA zu bekommen? Aber an sich würde das mein Problem ja nicht lösen, oder hat es Vorteile wenn nicht bei jedem Neustart von HA nicht auch Z2m neugestartet wird?

Die Add-ons werden beim einfachen HA-Neustart nicht neu gestartet, sindern nur beim kompletten Systemneustart. Deshalb mache ich das mit Z2M und Mosquitto ja per Automation, damit danach alles richtig läuft:

Was hast du den für ein Rechner auf dem du HA laufen lässt?
Wenn das ein x86 System ist, könntes du unRAID OS laufen lassen, HA als VM und alles andere, was sonst als AddOn läuft, in Docker Container unterbringen. Das würde alles auf ein Rechner laufen, aber doch auch wieder alles voneinander getrennt.

Achso, also dabei werden nicht die Addons neugestartet? Ja gut das erklärt es vllt mit dem Problem. Wie sieht denn deine Automation aus?
Wenn HA Neustartet dann Z2m neustarten? Also so?

Hallo,

habe seit Simons Video ebenfalls Z2M mit nem zweiten Sonoff P dongle am laufen und bin fleissig am Testen. Leider scheint seit der installation vom MQTT broker die ZHA Einstellungen regelmässig geändert zu werden. (Auf die des Z2M, z.B. von Kanal 15(ZHA) auf Kanal 25(Z2M).

Kennt hier jemand evtl. ne Lösung?

Danke.

Ich werde perspektivisch Z2M Addon bei HA rausschmeißen und in einer separaten VM (auf Proxmox) laufen lassen
@alex_s9027 Proxmox auf deinem NUC wäre vielleicht auch eine Variante für dich

Ja, genau, und danach lass ich fünf Sekunden warten und dann noch den Moquitto Broker neu starten. Damit sind dann auch die Schalterfunktionen wieder da.

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