SONOFF Zigbee 3.0 USB Dongle Plus einbinden in IPS

Ich möchte den Itead SONOFF Zigbee 3.0 USB Dongle Plus einbinden in IPS v6.1, hat bis jetzt noch nicht geklappt.
Muß ich den Sonoff zusätzlich auf Tasmota falshen?

System:
– RPi 4 + IP-Symcon 6.1
– Raspian Buster v10
– SONOFF Zigbee 3.0 USB Dongle Plus (TI CC2652P + CP2102N)
– Sonoff Hardware ID ausgelsen in RPi Terminal
– IPS Module Zigbee2MQTT erstellt
– Port 1883 zugewiesen

Kann mir jemand helfen mit einer Schritt-für-Schritt Anleitung

Schön und gut, aber hast du auch zigbee2mqtt installiert???

Ja, hab ich installiert.
Hab gerade mal alle MQTT relatierten Instanzen installiert (sehe screenshots)






Ähm, der wird nicht in IPS eingebunden. Einbinden tust Du die MQTT-Schnittstelle, also zum Beispiel zigbee2MQTT.

Der Stick kommuniziert mit z2m und z2m mit Symcon. Also sollte der Aufbau so erfolgen:
Stick an RPI mit installierten zigbee2mqtt
In Symcon einen MQTT-Server einrichten
In zigbee2mqtt die Daten für den MQTT-Server (Symcon) einpflegen
@KaiS Modul zigbee2mqtt nutzen und die einzelnen Geräte über den zum Modul gehörenden Configurator anlegen lassen.

Somit wäre für Dich als Lesestoff: Getting started | Zigbee2MQTT und Schnittcher/IPS-Zigbee2MQTT at featureWithUserExtension (github.com).

Und danach, wenn es nicht läuft, gerne Fragen.

Gruß

Burkhard

OK danke!
Werde heute Abend einen neuen Versuch starten und konzentrieren auf den Lesestoff.

Hallo, leider hatte(und hab ich im Moment) sehr wenig Zeit, konnte nur den Lesestoff durchnehmen. Konnte keine weitere Versuche machen.
Was mir im Moment nicht klar ist:

  • Soll ich den MQTT Broker über Mosquitto oder über IPS Server benutzen, was ist die Empfehlung?
  • Generell, was sollte ich in IPS anlegen und was in RPi4
  • Nachdem ich jetzt schon viele Zigbee(2MQTT) gelesen hab wirkt es irgendwie ein bisschen verwirrend.
    Danke für Eure Empfehlung.

Hallo JETVID,

ich würde als erstes Z2M (Zigbee2Mqtt) installieren. Einen MQTT-Broker musst du später dort eintragen. Zum Spielen und Kennenlernen reicht ein blanker Mosquitto. Bei Z2M ist ein gutes Web-Dashboard dabei. Da kannst du schon Geräte anlernen und Aktoren sogar schalten, ganz ohne MQTT. Wenn das alles läuft, kannst du Z2M an deinen bevorzugten Broker anklemmen.

Aber als erstes würde ich den Sonoff Stick mit der aktuellen Coordinator Firmware versorgen.
https://www.zigbee2mqtt.io/guide/adapters/#recommended

Gruss
Bernd

Nutze den in Symcon integrierten MQTT-Server als Broker.

In IPS nur erstmal den Broker (MQTT-Server) und das z2m-Modul installieren. Auf dem RPI4 installierst Du z2m ( Getting started | Zigbee2MQTT)

Der Sonoff-Stick kommt bereits mit der für z2m notwendigen Stackware. Du brauchst ihn also primär erstmal nicht mit der neuesten FW versehen.

Somit folgende Reihenfolge:

1.) In Symcon den MQTT-Server erstellen (wichtig!!) z2m fährt ohne hinterlegten MQTT-Broker NICHT hoch. (Merke dir die IP und den eingestellten Port des MQTT-Servers)

2.) z2m auf dem RPI4 installieren. Bitte auch den extra-Schritt zum Erreichen des Frontend durchführen, dieser Schritt wird NICHT automatisch bei der z2m-Installation durchgeführt. ( Frontend | Zigbee2MQTT)

3.) Den Stick einbinden in z2m. Schaue dann bitte unter /dev/serial/by-id/, ob der Stick dort gelistet wird. Dort erscheint dann in etwa folgender Eintrag: usb-Silicon_Labs_slae.sh_cc2652rb_stick_-_slaesh_s_iot_stuff_00_12_4B_00_21_CC_4B_D3-if00-port0

4.) Du trägst bei z2m in die configuration.yaml (/opt/zigbee2mqtt/data/configuration.yaml) dann folgendes ein (Bitte unter serialDeine Stick-Adresse nutzen.:

mqtt:
  base_topic: zigbee2mqtt
  server: mqtt://xxx.xxx.xxx.xx:1024
  include_device_information: false
  keepalive: 60
  reject_unauthorized: true
  version: 4
serial:
  port: >-
    /dev/serial/by-id/usb-Silicon_Labs_slae.sh_cc2652rb_stick_-_slaesh_s_iot_stuff_00_12_4B_00_21_CC_4B_D3-if00-port0
frontend: true

5.) Du startest z2m NACH Anpassung der configuration.yaml (/opt/zigbee2mqtt/data/configuration.yaml)

4.) Du öffnest das Frontend von z2m (xxx.xxx.xxx.xxx:8080)

5.) Jetzt kannst Du das erste Gerät anlernen und aus dem Frontend heraus schalten und einstellen.

6.) Wenn Alles korrekt gelaufen ist, solltest Du in Symcon unter Splitter eine MQTT-Instanz finden. Wenn Du dort auf debug gehst, sollte es in etwa so aussehen:

7.) In Symcon kannst Du jetzt über den z2m-Konfigurator von @KaiS Modul das Gerät in Symcon einpflegen.
Sollte in etwa so aussehen:

Ich hoffe, dass ist so nachvollziehbar.

Gruß
Burkhard

2 „Gefällt mir“

Hallo Burkhard, hallo Bernd,

Vielen Dank für Eure Empfehlungen!
Ich konnte jetzt ein paar Stunden herum Spielen aber hab es leider noch nicht am laufen.

Folgendes hab ich gemacht (Burkhard’s Beschreibung):

  1. In IPS den MQTT-Server und das z2m-Modul installiert.
  2. Z2m auf dem RPI4 installiert (inklusiv Frontend)
  3. Auf dem RPI4 den Sonoff C2652 Stick eingebunden in z2m:
    pi@RaspberryPi4:/dev/serial/by-id $ dir
    usb-ITead_Sonoff_Zigbee_3.0_USB_Dongle_Plus_348c50c5c7c9eb1198218b4f1d69213e-if00-port0

Eintragung im RPI4 z2m configuration.yaml:

homeassistant: false
permit_join: true
mqtt:
…base_topic: zigbee2mqtt
…server: 192.168.178.55:1883
include_device_information: false
serial:
…port: >-
/dev/serial/by-id/usb-ITead_Sonoff_Zigbee_3.0_USB_Dongle_Plus_348c50c5c7c9eb1198218b4f1d69213e-if00-port0
frontend:
…port: 8080
…host: 0.0.0.0
advanced:
…homeassistant_legacy_entity_attributes: false
…legacy_api: false
…legacy_availability_payload: false
device_options:
…legacy: false

Z2m gestartet (NACH Anpassung der configuration.yaml (/opt/zigbee2mqtt/data/configuration.yaml) (npm@8.6.0)

pi@RaspberryPi4:/opt/zigbee2mqtt $ npm start

zigbee2mqtt@1.24.0 start

node index.js

Zigbee2MQTT:info 2022-04-10 17:06:48: Logging to console and directory: ‚/opt/zigbee2mqtt/data/log/2022-04-10.17-06-46‘ filename: log.txt

Zigbee2MQTT:info 2022-04-10 17:06:48: Starting Zigbee2MQTT version 1.24.0 (commit #7a2ddf24)

Zigbee2MQTT:info 2022-04-10 17:06:48: Starting zigbee-herdsman (0.14.20)

Zigbee2MQTT:info 2022-04-10 17:06:52: zigbee-herdsman started (resumed)

Zigbee2MQTT:info 2022-04-10 17:06:52: Coordinator firmware version: ‚{„meta“:{„maintrel“:1,„majorrel“:2,„minorrel“:7,„product“:1,„revision“:20210708,„transportrev“:2},„type“:„zStack3x0“}‘

Zigbee2MQTT:info 2022-04-10 17:06:52: Currently 0 devices are joined:

Zigbee2MQTT:warn 2022-04-10 17:06:52: permit_join set to true in configuration.yaml.

Zigbee2MQTT:warn 2022-04-10 17:06:52: Allowing new devices to join.

Zigbee2MQTT:warn 2022-04-10 17:06:52: Set permit_join to false once you joined all devices.

Zigbee2MQTT:info 2022-04-10 17:06:52: Zigbee: allowing new devices to join.

Zigbee2MQTT:info 2022-04-10 17:06:53: Connecting to MQTT server at 192.168.178.55:1883

…… und dann keine Reaktion mehr

Kan das Frontend von z2m (xxx.xxx.xxx.xxx:8080) nicht öffnen

Hab noch was herum gespielt mit/ohne Benutzername + Passwort (im IPS MQTT Server Modul und der configuration.yaml aber hat nichts gebracht.

Vielen dank und viele Grüße,
Wim

Kannst Du mal ein zweites Putty fenster öffnen und Dich auf den RPI einloggen und dann folgendes bitte eingeben:

sudo journalctl -u zigbee2mqtt.service -f

Und mal schauen, ob er korrekt hochfährt?

Also z2m stoppen, dann zweite Fenster öffnen, erneut in den Raspi einloggen, den o.g. Befehl eingeben und dann im anderen Fenster z2m erneut starten.
Dabei im zweiten Fenster mal schauen, wie das log aussieht und evtl. hier posten.

Gruß
Burkhard

Wenn das Frontend nicht startet, ist das komisch. Hast du bereits etwas anderes auf port 8080 laufen? Das mit dem host: 0.0.0.0 ist bei mir nicht drin, kommt mir komisch vor, kann mich aber auch täuschen.

Aber mach mal wie von Burkhard vorgeschlagen ein Log vom Z2M-Start in eine Textdatei und poste die hier. Damit wäre es leichter, dir zu helfen.

Von Geräten wirst du übrigens nicht viel im MQTT sehen, sind ja noch keine angelernt.

Gruss
Bernd

Hallo @icey ,

die Angabe des Host oder/und Port ist optional und muss nicht zwingend in der configuration.yaml eingesetzt werden. Siehe dazu auch Frontend | Zigbee2MQTT.
Es ist ausreichend, in der configuration.yaml nur frontend: true einzugeben.

port und Host werden unter dem Punkt advanced eingetragen. frontend: true vor der advanced Auflistung:

homeassistant: false
permit_join: true
mqtt:
  base_topic: zigbee2mqtt
  server: mqtt://192.xxx.xxx.xx:1024
  include_device_information: false
  keepalive: 60
  reject_unauthorized: true
  version: 4
serial:
  port: >-
    /dev/serial/by-id/usb-Silicon_Labs_slae.sh_cc2652rb_stick_-_slaesh_s_iot_stuff_00_12_4B_00_21_CC_4B_D3-if00-port0
  adapter: auto
frontend: true
advanced:
  frontend:
    port: 8080
    host: 0.0.0.0

Gruß
Burkhard

Hallo,

Hab gerade Burkhard’s Vorschlag versucht, bekomme aber keine LOG-Informationen, sehe Anhänge [Z2M_Fenster 1_Start und Stop Z2M.txt, Z2M_Fenster 2_LOG Z2M.txt, Z2M_Hardware SONOFF C2652.txt].

Z2M_Fenster 1_Start und Stop Z2M.txt (5,2 KB)
Z2M_Fenster 2_LOG Z2M.txt (145 Bytes)
Z2M_Hardware SONOFF C2652.txt (244 Bytes)

Was mir noch allerdings in den Z2M Verzeichnissen aufgefallen ist sind die 2 „Zigbee2mqtt“ (Unter)Verzeichnisse, sehe Anhänge [ Z2M_Ordner Inhalte.txt ].

Z2M_Ordner Inhalte.txt (856 Bytes)

Moin @JETVID ,

Jupps, da sind Fehler bei der z2m-Installation passiert. Danke für die Details.

Also bitte (wenn möglich) z2m neu installieren. In den Logs sieht man auch, dass er das Frontend nicht starten kann, von daher kannst Du natürlich auch nicht drauf zugreifen.

In der von mir beschriebenen Herangehensweise mit dem Log im zweiten Fenster muss z2m als Service gestartet werden, sonst kann er kein Log liefern: Linux | Zigbee2MQTT

Das Unterverzeichnis zigbee2mqtt im Verzeichnis zigbee2mqtt darf es eigentlich nicht geben. Denke mal, da liegt der Fehler.

Bei dem frontend könnte es ein Schreibfehler in der configuration.yaml sein:

CZigbee2MQTT:error 2022-04-20 19:36:41: Failed to call 'Frontend' 'stop' (TypeError: Cannot read properties of null (reading 'clients')
    at Frontend.stop (/opt/zigbee2mqtt/lib/extension/frontend.ts:59:39)

Schaue mal bitte, ob Du in der configuration.yaml den Begriff „frontend“ groß geschrieben hast, anstatt klein.

Gruß
Burkhard

Hallo Burkhard,

Ich hab die Z2m Erst Installation entfernt und neu installiert: es funktioniert jetzt :slight_smile: .
(Sehe auch die beigefügten Anhänge mit Installations LOG).

Z2M_Removal and Reinstallation 21-4-2022.txt (13,1 KB)



Im Frontend kann ich die Geräte sehen, auslesen und schalten.

Muss ich jetzt noch die Zigbee2MQTT Device Instanz in IPS installier um die Geräte im IPS Webfront zu bedienen?

Vielen Dank und viele Grüße für Deine(eure) Unterstützung!
Wim

Erstmal Cool, dass es läuft. Weitere Instanzen legst Du nur noch über den z2m-Konfigurator von @KaiS seinem Modul an. Wenn angelegt, gehst Du im Konfigurator auf konfigurieren und dort auf „Geräteinformationen abholen“. Den Rest erledigt das Modul/Symcon dann alleine.

Vorsichtshalber mal die Frage: Hast Du das Modul in der Beta von @KaiS installiert und wenn, hast Du die Extension in z2m geladen?
Schnittcher/IPS-Zigbee2MQTT at featureWithUserExtension (github.com)

Achja, noch ein Tipp, da Du ja z2m nutzen willst und nicht jedesmal, wenn der Raspi neu startet z2m extra starten musst, hinterlege es als Service. Den Link zur Anleitung hatte ich etwas weiter oben gesschickt.

Gruß
Burkhard

Hallo Burkhard,

Vorsichtshalber mal die Frage: Hast Du das Modul in der Beta von @KaiS installiert und wenn, hast Du die Extension in z2m geladen?
Schnittcher/IPS-Zigbee2MQTT at featureWithUserExtension (github.com)

Ja, ich hab die Bèta Version (4.0) installiert; dies war eine Vorgabe bei IPS 6.1 (…?)
Die „IPSymconExtension.js“ hatte ich in der Erst-Installation installiert und bei der aktuellen Installation vergessen aber jetzt nochmal installiert und den RPi neu gestartet: jetzt sehe ich auch die Geräte im Konfigurator.

Achja, noch ein Tipp, da Du ja z2m nutzen willst und nicht jedesmal, wenn der Raspi neu startet z2m extra starten musst, hinterlege es als Service. Den Link zur Anleitung hatte ich etwas weiter oben gesschickt.

Hab ich gemacht und funktioniert (sudo nano /etc/systemd/system/zigbee2mqtt.service).

Nochmals vielen Dank für den tollen Support.
VG.,
Wim

Moin zusammen,

hier wird immer mit einem PI gearbeitet, wäre es auch möglich den Sonoff Stick direkt an der Symbox z.B. mit dem Modul von Kai zu nutzen?
Ähnlich wie es per Plug In in Home Assist gemacht wird?

Die Symbox ist mir im SmartHome heilig daher würde ich ungern tiefere Veränderungen umsetzen! Sie steuert eben das halbe Haus oder mehr.
Oder würdet ihr Zigbee2MQTT als „Bridgeersatz“ eher auf einem PI separat empfehlen?

Moin @Sunzi ,

Also: Um mit dem Sonoff-Stick in Symcon arbeiten zu können, benötigst Du zwingend eine Vermittlungssoftware. Symcon ansich kommt nativ mit Zigbee nicht zurecht. Von daher wird in diesem Fall Zigbee2MQTT genutzt. Diese OpenSource Software setzt die Signale, die über das Zigbee-Netzwerk geschickt werden um in MQTT Payloads. Diese können in Symcon mittels eines MQTT-Servers (Symcon intern oder Extern z.B. Mosquitto) gelesen und verarbeitet werden. Das Modul von @KaiS hilft dabei immens, die Zigbee-Devices auf einfache Art und Weise über einen Konfigurator anzulegen. Du kannst natürlich auch alle Devices ohne Modul als MQTT-Klienten in Symcon einpflegen, ist aber aus meiner Sicht wesentlich aufwendiger. Es gibt derzeitig kein direktes Zigbee2MQTT-Plugin, so wie es bei HA der Fall ist. Bei HA darf man nicht vergessen, das der Entwickler von Zigbee2MQTT ursprünglich nur HA im Sinn hatte und das Plugin also aktiv unterstützt.

WICHTIG: HA kommt mit zigbee auch über andere Plugins klar. Läuft aber am einfachsten und stabilsten mit dem zigbee2mqtt-Plugin. Also wird der Stick dort auch nicht direkt angesprochen, sondern ebenfalls über zigbee2mqtt.

Ob man jetzt Zigbee2MQTT auf eine Symbox installieren kann kann ich nicht sagen, da ich nicht mit einer Symbox arbeite. Da könnte @paresy etwas zu sagen.

Aus meiner Sicht ist aber der sichere Weg, einen RPI mit Raspberry OS Light 64Bit aufzusetzen und dort zigbee2mqtt zu installieren. Als MQTT-Server habe ich bei mir den Symcon-internen genutzt. Somit sendet zigbee2mqtt die Payloads direkt an Symcon ohne eine weitere Software (Mosquitto als MQTT-Broker) dazwischen zu haben.

In dieser Form läuft es extrem stabil und steuert inzwischen so ziemlich Alles in meinem Haus mit derzeitig 160 Geräten.

Gruß
Burkhard

Super, danke für die sehr ausführliche Erklärung!

Einen Rasp 4 habe ich eh noch rumliegen. Bedeutet ich kann bis auf den Stick/sein Zigbee2MQTT „System“ alles über Kai’s Modul steuern, einrichten, neue Geräte suchen. Richtig verstanden?
So könnte ich auf Mosquitto verzichten, weniger ist mehr.

Es gibt ja diverse Anleitungen für Zigbee2MQTT zur Einrichtung, hast du einen Tipp welche gut und einfach ist?