ConBee: Unterschied zwischen den Versionen

Aus FHEMWiki
(→‎Unterstützung in FHEM: Abschitt Update in Docker Umgebung ergänzt)
(→‎Problembehebung: Docker device Parameter ergänzt)
Zeile 52: Zeile 52:
Einzeiler für Windows 10 : <code>ssh -X <user>@<host> export DISPLAY=%COMPUTERNAME%:0.0;sudo systemctl stop deconz; deCONZ --dev=/dev/ttyACM0;sudo systemctl start deconz</code>
Einzeiler für Windows 10 : <code>ssh -X <user>@<host> export DISPLAY=%COMPUTERNAME%:0.0;sudo systemctl stop deconz; deCONZ --dev=/dev/ttyACM0;sudo systemctl start deconz</code>
=== Problembehebung ===
=== Problembehebung ===
'''Service'''
deCONZ verwendet offenbar beim Start auch per default die Schnittstelle /dev/ttyAMA0 (raspbee Modul). Die Kommunikation eines dort steckenden anderen Moduls wird dabei gestört, die GUI reagiert eine Zeit lang nicht.
deCONZ verwendet offenbar beim Start auch per default die Schnittstelle /dev/ttyAMA0 (raspbee Modul). Die Kommunikation eines dort steckenden anderen Moduls wird dabei gestört, die GUI reagiert eine Zeit lang nicht.


Zeile 64: Zeile 66:
<code>sudo systemctl edit --full deconz</code>
<code>sudo systemctl edit --full deconz</code>


und die Zeile ExecStart um diesen Parameter ergänzten (Beispiel):  
und die Zeile ExecStart um diesen Parameter ergänzen (Beispiel):  
:<code>--dev=/dev/serial/by-id/usb-dresden_elektronik_ingenieurtechnik_GmbH_ConBee_II_DE1234567-if00</code>
 
<code>--dev=/dev/serial/by-id/usb-dresden_elektronik_ingenieurtechnik_GmbH_ConBee_II_DE1234567-if00</code>  
 
Grundsätzlich ist diese Art der Einbindung auch für [[Mehrere USB-Geräte einbinden|alle seriellen Geräte]] in FHEM dringend anzuraten, wenn andere Services wie deconz auf demselben Server betrieben werden.
Grundsätzlich ist diese Art der Einbindung auch für [[Mehrere USB-Geräte einbinden|alle seriellen Geräte]] in FHEM dringend anzuraten, wenn andere Services wie deconz auf demselben Server betrieben werden.
'''Docker'''
Im docker run Aufruf verändert man den device Parameter aus der [https://github.com/marthoc/docker-deconz Original Dokumentation] am Einfachsten wie folgt:
<code>--device=/dev/serial/by-id/usb-dresden_elektronik_ingenieurtechnik_GmbH_ConBee_II_DE1234567-if00:/dev/ttyACM0</code>
docker-compose.yml<syntaxhighlight lang="docker">
devices:
  - /dev/serial/by-id/usb-dresden_elektronik_ingenieurtechnik_GmbH_ConBee_II_DE1234567-if00:/dev/ttyACM0
</syntaxhighlight>Damit wird der Stick vom Host eindeutig mit serial/by-id eingebunden und im Container an der Standard Schnittstelle ttyACM0 bereitgestellt.
'''X11 Server'''


Sollte bei der Verbindung zum X11 Server die Fehlermeldung ''Authorization required'' kommen, kann man beim Start des VcXsrv Server einfach den Haken bei ''disable access control'' setzen.
Sollte bei der Verbindung zum X11 Server die Fehlermeldung ''Authorization required'' kommen, kann man beim Start des VcXsrv Server einfach den Haken bei ''disable access control'' setzen.

Version vom 28. Juni 2021, 12:37 Uhr

Todo: Noch zu vervollständigen und zu verlinken

ConBee ist ein ZigBee USB Gateway (Interface), mit dem herstellerübergreifend ZigBee-Geräte bedient werden können. Unter der Bezeichnung RaspBee ist auch eine Variante als Raspberry Pi Modul erhältlich. Beide Geräte sind als ConBee II und RaspBee II in einer aktualisierten Version erhältlich. Im folgenden werden alle Version als ConBee bezeichnet und die Ausführungen gelten auch RaspBee; sofern es relevante Unterschiede gibt, wird das ausdrücklich erwähnt.


ConBee
frameless
Allgemein
Protokoll ZigBee
Typ Interface
Kategorie diverse Hersteller
Technische Details
Kommunikation Funk 2.4 GHz
Kanäle Zigbee Channel 11 15 20 25
Betriebsspannung 5V=
Leistungsaufnahme ca. 0,1 W
Versorgung USB
Abmessungen 40 x 17 x 8 (ohne USB Stecker)
Sonstiges
Modulname HUEBridge.pm, HUEDevice.pm
Hersteller dresden elektronik, Vertrieb: Phoscon

Beschreibung

Das ConBee Gateway benötigt/hat keine Cloud-Anbindung. Eine Liste der kompatiblen ZigBee Geräte und Hersteller findet sich hier.

Dokumentation und Setup

Das Setup erzeugt auf einem Pi mit PiOS Lite sieben Services, die bis auf zwei alle disabled sind (systemctl list-unit-files|grep deconz).

Um den minimalen Dienst (deconz) in Betrieb zu nehmen, sind noch folgende Schritte notwendig:

  1. Optionale Konfiguration (empfohlen): serielle Schnittstelle und WEB-Port (Standard: 80) einstellen (siehe Problembehebung)
  2. Start und Test: sudo systemctl start deconz, mit dem Browser Zugriff auf Phoscon App testen: http://gatewayIP:Portnummer
  3. Funktioniert alles, kann man den Service dauerhaft aktivieren: sudo systemctl enable deconz

Hinweise:

  • Das Programm deCONZ verwendet die Hardwareschnittstelle und kann nicht mehrfach gestartet werden und dabei die gleiche Hardwareschnittstelle verwenden!
  • Es gibt eine Ungereimtheit in der Beschreibung des Parameters platform: es scheint aktuell (April 2021) egal zu sein, ob man -platform minimal oder --platform minimal verwendet.
  • Beim deCONZ Aufruf empfiehlt es sich generell, den --dev= Parameter anzuhängen (siehe Problembehebung).
  • deconz.service und deconz-gui.service sind alternative Aufrufe der gleichen Binary - es kann nur einer von beiden Diensten gestartet werden.
  • Alternativ (nicht empfohlen) kann man das deconz Setup auf einem Desktop System ausführen und den Dienst deconz-gui konfigurieren und aktivieren. Der Zugriff auf die GUI erfolgt dann mit einem VNC Viewer (RealVNC bietet eine portable Version).
  • Wer eine einfache Konfiguration möchte und sich mit docker auskennt, kann die docker Variante wählen.

Mit der Phoscon Web-App kann man

  • Das Gateway verwalten: Firmware, Backup/Restore, Zeitzone, Sprache
  • ZigBee Geräte anmelden und verknüpfen, Szenen einrichten ...
  • Applikationen mit dem Gateway verbinden, dazu zählt auch das HUEBridge Device von FHEM
  • Zugriff auf die alte WebApp erhalten (Hilfe Seite)

Mit der deCONZ GUI kann man

  • Die Firmware der Geräte aktualisieren (OTA Plugin)
  • Das Zigbee Netzwerk visualisieren
  • ... (noch vervollständigen)

Um den Zugriff auf die deCONZ GUI zu erhalten, kann man X11 Forwarding verwenden, dazu braucht man nur einen X11 Server (Linux Desktop oder Windows VcXsrv, Xming; beides auf SourceForge.net verfügbar).

Einzeiler für Linux Desktop : ssh -X <user>@<host> sudo systemctl stop deconz; deCONZ --dev=/dev/ttyACM0;sudo systemctl start deconz

Einzeiler für Windows 10 : ssh -X <user>@<host> export DISPLAY=%COMPUTERNAME%:0.0;sudo systemctl stop deconz; deCONZ --dev=/dev/ttyACM0;sudo systemctl start deconz

Problembehebung

Service

deCONZ verwendet offenbar beim Start auch per default die Schnittstelle /dev/ttyAMA0 (raspbee Modul). Die Kommunikation eines dort steckenden anderen Moduls wird dabei gestört, die GUI reagiert eine Zeit lang nicht.

Hat man andere Module an AMA0 (UART GPIO) oder an den Standard USB Schnittstellen (ACM0 usw.), muss der deCONZ Aufruf mit den richtigen Schnittstellen Parametern konfiguriert werden.

Am zuverlässigsten ist es, die Definition per ID einzutragen. Der richtige Eintrag kann mit leicht abgefragt werden:

ls -lha /dev/serial/by-id

Die Konfiguration der Dienste erfolgt mit dem systemctl Editor:

sudo systemctl edit --full deconz

und die Zeile ExecStart um diesen Parameter ergänzen (Beispiel):

--dev=/dev/serial/by-id/usb-dresden_elektronik_ingenieurtechnik_GmbH_ConBee_II_DE1234567-if00

Grundsätzlich ist diese Art der Einbindung auch für alle seriellen Geräte in FHEM dringend anzuraten, wenn andere Services wie deconz auf demselben Server betrieben werden.

Docker

Im docker run Aufruf verändert man den device Parameter aus der Original Dokumentation am Einfachsten wie folgt:

--device=/dev/serial/by-id/usb-dresden_elektronik_ingenieurtechnik_GmbH_ConBee_II_DE1234567-if00:/dev/ttyACM0

docker-compose.yml

devices:
   - /dev/serial/by-id/usb-dresden_elektronik_ingenieurtechnik_GmbH_ConBee_II_DE1234567-if00:/dev/ttyACM0

Damit wird der Stick vom Host eindeutig mit serial/by-id eingebunden und im Container an der Standard Schnittstelle ttyACM0 bereitgestellt.

X11 Server

Sollte bei der Verbindung zum X11 Server die Fehlermeldung Authorization required kommen, kann man beim Start des VcXsrv Server einfach den Haken bei disable access control setzen.

Update in Docker Umgebung

Das Update der PhosCon App erfolgt durch ein update des docker containers (Image neu ziehen und Container neu machen -> run bzw. compose up).

Das Update der Firmware funktioniert nach dieser offiziellen Beschreibung.

Unterstützung in FHEM

Info green.pngAlternativ kann man das Model ConBee II auch als Interface für zigbee2mqtt verwenden und dann die ZigBee-Geräte als MQTT2_DEVICE in FHEM einbinden.

ConBee wird über das Modul HUEBridge und über die deCONZ Software, die Wireless Light Control WebApp und die Phoscon WebApp (kommt zusammen mit deConz) in FHEM eingebunden.

Sensoren werden nicht automatisch erzeugt und müssen manuell angelegt werden.

Tipps:

  • Die HUEBridge funktioniert (noch undokumentiert) auch mit Portangaben, falls nicht Standard Port 80 verwendet wird.
  • Der SSL Port wird im Modul von der API abgefragt und kann in der HUEBridge nicht extra angegeben werden. Dazu darf der SSL Port nicht extern umgemappt werden, sondern der deconz Service muss wissen, auf welchem Port er läuft.
  • Die Bridge muss einmalig mit dem Gateway gepairt werden. Das FHEM Bridge Device erzeugt einen Key, in der Phoscon App muss man im Menüpunkt Gateway/erweitert/App die Funktion verbinden wählen.

Links