Communityoplossing

Een Zigbee-USB-dongle via ZVM doorgeven aan Home Assistant OS

A Home Assistant OS user cannot see a ConBee II dongle in ZVM; community members provide a libvirt XML passthrough method and Zigbee2MQTT verification path.

Een Samba-share kan geen fysieke Zigbee-adapter doorgeven aan HAOS

Het oorspronkelijke probleem betreft een USB-serieel apparaat, geen map. Een Samba-share kan bestanden beschikbaar maken voor een virtuele machine, maar kan een ConBee, Sonoff, Nortek of vergelijkbare radio niet als USB-hardware aan de gast laten verschijnen. De werkende community-oplossing koppelt het USB-apparaat van de host via libvirt aan de ZVM-gast.

Dit blijft een opdrachtregeloplossing en is geen bevestigde ZVM-USB-selector. Maak een back-up van de XML van de virtuele machine en sluit Home Assistant OS af voordat je persistente hardware aanpast. Een ongeldige XML-bewerking of een ontbrekende dongle kan verhinderen dat de gast start. Bewaar daarom een kopie waarmee je de vorige configuratie kunt herstellen.

Identificeer de dongle zonder de ID's van iemand anders te kopiëren

Maak via het ondersteunde SSH- en privilegepad verbinding met ZimaOS en voer vervolgens lsusb uit. Zoek het paar met de fabrikant- en product-ID van de dongle, zoals 1a86:55d4 in het voorbeeld. De ID's van jouw ConBee, Sonoff of Nortek zijn anders.

Koppel de dongle één keer los en sluit hem opnieuw aan als de lijst onduidelijk is. Het matchen op fabrikant en product kan ook onduidelijk zijn wanneer er twee identieke adapters zijn aangesloten. De libvirt-indeling voor hostapparaten legt het matchen op VID/PID en specifiekere USB-adressering uit.

Noteer de exacte libvirt-naam of UUID van de VM met virsh list --all. Gebruik geen voorbeeld-ID uit de thread. Exporteer de huidige definitie met virsh dumpxml VM_NAME voordat je wijzigingen aanbrengt.

Voeg één hostdev-blok toe binnen de sectie voor gastapparaten

Open de definitie van de uitgeschakelde gast met virsh edit VM_NAME. Voeg binnen het bestaande element <devices> <hostdev mode='subsystem' type='usb' managed='yes'><source><vendor id='0xVID'/><product id='0xPID'/></source></hostdev> toe en vervang VID en PID door de waarden van jouw host.

Voeg per fysiek apparaat één volledig hostdev-gedeelte toe. Maak geen tweede <devices>-wrapper en plak het blok niet na de afsluitende tag </devices>. Sla op en controleer de XML opnieuw voordat je de VM start.

Start de gast en controleer virsh list --all. Lees de eerste libvirt-fout als het starten mislukt. Herstel de opgeslagen XML in plaats van steeds meer wijzigingen toe te voegen. Een melding als “device not found” wijst op hostinventarisatie of matching; een XML-parsefout wijst op plaatsing of syntaxis.

Controleer het apparaat in HAOS voordat je Zigbee2MQTT aanpast

Open in Home Assistant Instellingen → Systeem → Hardware en zoek naar het nieuwe USB- of seriële apparaat. Interfacenamen zoals /dev/ttyACM0 kunnen veranderen. Als HAOS een item onder /dev/serial/by-id/... beschikbaar maakt, gebruik dan die stabiele identiteit in Zigbee2MQTT.

Stel de Zigbee2MQTT-waarde serial.port pas in nadat HAOS het apparaat ziet. Herstart de add-on en controleer het logboek op een geslaagde adapterverbinding. Als HAOS de dongle ziet maar Zigbee2MQTT hem niet kan openen, werkt de passthrough al en ligt het probleem bij het adaptertype, de seriële configuratie of de toegang van de add-on.

Herstart HAOS en start daarna ZimaOS opnieuw op om de persistentie te testen. Controleer of hetzelfde by-id-pad terugkomt en Zigbee2MQTT opnieuw verbinding maakt. Wijzigingen in ZVM-resources kunnen handmatige XML in sommige versies overschrijven. Controleer de XML daarom opnieuw nadat je CPU, geheugen of schijven hebt gewijzigd of het platform hebt bijgewerkt.

Veelgestelde vragen

Waar wordt het XML-bestand opgeslagen?

Je hoeft niet handmatig naar een bestand te zoeken. Gebruik virsh edit VM_NAME om de geregistreerde domeindefinitie te bewerken en virsh dumpxml om er een back-up van te maken.

Kunnen meerdere USB-apparaten aan dezelfde VM worden doorgegeven?

Ja, de thread toont één hostdev-blok per apparaat. Elk blok moet zonder ambiguïteit overeenkomen met de bedoelde hardware.

Waarom is het USB-pad na een herstart gewijzigd?

Korte apparaatnamen kunnen veranderen wanneer Linux hardware inventariseert. Geef na passthrough de voorkeur aan het by-id-pad van HAOS, maar controleer de XML opnieuw als het volledige apparaat verdwijnt.

De HAOS-specifieke opdrachten en het latere XML-voorbeeld staan in de discussie over USB-deling op ZVM.