ioBrokerXiaomi

Xiaomi Sensoren ohne Cloud in ioBroker integrieren

In diesem Artikel zeige ich Dir, wie ich Xiaomi Smart-Home Sensoren ohne Cloud und Gateway in ioBroker integriert habe. 

Xiaomi Smart-Home Produkte sind derzeit in aller Munde. Gerade der Preis aber auch das kompakte Design der Sensoren überzeugen. Das Problem der Sensoren ist allerdings, dass für den Betrieb ein Xiaomi Smart-Home Gateway und die Xiaomi Cloud benötigt werden. Gerade das Gatway hat leider meines Wissens nach noch keine CE-Kennzeichnung, wodurch es eigentlich in Europa nicht betrieben werden darf. Zudem stört mich der Zwang zur Cloud. Aber kein Problem, mittlerweile gibt es alternative Möglichkeiten die Sensoren über das Zigbee Protokoll zu steuern. Dazu wird ein Raspberry PI (durch ioBroker eh vorhanden) sowie ein kleiner USB-Stick (CC2531 USB Stick) benötigt. Der USB-Stick wird dann mittels einem CC Debugger mit einer entsprechenden Firmware geflasht, und kann dann direkt in ioBroker verwendet werden.

Ich habe den USB-Stick fertig geflashed für ca. 20€ auf ebay-kleinanzeigen gekauft. Hier der Link zur Suche, dort findet man einige Anbieter:

kleinanzeigen Suchergebnis

Suchbegriff:

cc2531 usb stick iobroker

Zudem brauchst Du natürlich die Xiaomi-Sensoren. Ich habe folgende Sensoren bei mir im Einsatz:

Xiaomi Aqara Smart Home
Temperatur Luftfeuchtigkeit Sensor
Atmos Edition Original Xiaomi Aqara Intelligente Smart Home Temperatur Luftfeuchtigkeit Sensor Set Weiß
Link zum Anbieter
Xiaomi Aqara Smart Home
Fenster-Tür Sensor Control Sensor Switch
Original Xiaomi Aqara Intelligente Fenstertür Sensor Control Sensor Switch
Link zum Anbieter

Nach dem wir nun alle benötigten Module und Sensoren zusammen haben, können wir nun im ersten Schritt den USB-Stick in einen freien USB-Steckplatz am Raspberry PI (auf dem ioBroker läuft) einstecken. Wenn wir uns nun mit SSH am PI anmelden müssen wir im ersten Schritt den COM-Port Name des USB-Sticks ermitteln. Dazu geben wir folgende Befehle in die Shell ein:

lsusb

Mit dem lsusb-Befehl werden jetzt alle USB-Devices aufgelistet. Wir sollten hier das gelb markierte Device finden:

Im nächsten Schritt ermitteln wir uns die entsprechende ID für die ioBroker Konfiguration:

ls -la /dev/serial/by-id

Die ermittelte ID kopieren wir uns nun heraus. Dazu verketten wir den oberen Teil /dev/serial/by-id mit der usb-Texas… Id. Das Ergebnis sollte ungefähr so aussehen:

/dev/serial/by-id/usb-Texas_Instruments_TI_CC2531_USB_CDC___0X00124B0018ED3DD9-if00

Diese ID benötigen wir später für die Adapter-Konfiguration in ioBroker.



Im nächsten Schritt gehen wir in die ioBroker Administrationsoberfläche und installieren den zigbee-Adapter.

Nach der Installation beginnen wir direkt mit der Konfiguration des Adapters. Dazu kopieren wir die oben genannte ID in das COM Port Name Eingabefeld und speichern die Konfiguration.

Nun sollte der Adapter funktionieren, wir können somit mit dem Pairing-Prozess der Sensoren beginnen. Dazu müssen wir im er ersten Schritt den Pairing-Prozess über die grüne Schaltfläche oben rechts starten. Im nächsten Schritt drücken wir am Sensor den Pairing-Knopf für 4 Sekunden und warten auf das Blinken der Status-LED am Sensor. Ich würde dazu den Sensor im Abstand von 1-2 Metern an den USB-Stick halten um so ein Reichweiten-Problem auszuschließen. Zudem muss während dem Pairing-Prozess der Sensor durch kurzes drücken alle 5-10 Sekunden „am Leben“ gehalten werden. Wenn wir im Status-Fenster Einträge beginnend mit „Interview state: 1/1 progress: XXX sehen, hat er das Device gefunden und das Pairing sollte funktionieren.

Nach dem Pairing sind dann die Geräte in der Device-Ansicht zu finden. Hier kann noch der Name des Gerätes für die ioBroker Objektstruktur angepasst werden.

In den Objekten sind nun die einzelnen Geräte mit den Status-Informationen zu finden. Hier ein Beispiel des Fenster- und Türstatus Sensor. Der Sensor den Battery-Status in Prozent sowie die eigentliche Spannung. Zudem natürlich die Informationen zum Status (isOpen=Fenster oder Tür geöffnet) sowie das Kontakt-Event.

Das war es auch schon, bei mir laufen die Sensoren problemlos 🙂

Ich hoffe Dir gefällt der Artikel 🙂 Ich freue mich über Deinen Kommentar 🙂

Matthias Korte

Hauptberuflich Software-Entwickler und seit einigen Jahren Smart-Home Fan. Angefangen hat alles mit einem RaspberryMatic und einer schaltbaren Steckdose. Mittlerweile habe ich einige Steckdosen, Sensoren, und Thermostate sowie ioBroker zur Visualisierung im Einsatz.

29 Gedanken zu „Xiaomi Sensoren ohne Cloud in ioBroker integrieren

  • Pingback: ioBroker – Aufzählungen für das Zählen von offenen Fenstern oder Türen verwenden – smarthome-tricks.de

  • Alex

    Wie lang ist die Reichweite?

    Antwort
    • Matthias Korte

      Bei uns im Haus ist der USB-Stick im Keller im Server-Schrank. Ich komme problemlos bis in den 1. Stock. Für das Dachgeschoss fehlen mir noch die Sensoren, sollte aber auch gehen.

      Antwort
  • Dennis

    Könnte man den Stick auch in das bestehende Wlan einbinden? (Mesh system). Oder in ein HUE System?

    Sorry, iobroker & hue noob 🙂

    Grüße
    Dennis

    Antwort
    • Matthias Korte

      In das WLAN eher nicht, da hier ein anderes Frequenz-Band genutzt wird. Du kannst aber mit dem USB-Stick auch HUE Lampen oder sonstige Aktoren betreiben, kannst Dir damit also das Gateway sparen 🙂

      Antwort
  • chrischyyy

    Eine Frage – ich habe iobroker auf einem MacMini laufen…
    Ist es möglich, den Stick auch dort einzubinden?

    Antwort
  • droell

    Wie kann ich die Reichweite erhöhen?

    Antwort
    • Matthias Korte

      Das ist eine gute Frage! Theoretisch nutzen die Sensoren ja das Zigbee-Protokoll, welches auch eigentlich die Mesh Funktion enthält. Beim Meshing werden Datenpakete bei größerer Reichweite von einem zum anderen Sensor weitergereicht, sodass eine Verbindung zum Gateway (USB-Stick) zu Stande kommt. Ich habe aber auch gelesen, dass die Batterie-betriebenen Geräte diese Funktion wohl nicht haben. Da müsste man einen Test machen! 🙂

      Antwort
  • Pingback: Xiaomi Aqara Sensor Aktualisierung protokollieren – smarthome-tricks.de

  • Kai

    Wie schnell reagieren denn die Xiaomi Türsensoren über den Stick im ioBroker?
    Also wie verzögert kommt der „true“ Befehl im Broker an?

    Ich habe aktuell vom MAX! Heizsystem einen Sensor im Briefkasten, aber das reagiert so träge, dass kein Signal ankommt bei der kurzen Öffnung der Klappe….

    Antwort
    • Matthias Korte

      Hallo, reagiert sehr schnell, ca. 1 Sekunde Verzögerung.
      Wird bei uns im Haus in zwei Stockwerken problemlos betrieben 🙂

      Antwort
  • Kai

    Wow danke für die schnelle Antwort 🙂

    Dann werde ich mal das Gateway wieder stornieren und einen Zigbee Stick holen!
    Mit deiner Anleitung hier kann ja nix schief gehen!

    Frage aber noch:
    Oben wo es in Putty losgeht um den Stick zu suchen, startest du mit dem Befehl:
    lsusb

    In Putty ist zu sehen, dass du aber schon mit iobroker da verbunden bist!?
    Kann das sein?
    Oder startet man sofort mit dem angezeigten Befehl und los geht’s?

    Antwort
    • Matthias Korte

      Moin,
      ja ist wirklich ganz easy gewesen und läuft super stabil! Du musst Dich einfach am PI anmelden. Mein PI hat den Namen „iobroker-raspi“, von daher die Ausgabe in der Konsole 🙂
      Grüße,
      Matthias

      Antwort
  • Kai

    Achso alles klaro!

    Dann warte ich mal auf meinen Stick und die Sensoren aus Fernost 🙂

    Bin auf die nächsten Projekte von dir gespannt 🙂

    Antwort
  • Hendrik

    Ist die Einbindung via Cuxd in Homematic möglich? Sodass ich den Temp. Sensor in eine Heizungsgruppe in Homematic stecken kann?

    Antwort
    • Matthias Korte

      Ja, das geht ebenfalls. Mache ich evt. noch einen Artikel dazu, alternativ mal bei youtube (verdrahtet-Kanal) nachsehen. Ich meine da gibt es bereits ein Video dazu 🙂

      Antwort
  • M.Khan

    Hallo, habe soweit alles hinbekommen, die Anleitung ist sehr gut. Folgende Geräte habe ich mit erfolg verbunden:
    Ikea Tradfri Lampe,
    Xiao-Mi Thermostat Sensor
    Xiao-Mi Cube Sensor.
    Nur ich bekomme diese mit Alexa nicht angesteurt.
    Die Geräte kann ich aus mir nicht erklärlichen Gründen nicht in Cloud Adapter als Smartgerät einbinden.
    im Log steht folgendes:

    cloud.0 2018-11-08 14:14:40.473 info Request V3 devices
    cloud.0 2018-11-08 14:14:40.413 info Request devices
    cloud.0 2018-11-08 14:13:48.131 info Request devices
    zigbee.0 2018-11-08 14:13:15.935 info (0x00158d00027bffd2): MFKZQ01LM – Xiaomi Mi smart home cube (EndDevice)
    zigbee.0 2018-11-08 14:13:15.933 info (0x00158d000273a0c2): WSDCGQ11LM – Xiaomi Aqara temperature, humidity and pressure sensor (EndDevice)
    zigbee.0 2018-11-08 14:13:15.920 info (0xd0cf5efffe2149d1): LED1545G12 – IKEA TRADFRI LED bulb E26/E27 980 lumen, dimmable, white spectrum, opal white (Router)
    zigbee.0 2018-11-08 14:13:15.867 info zigbee-shepherd ready. version: 2.6.3 rev 20180815
    zigbee.0 2018-11-08 14:13:15.834 info zigbee-shepherd started!

    was mache ich da falsch? Danke für jede Hilfe schon mal im Voraus

    Gruß

    Antwort
    • Matthias Korte

      Hallo, Sorry ich habe meine Alexa noch nicht mit den Xiaomi Geräten gekoppelt / gesteuert. Bitte poste das Thema doch mal direkt im ioBroker-Forum.

      Antwort
  • Kai

    Habe meine Sensoren nun die Tage erhalten und mit dem Stick zum laufen gebracht mit der klasse Anleitung von dir!

    Allerdings kann ich im cloud Adapter irgendwie nicht den Temperatursensor als SmartHome Gerät anlegen….
    Man wählt den Pfad von der Temperatur aus und dann übernimmt es der Adapter nicht.
    Wollte es als Thermostat anlegen um es dann von Alexa finden zu lassen um die Temperatur abzufragen.

    Antwort
    • Matthias Korte

      Hallo Kai, Sorry ich habe meine Alexa noch nicht mit den Xiaomi Geräten gekoppelt / gesteuert. Bitte poste das Thema doch mal direkt im ioBroker-Forum.

      Antwort
  • Pingback: Blockly – Beispiel – Fernsterüberwachung – smarthome-tricks.de

  • Daniel

    Hallo zusammen,

    ich habe ein Problem beim einbinden des Sticks.
    Habe lsusb ausgeführt. Hier wird mir folgendes angezeigt.

    Bus 001 Device 004: ID 0451:16ae Texas Instruments, Inc.
    Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. SMSC9512/9514 Fast Ethernet Adapter
    Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp. SMC9514 Hub
    Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

    Davon ist aber leider nichts Gelb.
    Der 2. Befehlt geht leider nicht. Er findet kein Serial Device. (wenn der Befehl ausgeführt wird ls -la /dev
    wird leider nichts mit Serial angezeigt.)

    Ich habe den Stick bei ebay gekauft. Und frage mich ob er überhaupt geflasht ist.
    Am Stick selbst muss ja nichts gedrückt werden oder?

    Lieben dank.

    Antwort
  • Sollte die Anleitung hier immernoch gültigkeit haben und funktionieren? Ich würde gerne ein paar Temperatur Sensoren anbinden und abfragen.

    Antwort
  • Pingback: Visualisierung – Teil 4.2 – Implementierung – Übersicht – smarthome-tricks.de

  • Marc

    Hallo,
    ich habe bei mir den Zigbee Adapter im ioBroker installiert und den CC2531 auch gefunden und entsprechend eingebunden jedoch bleibt der Adapter „rot“.

    Bei meiner weiteren Suche habe ich gesehen das unter dem COMPort man auch „/dev/ttyACM0“ eintragen kann jedoch auch hier leuchtet der Adapter „rot“.

    Was kann ich noch versuchen um den Adapter zum laufen zu bringen?
    Gruß Katsche

    Antwort
  • ich habe genau das gleiche Problem. Eine Lösung dafür gefunden?

    Antwort
  • Liebe ALLE

    Zuerst Danke für diese tolle Anleitung, auch wenn diese durch die schnelle Entwicklung der Hardware und Software nicht mehr zu 100% korrekt ist, doch sie hat mir als Neuling und bis dato Laie den sofortigen Einstieg ermöglicht.
    Danke auch an viele tolle und nützliche Zusatzhinweise der Community hier! *daumen hoch*

    Mein Hinweis an dieser Stelle lautet:

    Laut neuem iOBroker 4.1.10 und aktuellem Raspi 5.4.51 braucht man nicht mehr diese lange ID (COM-Anschlussname) eintragen. Es reicht die Ermittlung per ls -l /dev/serial/by-id

    => usb-Texas_Instruments_TI_CC2531_USB_CDC___XXXXXXXX0014DA2C07-if00 -> ../../ttyACM0

    Es reicht nun zu wissen das da hinten ttyACM0 steht.

    Notiz: Also, bei mir war das auch nicht gelb, das kommt immer auf das genutzte Terminal an 🙂

    Mein Gerät (Sniffer) ist von http://www.itstuff.eu (falls das hier erlaubt ist zu sagen) und es handelt sich dabei um ein USB CC2531 Sniffer Stick Zigbee +

    Antwort
  • Andre Liebgott

    Hallo zusammen,

    reicht es aus den Stick nur zum „anlernen“ von Xiaomi Aqara am Raspberry zu stecken oder muss der dauerhaft dort stecken um die Temperaturdaten zu empfangen.

    Aktuell habe ich für den iobroker ein Rasp4 und für RaspberryMatic CCURaspberryMatic CCU ein Rasp 3b mit verstärkter Antenne in Betrieb.

    VG
    André

    Antwort
    • Matthias Korte

      Hallo André,

      der Stick muss dauerhaft eingesteckt bleiben, da er die Kommunikation mit dem Zigbee Komponenten übernimmt.

      LG Matthias

      Antwort

Schreibe einen Kommentar zu Kai Antworten abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht.