Raus aus der Cloud! Lokale Steuerung von Xiaomi Geräten

Haben Sie gerne auch Ihre Smart-Home-Geräte unter Kontrolle? Ohne Cloud, ohne Internet?
Dann kommt hier eine Demonstration, wie Sie Xiaomi-Geräte ohne Cloud und App fernsteuern und abfragen können.

Voraussetzungen

Als Schnittstelle dient hier das Programm python-milo.
Die Node-Red-Nodes aus node-red-contrib-miio-localdevices werden ebenfalls benötigt.

Beides für sich alleine funktioniert für das folgende Beispiel nicht. Darum auch diese Anleitung.

Beispiel anhand eines Smart Air Purifiers 4 Compact

Das Gerät wird von python-milo nicht direkt unterstützt und eignet sich somit sehr gut als Beispiel für alle anderen Arten von Geräten.

Parameter zur Kommunikation

Dafür wird die Geräte-IP und das Geräte-Token benötigt.
Mit folgendem Befehl schalten Sie das Gerät z. B. ein:

miiocli airpurifiermiot \
--ip 192.168.178.100 \
--token 5bbd2c8a9ae1f4e4cfcea8db20c9a69c \
raw_command \
set_properties '[{"siid":2,"piid":1,"value": True}]'

IP-Adresse

Die IP-Adresse finden Sie nach der Netzwerkanmeldung des Gerätes, z. B. in Ihrem WLAN-Router. Dieser muss so konfiguriert sein, dass das zu steuernde Gerät immer die gleiche IP-Adresse bekommt.

Geräte-Token und Model

Die Tokens und das Model können über Node-Red abgefragt werden:

Das Model wird zur Abfrage der Parameterlisten gebraucht.
Einfach an folgende URL anhängen:
https://home.miot-spec.com/spec/
z. B.:
https://home.miot-spec.com/spec/zhimi.airp.cpa4

Kommando und Eigenschaften

Mit raw_command set_properties wird ein Befehl gesendet. z. B. '[{"siid":2,"piid":1,"value": True}]'

Die nötigen Parameter (Nummern) für SIID und PIID können Sie z. B. für den Smart Air Purifier 4 Compact aus folgender Liste entnehmen: zhimi.airp.cpa4

Ausschnitt Parameter-Liste
Die booleschen Werte sind Case-sensitiv! D. h. True und False sind richtig.

Beispiel-Flow für Node-Red

Folgt noch …

Mehr zum Thema

Software

Weiterführende Informationen