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:
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 Link zum Anbieter |
Xiaomi Aqara Smart Home Fenster-Tü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:
lsusbMit 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-idDie 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 🙂
Pingback: ioBroker – Aufzählungen für das Zählen von offenen Fenstern oder Türen verwenden – smarthome-tricks.de
Wie lang ist die Reichweite?
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.
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
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 🙂
Eine Frage – ich habe iobroker auf einem MacMini laufen…
Ist es möglich, den Stick auch dort einzubinden?
Wie kann ich die Reichweite erhöhen?
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! 🙂
Pingback: Xiaomi Aqara Sensor Aktualisierung protokollieren – smarthome-tricks.de
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….
Hallo, reagiert sehr schnell, ca. 1 Sekunde Verzögerung.
Wird bei uns im Haus in zwei Stockwerken problemlos betrieben 🙂
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?
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
Achso alles klaro!
Dann warte ich mal auf meinen Stick und die Sensoren aus Fernost 🙂
Bin auf die nächsten Projekte von dir gespannt 🙂
Ist die Einbindung via Cuxd in Homematic möglich? Sodass ich den Temp. Sensor in eine Heizungsgruppe in Homematic stecken kann?
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 🙂
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ß
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.
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.
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.
Pingback: Blockly – Beispiel – Fernsterüberwachung – smarthome-tricks.de
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.
Sollte die Anleitung hier immernoch gültigkeit haben und funktionieren? Ich würde gerne ein paar Temperatur Sensoren anbinden und abfragen.
Pingback: Visualisierung – Teil 4.2 – Implementierung – Übersicht – smarthome-tricks.de
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
ich habe genau das gleiche Problem. Eine Lösung dafür gefunden?
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 +
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é
Hallo André,
der Stick muss dauerhaft eingesteckt bleiben, da er die Kommunikation mit dem Zigbee Komponenten übernimmt.
LG Matthias