ConBee: Unterschied zwischen den Versionen
(→Dokumentation und Setup: Setup Beschreibung erweitert) |
|||
(23 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) | |||
Zeile 3: | Zeile 3: | ||
{{Infobox Hardware | {{Infobox Hardware | ||
|Bild=ConBee_II.jpg | |Bild=ConBee_II.jpg | ||
|Bildbeschreibung= | |Bildbeschreibung=dresden Electronik, ConBee II | ||
|HWProtocol=ZigBee | |HWProtocol=ZigBee | ||
|HWType=[[Interface]] | |HWType=[[Interface]] | ||
|HWCategory=diverse Hersteller | |HWCategory=diverse Hersteller | ||
|HWComm=Funk | |HWComm=Funk 2.4 GHz | ||
|HWChannels= | |HWChannels=Zigbee Channel 11 15 20 25 | ||
|HWVoltage=5V= | |HWVoltage=5V= | ||
|HWPowerConsumption= | |HWPowerConsumption=ca. 0,1 W | ||
|HWPoweredBy=USB | |HWPoweredBy=USB | ||
|HWSize= | |HWSize=40 x 17 x 8 (ohne USB Stecker) | ||
|HWDeviceFHEM=HUEBridge.pm, HUEDevice.pm | |HWDeviceFHEM=HUEBridge.pm, HUEDevice.pm | ||
|HWManufacturer=dresden elektronik, Vertrieb: [http://phoscon.de Phoscon] | |HWManufacturer=dresden elektronik, Vertrieb: [http://phoscon.de Phoscon] | ||
Zeile 20: | Zeile 20: | ||
== Dokumentation und Setup == | == Dokumentation und Setup == | ||
* Offizielle deconz [https://phoscon.de/de/conbee/install Installationsanleitung]. Das Ergebnis der Installation ist vom verwendeten System abhängig. | * Offizielle deconz [https://phoscon.de/de/conbee/install Installationsanleitung] inklusive docker Installation. Das Ergebnis der Installation ist vom verwendeten System abhängig. | ||
* Beschreibung der Parameter findet man versteckt im [https://github.com/dresden-elektronik/deconz-rest-plugin/wiki/deCONZ-command-line-parameters deconz Rest-Plugin Wiki] | * Beschreibung der Parameter findet man versteckt im [https://github.com/dresden-elektronik/deconz-rest-plugin/wiki/deCONZ-command-line-parameters deconz Rest-Plugin Wiki] | ||
Das Setup erzeugt auf einem Pi mit PiOS Lite sieben Services, die bis auf zwei alle disabled sind (<code>systemctl list-unit-files|grep deconz</code>). | |||
Das Setup erzeugt auf einem Pi mit | |||
Um den minimalen Dienst (deconz) in Betrieb zu nehmen, sind noch folgende Schritte notwendig: | |||
# Optionale Konfiguration (empfohlen): serielle Schnittstelle und WEB-Port (Standard: 80) einstellen (siehe [[#Problembehebung|Problembehebung]]) | |||
# Start und Test: <code>sudo systemctl start deconz</code>, mit dem Browser Zugriff auf Phoscon App testen: http://gatewayIP:Portnummer | |||
# Funktioniert alles, kann man den Service dauerhaft aktivieren: <code>sudo systemctl enable deconz</code> | |||
'''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 <code>-platform minimal</code> oder <code>--platform minimal</code> verwendet. | |||
* Beim deCONZ Aufruf empfiehlt es sich generell, den --dev= Parameter anzuhängen (siehe [[#Problembehebung|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 | Mit der Phoscon Web-App kann man | ||
* Das Gateway verwalten | * 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 | * Applikationen mit dem Gateway verbinden, dazu zählt auch das HUEBridge Device von FHEM | ||
* Zugriff auf die alte WebApp erhalten (Hilfe Seite) | * Zugriff auf die alte WebApp erhalten (Hilfe Seite) | ||
Um den Zugriff auf die deCONZ GUI zu erhalten | Mit der deCONZ GUI kann man | ||
* Die Firmware der Geräte aktualisieren (OTA Plugin) | |||
* Das Zigbee Netzwerk visualisieren | |||
* EIne direkte Kommunikation zwischen zwei Geräten - Binding - einrichten | |||
* ... (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). | |||
Sieh dazu auch den Beitrag im [https://forum.fhem.de/index.php/topic,117470.msg1200344.html#msg1200344 Forum] | |||
Einzeiler für Linux Desktop : <code>ssh -X <user>@<host> "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> | |||
'''Tipp für Windows Einsteiger:''' | |||
* Programme wie den X11 Server muss man herunterladen und installieren. | |||
* Beispiel: VcXsrv wird gestartet mit xlaunch - alles Standard lassen nur im letzten Fenster: "disable access control" aktivieren | |||
* CMD Box aufmachen mit: Windows Taste + r und dann CMD enter. | |||
* Funktionstest <code>ssh -X pi@raspberrypi "export DISPLAY=%COMPUTERNAME%:0.0;xcalc"</code> | |||
=== Problembehebung === | === Problembehebung === | ||
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. | '''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: | |||
<code>ls -lha /dev/serial/by-id</code> | |||
Die Konfiguration der Dienste erfolgt mit dem systemctl Editor: | |||
<code>sudo systemctl edit --full deconz</code> | |||
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> | |||
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. | |||
== 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 [https://github.com/marthoc/docker-deconz#updating-conbeeraspbee-firmware offiziellen Beschreibung]. | |||
== Unterstützung in FHEM == | == Unterstützung in FHEM == | ||
Zeile 59: | Zeile 109: | ||
* Die HUEBridge funktioniert (noch undokumentiert) auch mit Portangaben, falls nicht Standard Port 80 verwendet wird. | * 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. | * 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 verbinden wählen. | * 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 {{Taste|verbinden}} wählen. | ||
== Binding einrichten == | |||
Um das Licht ohne "Umwege" direkt mit einem Taster/Schalter zu steuern, muss man beide direkt verbinden. Im Zigbee Umfeld wird dies Binding genannt. Beim ConBee Stick erfolgt das mit der deconz-gui. | |||
[[Datei:Deconz-binding-zeichnung.png|mini|Beispiel Binding Taster -> Lampe]] | |||
Die Binding Logik geht normalerweise vom steuernden (Taster) zum gesteuerten Device (Lampe). | |||
# Panel Bind Dropbox anhaken, Kartenreiter (unten!) wird damit angezeigt und muss in den Vordergrund gebracht werden. | |||
# Bei beiden Geräten die Home Automation Tabelle öffnen: linker grauer "Knopf" im Symbol. | |||
# Per drag&drop die gewünschte Zeile in der Tabelle (z.B. 006 on/off) in das jeweilige (linke oder rechte) Feld (Source -> Destination) fallen lassen. | |||
# Den Bind Knopf drücken. | |||
Voraussetzung zum Erfolg: Beide Geräte unterstützen ein Binding, damit kann man zumindest Grundfunktionen direkt ausführen. | |||
== Bekannte Probleme == | |||
Wenn alles gut aussieht, aber trotzdem scheinbar keine Kommunikation mit Zigbee Geräten stattfindet (Anlernen geht nicht, auch nicht mit Abstand von wenigen cm) sollte man den Stick mit einer USB Verlängerung (30-50 cm) anschließen. | |||
== Links == | == Links == |
Aktuelle Version vom 7. Januar 2024, 19:04 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 | |
---|---|
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
- Offizielle deconz Installationsanleitung inklusive docker Installation. Das Ergebnis der Installation ist vom verwendeten System abhängig.
- Beschreibung der Parameter findet man versteckt im deconz Rest-Plugin Wiki
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:
- Optionale Konfiguration (empfohlen): serielle Schnittstelle und WEB-Port (Standard: 80) einstellen (siehe Problembehebung)
- Start und Test:
sudo systemctl start deconz
, mit dem Browser Zugriff auf Phoscon App testen: http://gatewayIP:Portnummer - 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
- EIne direkte Kommunikation zwischen zwei Geräten - Binding - einrichten
- ... (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).
Sieh dazu auch den Beitrag im Forum
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"
Tipp für Windows Einsteiger:
- Programme wie den X11 Server muss man herunterladen und installieren.
- Beispiel: VcXsrv wird gestartet mit xlaunch - alles Standard lassen nur im letzten Fenster: "disable access control" aktivieren
- CMD Box aufmachen mit: Windows Taste + r und dann CMD enter.
- Funktionstest
ssh -X pi@raspberrypi "export DISPLAY=%COMPUTERNAME%:0.0;xcalc"
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
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.
Binding einrichten
Um das Licht ohne "Umwege" direkt mit einem Taster/Schalter zu steuern, muss man beide direkt verbinden. Im Zigbee Umfeld wird dies Binding genannt. Beim ConBee Stick erfolgt das mit der deconz-gui.
Die Binding Logik geht normalerweise vom steuernden (Taster) zum gesteuerten Device (Lampe).
- Panel Bind Dropbox anhaken, Kartenreiter (unten!) wird damit angezeigt und muss in den Vordergrund gebracht werden.
- Bei beiden Geräten die Home Automation Tabelle öffnen: linker grauer "Knopf" im Symbol.
- Per drag&drop die gewünschte Zeile in der Tabelle (z.B. 006 on/off) in das jeweilige (linke oder rechte) Feld (Source -> Destination) fallen lassen.
- Den Bind Knopf drücken.
Voraussetzung zum Erfolg: Beide Geräte unterstützen ein Binding, damit kann man zumindest Grundfunktionen direkt ausführen.
Bekannte Probleme
Wenn alles gut aussieht, aber trotzdem scheinbar keine Kommunikation mit Zigbee Geräten stattfindet (Anlernen geht nicht, auch nicht mit Abstand von wenigen cm) sollte man den Stick mit einer USB Verlängerung (30-50 cm) anschließen.
Links
- Internetseite des Herstellers und des Vertreibers
- Liste der kompatiblen Hersteller / Geräte.