Miele Hausgeräte mit Miele@Home nachrüsten - Erfahrungen

Nach dem ich mich nun schon 3 Wochen damit rumschlage,
meinen angeblich Miele@Home fähigen Wäschetrockner mit dem Miele Kommunkationsmodul nachzurüsten,
wollte ich hier mal meine Erfahrungen niederschreiben.

1. Einführung
Das Miele@Home-System erlaubt es, Statusmeldungen und Zustände von Miele Hausgeräten über das
Stromnetz zu übertragen (Powerline). Dazu wird in jedes Hausgerät, welches Miele@Home fähig ist, ein Modul
Installiert. Bei Waschmaschienen ist es ein Modul zum einstecken, bei Wäschetrocknern ein Modul zum einbauen.

2. Komponenten
Es gibt folgende Komponenten:
Kommunikationsmodul XKM2000SV (für Einbauherde, Backöfen, Dampfgarer, Waschmaschienen)
Kommunikationsmodul XKM2000KF-1 (für Kühl- und Gefriergeräte)
Kommunikationsmodul XKM2000CVA (für Kaffeevollautomaten)
Kommunikationsmodul XKM2000TR (für Wäschetrockner mit Wärmepumpe)
Gateway XGW2000 (setzt Powerline wieder zu LAN um =>Verbindung zu IPSymcon)

Miele bietet auch vergünstigte Sets mit Gateway und Kommunikatiinsmodulen an.
Zum Einstieg ist das zu empfehlen, da deutlich günstiger!

Übersicht über Module und die nachrüstbaren Geräte: http://www.miele.de/de/haushalt/produkte/1312.htm

3. Miele@Home und IP-Symcon
Damit man mit IP-Symcon den Status der Geräte auslesen kann, ist mindestens ein Gerät mit
installiertem Kommunikationsmodul und das Gateway notwendig. Das Gateway setzt das Powerline-Signal wieder auf
Ethernet um, so dass IP-Symcon mit den Geräten kommunizieren kann. Das Gateway wird über ein HTTP-Aufruf abgefragt.
Zurückgegeben wird eine XML-Struktur mit den Gerätezuständen. Beispiele dazu folgen (Siehe Gateway-Handbuch).

Bei einigen Geräten ist auch eine Steuerung möglich. Z.B. kann beim Wäschetrockner oder bei der Waschmaschine der
Waschgang gestartet und auch gestoppt werden. Das Starten ist nur möglich, wenn vorher am Gerät alles eingestellt
und der Fernstart aktiviert wurde. Stoppen funktioniert, wenn das Gerät läuft.

4. Installationsablauf: Kommunikationsmodul Wäschetrockner
Zuerst muss man das Kommunikationsmodul in das Gerät einbauen.
Eine Schritt für Schrittanleitung liegt dem Modul bei.
In meinem Fall war es ein Wäschetrockner vom Typ T8969WP.
Was nicht in der Anleitung stand: Wie nehme ich den Deckel von der Maschiene ab???
Das geht so:
Man entfernt die kleinen Plastikabdeckungen, die sich links und rechts am Deckel befinden.
Darunter ist je eine Schraube, welche mit einem Torxschraubendreher losgedreht wird.
Kurz bevor die Schraube ganz rausgedreht ist, wird die Schraube in das Gerät gedrückt (ist eine Verriegelung).
Nun sollte der Deckel lose sein und kann nach hinten gedrückt und abgenommen werden.

5. Installationsablauf: Gateway
Das Gateway hat standardmäßig die IP 192.168.1.254.
Die Zugangsdaten lauten „xgw2000“ für Name und Passwort.

Als nächstes werden unter dem Menüpunkt „Netzwerkeinstellungen“ die IP, Subnet, Gateway und DNS-Server
konfiguriert. Unter Zeiteinstellungen ist „GMT+1“ und „24h“ zu aktivieren.
Als letztes ist unter „Konfigurationseinstellungen“ „Homebus alle Informationen senden“ zu aktivieren.

Nun müssen die Geräte dem Gateway bekannt gemacht werden. Dazu ist einmalig unter „Geräte-Verwaltung“
auf „Erstinstallation“ zu klicken. Das Gateway generiert dann ein neues Verschlüsselungspasswort und aktiviert das Powerline-Netzwerk.

Nun kann im Menü „Geräte-Verwaltung“ mittels des Menüpunktes „Weiteres Gerät anmelden“ der Anmeldemodus gestartet werden. Das Gateway wartet nun auf eine Geräteanmeldung.

Das Anmelden der Kommunikationsmodule erfolgt entweder über das Menü des Gerätes (Menüpunkt Miele@Home),
oder über die Taste am Modul.

Nach einiger Zeit sollte das Gerät dann unter „Geräte-Verwaltung“ im Gateway auftauchen.

6. Weitere Dokumentation
Handbuch Gateway mit XML-Beispielen: [http://www.miele.de/de/haushalt/service/ks/gebrauchsanweisungen.aspx?product_type=XGW 2000&app_mNo=000000000007233550](http://www.miele.de/de/haushalt/service/ks/gebrauchsanweisungen.aspx?product_type=XGW 2000&app_mNo=000000000007233550)
Handbuch Kommunikationsmodule: [http://www.miele.de/de/haushalt/service/ks/gebrauchsanweisungen.aspx?product_type=XKM 2000&app_mNo=000000000006199440](http://www.miele.de/de/haushalt/service/ks/gebrauchsanweisungen.aspx?product_type=XKM 2000&app_mNo=000000000006199440)

7. Bekannte Probleme

[ul]
[li]Manchmal werden die Hausgeräte nicht mehr im Gateway aufgelistet. Powerline Problem???[/li][li]Das Gateway läst sich nicht übers Netzwerk ansprechen, wenn beim Gatewaystart das LAN-Kabel nicht steckt[/li][/ul]

Weitere Informationen folgen!

1 „Gefällt mir“

Interessant! Beim letztem Blick hatten mich Preise abgeschreckt, ist dem immer noch so?

Miele hat Ende 2011 die Preise drastisch gesenkt.
Das Gateway hat ja früher allein schon 899 Euro gekostet!

Das miele@home Set, bestehend aus Gateway und Kommunikationsmodule für Wäschetrockner und Waschmaschine
(2 Module) kostet 466 Euro.

Shop:
http://www.miele-panitz.de/shop/anzeigen.php?artikel=9092100&ref=id

Anfangs ist das zwar eine Hürde, da aber die Module für weitere Geräte dann nur noch 70-120 Euro kosten, ist das OK.

Hallo mischo,

Dein Beitrag hat mich dazu bewogen, nun auch die Miele@Home Module zu bestellen.

Habe sie heute eingebaut und sie funktionieren.

Kannst Du bitte mal Deine Skripte posten wie Du die Daten ausliest und den Trockner aus der Ferne startest?

VG

Marcus

Hier die paresy-Scripte:

http://www.ip-symcon.de/forum/threads/16403-Miele-Home-einbinden-(XGW2000)?highlight=miele

Habe Sie etwas angepasst, laufen aber auch so.

ja danke, das habe ich auch direkt gefunden und eingebunden. Und wie startest Du den Trockner?

Wie versprochen, hier meine verwendeten Scripte (teilweise von Paresy übernommen :slight_smile: ):

1. Daten abfragen

Dazu erstelle ich eine Instanz vom Typ „Dummy Module“. Die benenne ich z.B. mal „Wäschetrockner“.
Darunter kommt ein Script mit dem namen „GetData“. Das Script sieht so aus:


<?
 	// **************************************************************************
	// Eingabedaten
	// **************************************************************************

	// Hier die URL des Gateways eintragen
	$GatewayBaseUrl = "http://192.168.110.39/homebus/?language=de_DE";

	//Hier den Namen des Gerätes eintragen
	//(Ist der Zusatzname, der im Gateway für das Gerät angegeben wurde)
	$UseDeviceName = "Wäschetrockner";








	// **************************************************************************
	// Vorarbeiten
	// **************************************************************************

	// Untergeordnetes Objekt ermittlen (Des Dummy-Moduls)
	$ParentID=IPS_GetParent($IPS_SELF);


	// Allgemeine Gerätedaten vom Gateway abfragen
	$content = @file_get_contents($GatewayBaseUrl);
	if((strpos($http_response_header[0], "200") === false)) {
	  return;
	}

	// Empfangene XML-Struktur laden
	$result=array();
	$devices=simplexml_load_string($content);









	// **************************************************************************
	// Hauptprogramm
	// **************************************************************************


	// Alle gefundenen Geräte durchgehen
	foreach($devices as $device)
	{
		// Allgemeine Daten parsen
		$device_uid = str_replace("-", "N", $device->UID);
	  	$device_name = utf8_decode($device->name);
	  	$device_additionalname= utf8_decode($device->additionalName);
		$device_url = $device->actions->action->attributes()['URL'];

	   // Wenn das Gerät mit dem gesuchten übereinstimmt,
	   // dann weitere Daten zu diesem Gerät auslesen
	  	if ($device_additionalname==$UseDeviceName)
	  	{
			// Gerätedetails abfragen
			$content = @file_get_contents($device_url);
			if((strpos($http_response_header[0], "200") === false))
			{
				return;
			}

	      // Empfangene XML-Struktur laden
			$device=simplexml_load_string($content);
			$keys = $device->information;

			// Alle Werte durchgehen
			foreach($keys->children() as $key)
			{
			   // VariablenID ermitteln, wenn nicht vorhanden, dann erstellen
				$VarID=GetStringVariable($ParentID, filter_characters(utf8_decode($key['name'])), utf8_decode($key['name']));

				// Variablenwert setzen, wenn unterschiedlich
				if (GetValueString($VarID) != utf8_decode($key['value']))
				{
					SetValueString($VarID, utf8_decode($key['value']));
				}
			}
		}
	}







	// **************************************************************************
	// Hilfsfunktionen
	// **************************************************************************

	// Diese Funktion dient zum Ermitteln einer Variablen-ID anhand des Namens
	// Wenn die Variable nicht existiert, wird sie angelegt
	function GetStringVariable($parentid, $ident, $name)
	{
	  $varid = @IPS_GetObjectIDByIdent($ident, $parentid);
	  if ($varid === false)
	  {
	    $varid = IPS_CreateVariable(3);
	    IPS_SetParent($varid, $parentid);
	    IPS_SetIdent($varid, $ident);
	    IPS_SetName($varid, $name);
	    IPS_SetInfo($varid, "This Variable was created by Script #$varid");
	    IPS_SetVariableCustomProfile($varid, "~String");
	  }
	  return $varid;
	}




	// Funktion zum filtern von nicht erlaubten Zeichen (z.B. bei Variablennamen)
	function filter_characters($input)
	{
	  $search = explode(",","ç,æ,,á,é,í,ó,ú,à,è,ì,ò,ù,ä,ë,ï,ö,ü,ÿ,â,ê,î,ô,û,å,e,i,ø,u,-, ");
	  $replace = explode(",","c,ae,oe,a,e,i,o,u,a,e,i,o,u,a,e,i,o,u,y,a,e,i,o,u,a,e,i,o,u,_,_");
	  return str_replace($search, $replace, $input);
	}


?>

Im Script muss oben einmal die URL des Gateways angepasst werden (IP) sowie die Bezeichnung des Gerätes. Die Bezeichnung ist der Name, der im Gateway jedem Gerät als „Zusatzname“ angegeben werden kann. Ich habe mich bewusst an diesen Namen gehängt, da man theoretisch auch zwei Geräte selben Typs haben kann. Dann wäre die Unterscheidung nicht gegeben, da der Gerätename gleich wäre (ist fest vorgegeben).

Das Script wird nun so konfiguriert, dass es zyklisch aufgerufen wird. Ich rufe es jede 3 Sekunden auf.
Beim 1. Start legt das Script alle Variablen mit den Parametern an, die das entsprechende Gerät besitzt. Bei einer Waschmaschiene sind das natürlich viel mehr als z.B. beim Kühlschrank.

2. Aktionen auslösen

Einige Geräte können aus gesteuert werden. Mein Wäschetrockner z.B. kann gestartet und auch gestoppt werden. Der Start funktioniert aber nur, wenn zuvor das Gerät am Bedienfeld komplett eingestellt wurde und der Fernstart aktiviert ist.
Stoppen funktioniert natürlich nur, wenn das Gerät läuft.

Dazu verwende ich folgendes Script:


<?
 	// **************************************************************************
	// Eingabedaten
	// **************************************************************************

	// Hier die URL des Gateways eintragen
	$GatewayBaseUrl = "http://192.168.110.39/homebus/?language=de_DE";

	//Hier den Namen des Gerätes eintragen
	//(Ist der Zusatzname, der im Gateway für das Gerät angegeben wurde)
	$UseDeviceName = "Wäschetrockner";

	// Hier die Aktion angeben, die ausgeführt werden soll
	// Wäschetrockner: "Start", "Stop"
	$ExecuteAction = "Start";







	// **************************************************************************
	// Vorarbeiten
	// **************************************************************************

	// Untergeordnetes Objekt ermittlen (Des Dummy-Moduls)
	$ParentID=IPS_GetParent($IPS_SELF);


	// Allgemeine Gerätedaten vom Gateway abfragen
	$content = @file_get_contents($GatewayBaseUrl);
	if((strpos($http_response_header[0], "200") === false)) {
	  return;
	}

	// Empfangene XML-Struktur laden
	$result=array();
	$devices=simplexml_load_string($content);









	// **************************************************************************
	// Hauptprogramm
	// **************************************************************************

	// Alle gefundenen Geräte durchgehen
	foreach($devices as $device)
	{
		// Allgemeine Daten parsen
		$device_uid = str_replace("-", "N", $device->UID);
	  	$device_name = utf8_decode($device->name);
	  	$device_additionalname = utf8_decode($device->additionalName);
	  	$device_url = $device->actions->action->attributes()['URL'];

	   // Wenn das Gerät mit dem gesuchten übereinstimmt,
	   // dann weitere Daten zu diesem Gerät auslesen
	  	if ($device_additionalname==$UseDeviceName)
	  	{
			// Gerätedetails abfragen
			$content = @file_get_contents($device_url);
			if((strpos($http_response_header[0], "200") === false))
			{
				return;
			}

	      // Empfangene XML-Struktur laden
			$device = simplexml_load_string($content);
			
			// Die aktuell möglichen Aktionen durchgehen
			$actions = $device->actions;
         foreach($actions->children() as $action)
			{
			   // Ist das die gewünschte Aktion?
			   if (utf8_decode($action['name']) == $ExecuteAction)
			   {
			      // Aktion gefunden => Ausführen!
					file_get_contents(utf8_decode($action['URL']));
				}
			}
			
			// Gibt die aktuell möglichen Aktionen aus
			//print_r($actions->children()->children());
		}
	}







	// **************************************************************************
	// Hilfsfunktionen
	// **************************************************************************

	// keine

?>

Man erstellt dazu einfach ein neues Script unter der Dummy Instanz und nennt es z.B. „SetStart“ oder „SetStop“.
Das Script ist immer das Gleiche. Der Parameter „ExecuteAction“ oben bestimmt die Aktion, die ausgelößt werden soll. Beim Wäschetrockner und den Waschmaschienen gibt es „Start“ und „Stop“.

Welche Aktionen möglich sind, kann man einfach über die Gatewaywebsite ansehen. Dort gibt es die „Geräteübersicht“ auf der 1. Seite. Unter dem Gerät sind die aktuell möglichen Aktionen als Buttons aufgeführt. So wie die Buttons heißen, so lautet auch die Aktion, die im Script oben als „ExecuteAction“ angegeben werden muss. Die URL des Gateways und der Gerätename sind analog zum 1. Script.

Ich hoffe damit den Einstieg ein wenig erleichtert zu haben.
:loveips:

Hier ein Post von mir über das Protokoll des Wäschetrockners T9896WP:

Hallo,
Die unter 7. genannten Probleme habe ich auch. Mein XGW ist schon etwas älter, habe jetzt nach langer Suche einen Update auf die Version 4.01 gefunden (http://www.domoticaforum.eu/viewtopic.php?f=17&t=3019&start=15).
und erhoffe mir damit Besserung. Kennt/hat vielleicht jemand einen neueren Stand?

@ Kalle

Das Update hat bei mir problemlos funktioniert. Ich habe von einer Version 2.4.x auf die Version 4.0.1 upgedatet.

Danke und Gruß Sven

Hallo,

Das Update hat bei mir die unter 7. genannten Probleme nicht behoben.
Immerhin kann ich aber jetzt über die Telnet Verbindung zum xgw mit „reboot“ einen Neustart initiieren, ohne den Stecker ziehen zu müssen.

Grüße

Kalle Wirsch

Mittlerweile habe ich auch das Update auf 4.0.1 durchgeführt.
Ich brauchte aber zwei Anläufe dafür.
Beim ersten mal war das Gateway nach dem Reboot zwar per Ping auf der Service-IP erreichbar,
nur der Webserver antwortete nicht.

Habe dann nochmal das Update durchgeführt. Nun geht alles.

Bezüglich der Probleme

[ul]
[li]Manchmal werden die Hausgeräte nicht mehr im Gateway aufgelistet. Powerline Problem???
[/li][li]Das Gateway lässt sich nicht übers Netzwerk ansprechen, wenn beim Gatewaystart das LAN-Kabel nicht steckt
[/li][/ul]

kann ich sagen, dass das die Probleme mit der 4.0.1 immer noch bestehen.
Die Sache mit dem LAN-Kabel kann man verschmerzen (muss man nur wissen).

Das mit dem erkennen der Hausgeräte könnte folgende Ursache haben:

Das Gateway startet normalerweise nach 24 Stunden automatisch neu.
Bei einem Neustart werden alle bekannten Geräte via Powerline neu gesucht.
Dies erfolgt NUR einmal beim Start des Gateways.
Ist die Powerlineverbindung schlecht (oder das Endgerät komplett aus), so werden die Geräte u.U. nicht gefunden.
Ich hatte anfangs auch diese Probleme. Nun habe ich aber in der Verteilung die Phasen so um geklemmt,
dass das Gateway und mein Wäschetrockner an der gleichen Phase abgeschlossen sind.
Seit dem habe ich keine Probleme mehr mit der Erkennung.

Es scheint auch so zu sein, dass sich Endgeräte, die nachträglich eingeschaltet werden
(Stecker rein, nicht einschalten über Taster), diese am Gateway selbständig anmelden.

Damit man nicht suchen muss, hier nochmal die Zugangsdaten für den FTP- und Telnetserver des Gateways:

User: root
Password: t20e0ar2

In der Telnetkonsole ist u.a. mit dem Befehl „reboot“ ein Neustart möglich.
Falls jemand weitere nützliche Befehle kennt, bitte posten.

Hallo,

Meines Erachtens schmiert eben nur der Web Server ab, sonst käme man ja auch nicht mehr per Telnet drauf.
Aber ich habe gerade gesehen, dass in den Einstellungen das Häkchen „Periodisch starten“ nicht (mehr) gesetzt war.
Mal sehen, obs damit besser wird.

Grüße

Kalle Wirsch

Habe heute eine Email von Miele erhalten. Es gibt ein weiteres Update auf die Version 4.0.16

Voraussetzung ist, dass mindestens die Version 4.0.1 installiert ist.

Der Download ist zu finden unter:
http://www.miele.de/media/haushalt/VG_D/xgw2000_version4x.bin

Datei runterladen und auf den Desktop speichern (wenn der Browser die Datei auf .zip umbenennt, dann wieder zurück auf .bin ändern!).

Danach über die Miele Gateway Website unter „Einstellungen, Update“ das Update einspielen.

Ein Changelog habe ich leider nicht :frowning:

Hallo,

Nachdem ich, wie beschrieben, den Update durchgeführt habe (Win XP Desktop Rechner im Heimnetz), hat das Gerät nicht mehr richtig funktioniert. Es fehlten Web Seiten Inhalte.
Also habe ich vom XP Rechner das Update Tool gestartet, um wieder downzugraden. Leider ohne Erfolg, die Prozedur lief nicht durch (auch nicht auf der Default IP).
Nun habe ich das Update Tool wieder von meinem WIN7 64-Bit Notebook (aus der Ferne) gestartet, da lief es durch und die Kiste läuft wieder. Interessanterweise meldete sich das XGW2000 mit Erstinstallationsrequestern, hat aber alle Einstellungen behalten (so wie man es erwartet)

=> Vermutlich funktioniert das Updaten unter Win XP irgendwie nicht
=> oder es hat etwas mit Fernzugriff zu tun (was ich doch für sehr unwahrscheinlich halte)
=> Ich bin mir nicht sicher, wie weit die JAVA Runtime Geschichte eine Rolle auf dem Host spielt, ist ja irgendwie Teile des Update Tools.

Bevor ich nochmal den Update auf 4.0.16 versuche, die Frage: Hast Du Win7?

Viele Grüße

Kalle Wirsch

Ich habe gerade von Miele ein Paar Informationen erhalten bezüglich der Zukunft von Miele@Home:

Zur IFA sind ja fast alle Waschmaschienen und Trocker aktualisiert worden.
Die bisherigen Baureihen laufen aus und die neuen werden seit September produziert.

Stand heute sind folgende Wäschetrockner und Waschmaschinen der neuen Baureihen Miele@Home kompatibel:

Waschmaschine WMR 860 WPS
Waschmaschine WMF 820 WPS
Waschmaschine W 2859i WPM
Trockner TMM 440 WP
Trockner T 4859 Ci

Einen Haken haben diese Geräte aber:
Es passen laut Miele die bisherigen Module XKM 2000 TR und XKM 2000 SV nicht mehr in die Geräte!
Erst Februar 2014 wird es entsprechende Module für diese Modellreihen geben (die auch nicht zum jetzigen
Miele@Home System kompatibel sind!)

Im Februar 2014 wird das gesamte Miele@Home überarbeitet.
Es wird ein neues Gateway geben, sowie neue Module für die Geräte.
Angeblich sollen die Module auch in die alten Modellreihen einbaubar sein.
Der Grund für die komplette Überarbeitung aller Miele@Home Komponenten ist,
dass diese nicht mehr über das Stromnetz kommunizieren, sondern per Funk.
Dies wird eine stabilere Kommunikation ermöglichen, als mit dem jetzigen Powerline.

Fazit:

  • Alle neuen Geräte werden nur noch die neuen Miele@Home Module unterstützen
  • Komponenten lieferbar ab Februar 2014
  • Alte Geräte bleiben kompatibel

Wer also heute ein neuen Trockner kauft und Miele@Home bereits im Haus nutzt, darf alle Komponenten
des Miele@Home Systems neu kaufen.

Soweit der aktuelle Stand.

Hallo Leute ,
meine @home Geräte nutze ich nun schon über ein Jahr .
Umfang :
Backofen-Supervision H5681 +KM5813 / Waschmaschine W5965 /Geschirrspüler-Supervision G6900SCi /
InfoControl XIC 2100 / XGW 2000 Gateway
Nun habe ich meine Geräte bei Miele registriert und das Häkchen auch bei „InfoService“ gesetzt .
Leider gibt es in den Einstellungen meines XGW2000 den Menüpunkt „InfoService“ nicht :confused:
SW Version 4.0.1 ist drauf .

@mischo22
wie sieht es in der Version 4.0.16 aus , kann ich hier den Infoservice für die Geräte aktivieren ?

Gruß Mausi

In 4.0.16 gibt es den Menüpunkt „Info Service“.