Interface for Miele@Home third-party-API to IP-Symcon
Inhaltsverzeichnis
Unter dem Begriff Miele@Home wird von Miele die Vernetzung von entsprechend ausgestatteten Haushaltsgeräten angeboten. Zur Vernetzung dienen verschiedene Protokolle (WLAN, Z-Wave, …) die dann, ggfs. über einen Gateway, mit der Cloud von Miele kommunizieren,
Über diese Cloud kann der Benutzer mit der entsprechenden App von Miele den Status der Geräte kontrollieren und in gewissem Umfang steuern.
Unter dem Begriff Miele@Home-third-party-API bietet Miele einen Zugriff auf diesen Daten an. Neben dem Abruf von Daten ist auch eine gewisse Steuerung möglich.
Mit diesem Modul können diese Daten, passend zu den Gerätetypen, in IP-Symcon visualisiert werden und die vorhandenen Steuerungsmöglichkeiten genutzt werden.
Die Webconsole von IP-Symcon mit http://<IP-Symcon IP>:3777/console/ öffnen.
Anschließend oben rechts auf das Symbol für den Modulstore (IP-Symcon > 5.1) klicken
Im Suchfeld nun Miele eingeben, das Modul auswählen und auf Installieren drücken.
Die Webconsole von IP-Symcon mit http://<IP-Symcon IP>:3777/console/ aufrufen.
Anschließend den Objektbaum öffnen.
Die Instanz Modules unterhalb von Kerninstanzen im Objektbaum von IP-Symcon mit einem Doppelklick öffnen und das Plus Zeichen drücken.
Im Feld die folgende URL eintragen und mit OK bestätigen:
https://github.com/demel42/IPSymconMieleAtHome.git
Anschließend erscheint ein Eintrag für das Modul in der Liste der Instanz Modules.
Es wird im Standard der Zweig (Branch) master geladen, dieser enthält aktuelle Änderungen und Anpassungen.
Nur der Zweig master wird aktuell gehalten.
Sollte eine ältere Version von IP-Symcon abs 5.0 eingesetzt werden, ist auf das Zahnrad rechts in der Liste zu klicken.
Es öffnet sich ein weiteres Fenster,
hier kann man auf einen anderen Zweig wechseln, für ältere Versionen sind entsprechende Zweige auszuwählen.
Es wird ein Account bei Miele@Home benötigt, das macht man am einfachsten über die App oder legt direkt bei Miele ein Benutzerkonto an.
Um Zugriff auf die Miele@Home Daten zu bekommen, gibt es zwei Möglichkeiten.
Hierzu wird ein aktives IP-Symcon Connect benötigt und den normalen Miele@Home Benutzernamen und Passwort.
Für den Zugriff der auf die Miele@Home-third-party-API benötigt man zusätzliche Zugriffschlüssel; diese bekommn man, indem man eine (formlose) Mail an [email protected] schickt (siehe auch https://www.miele.com/developer).
In IP-Symcon nun unterhalb von I/O Instanzen die Funktion Instanz hinzufügen (CTRL+1) auswählen, als Hersteller Miele und als Gerät Miele@Home I/O auswählen.
Im Konfigurationsformular nun den gewünschten Zugang wählen, entweder als Nutzer über IP-Symcon Connect oder als Entwickler mit eigenem Entwicklerschlüssel
Hierzu auf Registrieren drücken. Es öffnet sich ein Browserfenster mit der Anmeldeseite von Miele.
Auf der Anmeldeseite von Miele wird der Miele Benutzername (E-Mail) und das Passwort eingetragen. Das passende Land ist auszuwählen.
nachdem die Authentifizierung von IP-Symcon bei Miele@Home erfolgreich war erscheint folgende Meldung.
Weiterhin muss man die Erlaubnis zum Zugriff auf die Miele-Geräte erteilen.
Das Browser Fenster kann nun geschlossen werden und wieder zu IP-Symcon zurückgekeht werden.
Die geforderten Daten eintragen - wichtig, das Feld VG-Auswahl muss anscheinend dem Land entsprechen, in dem das Gerät betrieben wird. Dann den Zugriff mit Zugang prüfen testen.
In IP-Symcon nun unterhalb von Konfigurator Instanzen die Funktion Instanz hinzufügen (CTRL+1) auswählen, als Hersteller Miele und als Gerät Miele@Home Konfigurator auswählen.
In der Liste nun das zu erstellende Gerät auswählen, das man erstellen will. Der Konfigurator legt dann eine Geräte Instanz an.
Eine manuelle Einrichtung eines Gerätemoduls ist nicht erforderlich, das erfolgt über den Konfigurator.
In dem Geräte-Modul ist ggfs nur das Abfrage-Intervall anzupassen, die anderen Felder, insbesondere die Seriennummer (diese ist die Identifikation des Gerätes) und die Geräte-Typ-ID (diese steuert, welche Variablen angelegt werden) müssen unverändert bleiben.
Wichtig: da keine vollständige Dokumentation vorliegt, welche Geräte es gibt bzw. welche Geräte sinnvollerweise welche Variablen füllen, ist die Liste der unterstützten Geräte unvollständig und muss dann im Bedarfsfall erweitert werden.
siehe https://www.miele.com/developer/swagger-ui/put_additional_info.html
boolean MieleAtHome_Start(integer $InstanzID)
boolean MieleAtHome_Stop(integer $InstanzID)
boolean MieleAtHome_Pause(integer $InstanzID)
boolean MieleAtHome_StartSuperfreezing(integer $InstanzID)
boolean MieleAtHome_StopSuperfreezing(integer $InstanzID)
boolean MieleAtHome_StartSupercooling(integer $InstanzID)
boolean MieleAtHome_StopSupercooling(integer $InstanzID)
boolean MieleAtHome_LightEnable(integer $InstanzID)
boolean MieleAtHome_LightDisable(integer $InstanzID)
boolean MieleAtHome_PowerOn(integer $InstanzID)
Anmerkung: es ist unklar, bei welchen Gerätetypen es funktioniert, das Geräte aus dem ausgeschalteten Zustand einzuschalten.
boolean MieleAtHome_PowerOff(integer $InstanzID)
boolean MieleAtHome_SetStarttime(integer $InstanzID, int $hour, int $min)
Eigenschaft | Typ | Standardwert | Beschreibung |
---|---|---|---|
Instanz deaktivieren | boolean | false | Instanz temporär deaktivieren |
Verbindugstyp | integer | 0 | Auswahl der Art der Verbindung (OAuth oder Developer) |
- nur bei Developer - | |||
Benutzer (EMail) | string | Miele@Home-Konto: Benutzerkennung | |
Passwort | string | Miele@Home-Konto: Passwort | |
Client-ID | string | Miele@Home API-Zugangsdaten: Client-ID | |
Client-Secret | string | Miele@Home API-Zugangsdaten: Client-Secret | |
VG-Selector | string | Bedenutung unklar, muss anscheinend auf dem Wert des Landes stehen, wo das Gerät gekauft/betrieben wird | |
Sprache | string | Sprache von Text-Ausgaben der API |
Bezeichnung | Beschreibung |
---|---|
Zugang prüfen | Prüft, ob die Angaben korrekt sind |
Eigenschaft | Beschreibung |
---|---|
Kategorie | opt. Angabe einer Kategorie, unterhalb der die Instanzen angelegt werden |
Gerät | Auswahlliste der Geräte des angegebenen Miele-Kontos |
Eigenschaft | Typ | Standardwert | Beschreibung |
---|---|---|---|
Modul ist deaktiviert | boolean | false | Modul temporär deaktivieren |
Geräete-Typ-ID | integer | wird im Konfigurator gesetzt und darf nicht geändert werden, bestimmte die auszugebenden Felder | |
Geräte-Typ | string | wird im Konfigurator gesetzt | |
Seriennummer | string | wird im Konfigurator gesetzt und darf nicht geändert werden | |
Modell | string | wird im Konfigurator gesetzt | |
Update-Intervall | integer | 60 | Intervall der Datenabfrage in Minuten |
Code in Text übersetzen | Übersetzte Statustexte aus der API ignoreiren und selbst umsetzen | ||
… Status | boolean | false | |
… Programm | boolean | false | |
… Phase | boolean | false | |
… Trockenstufe | boolean | false | |
… Entlüftungsstufe | boolean | false |
Bezeichnung | Beschreibung |
---|---|
Daten aktualisieren | Abfrage der aktuellen Daten |
Bisher unterstützte Gerätetypen
Geräete-Typ-ID | Geräte-Typ |
---|---|
1 | Waschmaschine |
2 | Wäschetrockner |
7 | Geschirrspüler |
12 | Backofen |
13 | Backofen mit Mikrowelle |
21 | Kühl/Gefrier-Kombination |
25 | Wärmeschublade |
27 | Induktions-Kochfeld |
31 | Dampfgarer mit Backofen-Funktion |
45 | Dampfgarer mit Mikrowelle |
Boolean
MieleAtHome.Door,
MieleAtHome.YesNo
Integer
MieleAtHome.Action,
MieleAtHome.BatteryLevel,
MieleAtHome.Duration,
MieleAtHome.Light,
MieleAtHome.OperationMode,
MieleAtHome.PlateStep
MieleAtHome.PowerSupply,
MieleAtHome.SpinningSpeed,
MieleAtHome.Status,
MieleAtHome.Supercooling,
MieleAtHome.Superfreezing,
MieleAtHome.Temperature,
MieleAtHome.WorkProgress
Float
MieleAtHome.Energy,
MieleAtHome.Water
GUIDs
{122A97CE-7642-4D77-B656-242B3E08AEA9}
{996743FB-1712-47A3-9174-858A08A13523}
{1381CC46-77BF-4EA7-B954-85A0FDD28997}
{C2672DE6-E854-40C0-86E0-DE1B6B4C3CAB}
{AE164AF6-A49F-41BD-94F3-B4829AAA0B55}
: an MieleAtHomeSplitter{D39AEB86-E611-4752-81C7-DBF7E41E79E1}
: an MieleAtHomeConfig, MieleAtHomeDevice{40C8346D-9284-1D83-67C7-F9B46EF28C05}
: an MieleAtHomeDeviceVerweise:
2.4.2 @ 24.02.2024 13:16
2.4.1 @ 24.02.2024 08:56
2.4 @ 09.02.2024 11:00
2.3 @ 07.02.2024 17:26
2.2 @ 29.01.2024 10:37
2.1 @ 10.12.2023 10:43
2.0.5 @ 22.11.2023 11:43
2.0.4 @ 20.11.2023 17:29
2.0.3 @ 20.11.2023 10:53
2.0.2 @ 16.11.2023 18:29
2.0.1 @ 10.11.2023 11:37
2.0 @ 07.11.2023 10:50
1.34 @ 15.10.2023 13:51
1.33 @ 11.07.2023 11:42
1.32 @ 05.07.2023 17:02
1.31 @ 27.04.2023 18:08
1.30.2 @ 11.01.2023 14:35
1.30.1 @ 21.12.2022 09:43
1.30 @ 18.12.2022 09:45
1.29.5 @ 12.10.2022 14:44
1.29.4 @ 12.10.2022 11:35
1.29.3 @ 12.10.2022 10:08
1.29.2 @ 07.10.2022 13:59
1.29.1 @ 16.08.2022 10:10
1.29 @ 07.07.2022 11:50
1.28.3 @ 22.06.2022 10:33
1.28.2 @ 29.05.2022 15:07
1.28.1 @ 28.05.2022 11:37
1.28 @ 28.05.2022 10:04
1.27.2 @ 17.05.2022 15:38
1.27.1 @ 12.05.2022 18:54
1.27 @ 01.05.2022 18:03
1.26 @ 14.07.2021 18:12
1.25 @ 20.09.2020 21:14
1.24 @ 05.09.2020 11:12
1.23 @ 08.04.2020 16:45
1.22 @ 06.03.2020 20:14
1.21 @ 10.02.2020 10:03
1.20 @ 06.01.2020 11:17
1.19 @ 01.01.2020 18:52
1.18 @ 13.10.2019 13:18
1.17 @ 09.08.2019 14:32
1.16 @ 02.08.2019 08:41
1.15 @ 30.07.2019 18:46
1.14 @ 29.07.2019 12:17
1.13 @ 25.07.2019 09:22
1.12 @ 12.07.2019 14:47
1.11 @ 23.04.2019 17:59
1.10 @ 29.03.2019 16:19
1.9 @ 21.03.2019 17:04
1.8 @ 23.01.2019 18:18
1.7 @ 12.01.2019 12:56
1.6 @ 10.01.2019 22:40
1.5 @ 30.12.2018 16:57
1.4 @ 28.12.2018 15:33
1.3 @ 22.12.2018 12:25
1.2 @ 21.12.2018 13:10
1.1 @ 27.11.2018 17:03
1.0 @ 04.11.2018 10:49