[Modul] Xiaomi MIoT (Beta)

Hinweis:

Das Modul ist aktuell als BETA im Store. Somit muss der Suchbegriff genau so eingegeben werden:

Xiaomi MIoT



SDK Version Version
License Check Style Run Tests
Spenden Wunschliste

Xiaomi MIoT

Ermöglicht die Einbindung von Xiaomi Geräten in IP-Symcon.

Inhaltsverzeichnis


1. Vorbemerkungen

Zur Library

Diese Library enthält keine Gerätespezifischen Anpassungen für einzelne Gerätemodelle.
Stattdessen werden alle Fähigkeiten und Eigenschaften von Geräten einmalig aus der Xiaomi Cloud geladen.
Entsprechend können grundsätzlich alle Geräte, auch von Drittherstellern, eingebunden werden, sofern das Gerät in der Mi Home App vorhanden und angelernt ist.

Die Kommunikation der Geräte kann sowohl lokal (LAN/WLAN) als auch über die Cloud erfolgen.
Jedoch unterstützt nicht jedes Gerät die lokale Kommunikation.


Zur Integration von Geräten

Es werden Instanzen zur Kommunikation mit der Cloud (Cloud IO), einrichten von Geräten in Symcon (Konfigurator) und die eigentlichen Geräte Instanzen bereitgestellt.

Für die Ersteinrichtung ist zwingend ein Internetzugang, sowie die Zugangsdaten des Account der Mi Cloud (Mi Account bzw. Konto der Mi Home App) nötig.

2. Voraussetzungen

  • IPS 6.4 oder höher
  • Eingebundene Geräte in der Mi Home App

3. Enthaltende Module

Folgende Module beinhaltet das Xiaomi MIoT Repository:

  • Xiaomi MIoT Cloud IO (Dokumentation)
    IO Instanz zur Kommunikation mit der Cloud.
  • Xiaomi MIoT Configurator (Dokumentation)
    Konfigurator welche alle in der Cloud vorhandenen Geräte anzeigt und zum erstellen von Geräte Instanzen verwendet wird.
  • Xiaomi MIoT Device (Dokumentation)
    Geräte Instanz, welche die jeweils ein Gerät in Symcon abbildet.

4. Software-Installation

Über den Module-Store in IPS das Modul Xiaomi MIot hinzufügen.
Bei kommerzieller Nutzung (z.B. als Errichter oder Integrator) wenden Sie sich bitte an den Autor.
Module-Store

5. Einrichten der Instanzen in IP-Symcon

Details sind direkt in der Dokumentation der jeweiligen Module beschrieben.
Es wird empfohlen die Einrichtung mit der Konfigurator-Instanz zu starten Xiaomi MIoT Configurator.
Nach der installation aus dem Store wird diese Instanz auf Rückfrage automatisch angelegt. Module-Store
Module-Store
Dabei wird die Konfiguration bis zur Xiaomi MIoT Cloud IO durchlaufen.
Module-Store
Sind die Eingaben korrekt, so wird der Xiaomi MIoT Configurator geöffnet. Module-Store

6. Anhang

1. GUID der Module

Modul Typ Prefix GUID
Xiaomi MIoT Cloud IO IO XIAOMI {DF2248D9-FC17-4609-840D-BA52DBF9CEB6}
Xiaomi MIoT Configurator Configurator XIAOMI {CCB7419D-F038-E519-8D63-171260FED0A0}
Xiaomi MIoT Device Device XIAOMI {733AB5D2-957D-E76A-BA5D-5006701A6216}

2. Changelog

Siehe hier:

3. Spenden

Die Library ist für die nicht kommerzielle Nutzung kostenlos, Schenkungen als Unterstützung für den Autor werden hier akzeptiert:

7. Lizenz

IPS-Modul:
CC BY-NC-SA 4.0

2 „Gefällt mir“

Changelog:

Version 1.05:

  • Übersetzungen von Tagen, Stunden, Minuten, Sekunden fehlte
  • Fehlende Übersetzungen der Systemsprache werden aus der englischen Übersetzung des Gerätes ergänzt
  • Cloud IO zeigt den Benutzernamen in der Info Spalte an, damit mehrere Instanzen besser unterschieden werden können
  • Konfigurator berücksichtigt nur Instanzen welche am selben IO hängen (oder bei Roborock-Instanzen welche den gleichen Cloud Usernamen haben)
  • Geräte Instanz zeigt das Modul in der Info Spalte an

Version 1.01:

  • Start der offenen Beta

Hallo Michael,
danke schon einmal vorab für Deine tolle Arbeit! Habe das Modul gerade installiert.

Unsere beiden Desk Lampen Pro werden im Konfigurator auch gefunden, die Lampen-Instanzen werden angelegt, sind aber leer (Fehler). Vermutlich liegt es daran, dass die beiden Lampen im Gastnetz sind, IPS aber nicht. Nun dachte ich, dass mit „Cloud-Verbindung erzwingen“ dieser Weg frei ist - leider ohne Erfolg. Hast Du eine Idee?

Danke nochmals!

Viele Grüße, Carsten

Der Initiale Handshake ist immer lokal, somit muss IPS die Geräte im LAN erreichen können.
Steht etwas versteckt in der Doku bei der Geräte Instanz:

… nach dem Handshake mit dem Gerät, was immer lokal läuft …

Michael

Danke für den Hinweis. Habe eine Lampe jetzt mal in das lokale Netz genommen, aber das hilft nicht. Der Konfigurator zeigt die Lampe mit lokaler IP an, aber es wird leider nichts außer die leere Lampeninstanz angelegt. In der Lampeninstanz-Konfiguration steht „offline“ (die lokale IP ist ok, Instanz zeigt „aktiv“) und direkt nach dem Öffnen unter „Token“ zunächst ein Wert. Drücke ich auf „Geräteinformation neu laden“ werden keine Infos angezeigt (Token ist jetzt auch leer). Bei „Zustand lesen“ kommt der u.g. Fehler. Vom IPS-Server aus kann ich die Lampe anpingen.

Hast du gewartet bis der Konfigurator die Instanz fertig erstellt hat, also eine InstanzID angezeigt hat?

Den Satz verstehe ich nicht; wo steht offline und aktiv gleichzeitig?

Das kann locker 10 Sekunden dauern, wenn du den Button drückst.
Zustand lesen geht nicht wenn die Instanz nicht aktiv ist, das ist korrekt.

Sonst sende mir gerne ein Mittschicht aus dem Debug Reiter der Instanz, wenn du in der Instanz die Einstellungen übernimmst, dann schaue ich mir das an.
Michael

  • im Konfigurator habe ich immer gewartet, bis „warten“ weg ist und eine InstanzID angezeigt wird
  • offline und aktiv steht hier:
  • die Debug-Dumps für „Geräteinformation neu laden“ von IO und Lampe schicke ich Dir gleich per PM

Ach das aktiv. Ja das ist ja um die Instanz überhaupt aktiv zu schalten.
Der echte Status ist oben, Gerät offline :slight_smile:
Mal schauen was das Debug sagt, warum die Instanz glaubt das Gerät ist offline.
Michael

Version 1.05 als Beta im Store

Kleine Verbesserungen, siehe Changelog: