- 1. Funktionsumfang
- 2. Voraussetzungen
- 3. Software-Installation
- 4. Einrichten der Instanzen in IP-Symcon
- 5. Statusvariablen und Profile
- 6. WebFront
- 7. PHP-Befehlsreferenz
- 8. Aktionen
- 9. Anhang
- 10. Lizenz
- Instanz für die Integration eines Xiaomi Gerätes in von Symcon.
- IPS 6.4 oder höher
- Eingebundene Geräte in der Mi Home App
- Dieses Modul ist Bestandteil der Xiaomi MIoT-Library.
Unter Instanz hinzufügen
ist das Xiaomi MIoT Device
-Modul unter dem Hersteller Xiaomi
aufgeführt.
Es wird empfohlen diese Instanz über die dazugehörige Instanz des MIoT Configurator-Moduls von diesem Geräte anzulegen.
Name | Text | Beschreibung |
---|---|---|
Open | Aktiv | Verbindung aktiv |
Host | Host | IP-Adresse von dem Gerät |
DeviceId | Geräte-ID | Geräte ID zur eindeutigen Identifizierung |
RefreshInterval | Aktualisierungsintervall | Intervall der Statusaktualisierung |
ForceCloud | Cloud-Verbindung erzwingen | Das Gerät ausschließlich über die Cloud ansprechen |
DeniedCloud | Cloud-Verbindung verbieten | Auch im Fehlerfall niemals versuchen das Gerät über die Cloud zu erreichen |
Da es diverse Geräte gibt, welche keine direkte Kommunikation im lokalen Netzwerk erlauben, versucht die Geräte-Instanz das Gerät dann über die Cloud anzusprechen.
Dieses Verhalten kann durch die beiden Einstellungen Cloud-Verbindung erzwingen
bzw. Cloud-Verbindung verbieten
verändert werden.
Es darf nur einer der beiden Einstellungen aktiv sein.
Bei erzwingen
wird (nach dem Handshake mit dem Gerät, was immer lokal läuft) die gesamte weitere Kommunikation über die Cloud geführt.
Bei verbieten
wird niemals automatisch auf die Cloud Verbindung umgeschaltet, wenn das Gerät auf lokale Anfragen nicht reagiert.
Im Normalfall brauchen diese Einstellungen nicht verändert werden!
Über die Schaltfläche Zustand lesen
kann eine manuelle Statusaktualisierung erfolgen.
Die Schaltfläche Geräteinformationen neu laden
bewirkt das löschen alle abgespeicherten Fähigkeiten und neu laden derselben aus der Cloud. Anschließend werden u.U. die Statusvariablen und Profile um neue Eigenschaften ergänzt.
Der Bereich Geräteinformationen
zeigt alle erkannten Eigenschaften von dem Gerät an.
Besonders hervorzuheben ist der Punkt Model
, da eine Änderung vom Model ein automatisches neu laden der Geräteinformationen auslöst.
Der Link unter Spezifikationen
führt zu den MIoT Spezifikationen des Gerätes.
Die Statusvariablen inklusive der Übersetzung werden automatisch auf Basis der Gerätefähigkeiten erzeugt.
Bei fehlenden Übersetzungen in der Cloud, findet keine passende Lokalisierung statt, die Variablen sollten dann selbst umbenannt werden.
Beispiel von einem Standlüfter:
Ident der Variablen:
Der Erste Buchstabe eines Ident einer Statusvariable gibt Auskunft darüber ob es sich um eine Eigenschaft/Wert vom Gerät (P) oder eine ausführbare Aktion (A) handelt.
Während Eigenschaften/Werte den jeweiligen Zustand darstellen und auch abgefragt werden können, so sind Aktion nicht lesbar und können entsprechen keinen Zustand annehmen und darstellen.
Die Profile inklusive der Übersetzungen, Maßeinheiten usw. werden automatisch auf Basis der Gerätefähigkeiten erzeugt.
Statusvariablen welche Aktionen abbilden und keine Parameter erwarten, erhalten einheitlich das Profil XIAOMI.Execute
mit der einzigen Assoziation Ausführen
.
Die direkte Darstellung im WebFront ist möglich; es wird aber empfohlen mit Links zu arbeiten.
boolean XIAOMI_RequestState(integer $InstanzID);
Erklärung der Funktion.
Beispiel:
XIAOMI_RequestState(12345);
Es wird empfohlen Schaltaktionen mit dem universellen Befehl RequestAction(integer $VariableID, mixed $Value);
(Link zur Doku) auszuführen.
Sollte es dennoch erforderlich gezielt Werte an bestimme Services zu senden, so stehen folgende Befehle zur Verfügung.
Dabei sind $ServiceID
und $PropertyID
die nummerischen Indexes der MIoT Spezifikationen des Gerätes, welche in der Konfiguration der Instanz unter Spezifikationen
verlinkt sind.
boolean XIAOMI_WriteValueBoolean(integer $InstanzID, integer $ServiceID, integer $PropertyID, boolean $Value);
boolean XIAOMI_WriteValueInteger(integer $InstanzID, integer $ServiceID, integer $PropertyID, integer $Value);
boolean XIAOMI_WriteValueFloat(integer $InstanzID, integer $ServiceID, integer $PropertyID, float $Value);
boolean XIAOMI_WriteValueString(integer $InstanzID, integer $ServiceID, integer $PropertyID, string $Value);
Beispiel:
XIAOMI_WriteValueBoolean(12345, 1, 1, true);
Es wird empfohlen Schaltaktionen mit dem universellen Befehl RequestAction(integer $VariableID, mixed $Value);
(Link zur Doku) auszuführen.
Verfügbare Werte sind z.B. dem Variablenprofil zu entnehmen, oder bei Aktionen welche keine Parameter erwarten irrelevant.
Dabei sind $ServiceID
und $ActionID
die nummerischen Indexes der MIoT Spezifikationen des Gerätes, welche in der Konfiguration der Instanz unter Spezifikationen
verlinkt sind.
boolean XIAOMI_ExecuteAction(integer $InstanzID, integer $ServiceID, integer $ActionID, array $Values);
Erklärung der Funktion.
Beispiel:
XIAOMI_ExecuteAction(12345, 5, 1, []); //Aktion erfordert keinen Wert
XIAOMI_ExecuteAction(12345, 5, 3, [4, 2]); //Aktion erfordert zwei Werte
Es gibt keine speziellen Aktionen für dieses Modul.
Die Library ist für die nicht kommerzielle Nutzung kostenlos, Schenkungen als Unterstützung für den Autor werden hier akzeptiert:
IPS-Modul:
CC BY-NC-SA 4.0