Miele@home Gateway XGW 3000

Begonnen von ares, 19 April 2015, 19:49:20

Vorheriges Thema - Nächstes Thema

ares

Ich mache derzeit meine ersten Schritte mit fhem und möchte meine vorhandenen LAN-Geräte in fhem visualisieren. Derzeit komme ich aber mit dem "Miele@home Gateway XGW 3000" nicht weiter, um den Status meiner Waschmaschine WMV960WPS zu visualisieren.

Den höchsten Komfort bei der Anzeige und Steuerung bietet die App "Miele@mobile", welche in Verbindung mit dem XGW3000 sogar Einstellungen wie Waschmittel der nächsten Waschladung steuern kann. Die Kommunikation mit dem Gateway ist allerdings nirgends dokumentiert und daher auch nur aufwändig zu ermitteln.

Weniger Komfort bietet die Intranet-Homepage des Gateways, welche aber immerhin Daten wie die bisherige Laufzeit und die Schleuderdrehzahl anzeigt.

Für die Einbindung in fhem hat Miele eine XML-Schnittstelle vorgesehen, welche allerdings die wenigsten Details anbietet.

XML-Übersicht:
<?xml version="1.0" encoding="UTF-8"?>
<DEVICES>
  <device>
    <class>22020</class>
    <UID>1234567890123456</UID>
    <type/><name>Waschautomat</name>
    <state>1</state><additionalName/>
    <room id="" level=""/>
    <information>
      <key name="Gerätestatus" value="Aus"/>
    </information>
    <actions>
      <action name="Details" URL="http://192.168.x.xxx:80/homebus/device?language=de&amp;type=1&amp;id=hdm%3AZigBee%xxxxxxxxxxxxxxxxxx%xxxxx"/>
    </actions>
  </device>
</DEVICES>


XML-Details:
<?xml version="1.0" encoding="UTF-8"?>
<device>
  <information>
    <key name="Gerät" value="Waschautomat" />
    <key name="Gerätestatus" value="Aus" />
    <key name="Programm" value="0" />
    <key name="Phase" value="0" />
    <key name="Startzeit" value="0" />
    <key name="Dauer" value="0" />
    <key name="Endzeit" value="0" />
  </information>
  <actions>
  </actions>
</device>


Die Idee war, die Auswertung der XML-Details via HTTPMOD wie http://www.fhemwiki.de/wiki/Wetter_und_Wettervorhersagen#Auswerten_der_XML-Daten beschrieben zu übernehmen. Leider passt das Beispiel nicht auf die key name/value Logik von Miele. Hat schon jemand seine Miele-Geräte erfolgreich eingebunden oder eine Idee für die Übernahme?


ares

Hätte ich doch beser erst Google bemüht und mich über regular expression informiert. :-[

Falls noch jemand ein XGW3000 anbinden möchte, hier meine erste Version, welche die Daten der Waschmaschine in fhem anzeigt:
# =======================
# Miele Gateway XGW3000
# -----------------------
# Waschmaschine WMV960WPS
# =======================
define Keller.Waschmaschine HTTPMOD http://192.168.x.xxx:80/homebus/device?language=de&amp;type=1&amp;id=hdm%3AZigBee%xxxxxxxxxxxxxxxxxx%xxxxx 60
attr Keller.Waschmaschine event-on-change-reading Geraetestatus,Programm,Phase
attr Keller.Waschmaschine group Miele_XGW3000
attr Keller.Waschmaschine room Keller
attr Keller.Waschmaschine icon scene_washing_machine
attr Keller.Waschmaschine readingsName_Geraet Geraet
attr Keller.Waschmaschine readingsName_Geraetestatus Geraetestatus
attr Keller.Waschmaschine readingsName_Programm Programm
attr Keller.Waschmaschine readingsName_Phase Phase
attr Keller.Waschmaschine readingsName_Startzeit Startzeit
attr Keller.Waschmaschine readingsName_Dauer Dauer
attr Keller.Waschmaschine readingsName_Endzeit Endzeit
attr Keller.Waschmaschine readingsRegex_Geraet "Gerät"[^"]+"([^"]+)"
attr Keller.Waschmaschine readingsRegex_Geraetestatus "Gerätestatus"[^"]+"([^"]+)"
attr Keller.Waschmaschine readingsRegex_Programm "Programm"[^"]+"([^"]+)"
attr Keller.Waschmaschine readingsRegex_Phase "Phase"[^"]+"([^"]+)"
attr Keller.Waschmaschine readingsRegex_Startzeit "Startzeit"[^"]+"([^"]+)"
attr Keller.Waschmaschine readingsRegex_Dauer "Dauer"[^"]+"([^"]+)"
attr Keller.Waschmaschine readingsRegex_Endzeit "Endzeit"[^"]+"([^"]+)"
attr Keller.Waschmaschine stateFormat Gerätestatus: Geraetestatus
attr Keller.Waschmaschine timeout 5

chiefjoejj

Hi Ares,
hab jetzt auch schon seit einem halben Jahr eine Miele W1-Waschmaschine mit XKM3000Z Kommunikationsmodul und XGW3000-Zigbee-Zentrale herumfliegen und möchte mich jetzt endlich auch mal an die Integration mit FHEM wagen. Bist du in der Zwischenzeit bereits weitergekommen?
Ich hab mich bis jetzt noch nicht damit befasst und einfach nur deinen Code reinkopiert sowie meine Daten ergänzt. Leider scheitere ich schon an der ersten Zeile. Bekomme hier die Fehlermeldung "Unknown command type=1&, try help. Unknown command id=hdm%3AZigBee%3A001d63fxxxxxxxxx%2xxxx, try help." angezeigt...

Grüße
Jörg
www.meintechblog.de

chiefjoejj

Hab obigen Fehler zwischenzeitlich in den Griff bekommen.
Hatte schlicht die falsche URL genutzt. Die korrekte URL konnte ich herausfinden, indem ich http://192.168.3.39/homebus mit Google Chrome aufgerufen hatte. Hier war dann zu sehen: "<action name="Details" URL="http://192.168.3.39:80/homebus/device?language=de&type=1&id=hdm%3AZigBee%3A001d63xxxxxxxxxx%2xxxx"/>"

Grüße
Jörg

PS: Werde mal die Tage versuchen per Wireshark die Übertragung zwischen Miele Gateway und iPhone-App zu sniffen. Evtl. kommt man ja so an weitere Befehle ran, um bspw. die Waschmaschine über FHEM zu starten/stoppen. Habe auf diesem Gebiet zwar noch keine Erfahrungen sammeln können, evtl. klappt es ja dennoch. :)

Bednorz

Hallo ares und joerg,
Ich muss mir jetzt eine neue Waschmaschine kaufen da die Alte den Geist aufgegeben hat. Gerne würde ich diese auch ins FHEM einbinden. Ich schwanke zwischen Miele und Siemens. Seit Ihr mit eurer Miele Einbindung vorangekommen?

Grüße

Klaus

ares

Hallo Klaus,

</Werbung on>
Ich bin zwar kein Miele-Mitarbeiter, aber von dereren Waschmaschinen generell überzeugt und habe die Maschine unabhängig von der Einbindung in fhem ausgesucht- die letzte Miele hat 20 Jahre gehalten und der zur selben Zeit angeschaffte Trockner läuft noch (fhem meint der braucht pro Ladung ca. 15-25 Cent, daher lohnt ein neuer nicht wirklich). Meine Frau liebt aber vor allem den Komfort, nur alle paar Monate Waschmittel nachzufüllen.
</Werbung off>

Die generelle Einbindung war einfach (siehe oben). Inzwischen bietet fhem mehr Möglichkeiten, ich hatte aber noch keinen Bedarf das zu erweitern da bei uns nur die Waschmaschine über das Gateway angebunden ist. Benachrichtigt wird meine Frau bei der Waschmaschine direkt über die Miele-App, der betagtere wird von fhem ans Smartphone gemeldet. Meine Siemens-Geräte sind 5 Jahre alte und können wohl nicht in fhem eingebunden werden, daher fehlt mir hier der Vergleich.

Grüße
Manfred

speedAmaster

Hallo Manfred,
auch wir überlegen derzeit eine neue Miele zu kaufen. Da aber auch eine PV Analage auf dem Plan steht, dachten wir, dass es evtl Sinn macht die Waschmaschine (über fhem) bei genug PV-Leistung (und Wettervorgersage) zu starten.
Ist es mit deinem Ansatz über HTTPMOD auch möglich die Machine zu starten?
Viele Grüße
Bernd

ares

Hallo Bernd,

um die Waschmaschine überhaupt starten zu können musst Du die Steuerung über das Gateway bei jedem Waschvorgang manuell an der Maschine aktivieren und noch schlimmer die Wäsche sortiert in die Trommel packen. Danach kannst Du z.B. per App am Smartphone alles zum Waschvorgang einstellen. Es ist dabei auch möglich die Endezeit anzugeben, da die Maschine die Laufzeit berechnen kann. Das macht Sinn, wenn Du nach Feierabend die nasse Wäsche zeitnah ennehmen möchtest.

Nach den Vorbereitungen kannst Die Maschine dann per app, Browser oder aus fhem starten.


<?xml version="1.0" encoding="UTF-8"?>
<device>
<information>
<key value="Waschautomat" name="Gerät"/>
<key value="Start verzögert" name="Gerätestatus" raw="4" type="state"/>
<key value="Baumwolle" name="Programm" raw="1" type="program"/>
<key value="15:30" name="Startzeit" raw="280" type="startTime"/>
<key value="2:29" name="Dauer" raw="149" type="remainingTime"/>
<key value="17:59" name="Endzeit" raw="429" type="finishTime"/>
</information>
<actions>
<action name="Start" type="processActionStart" URL="http://192.168.xxx.yyy:80/homebus/device?type=1&id=hdm%3AZigBee%012345678876543210%23210&action=start"/>
<action name="Stop" type="processActionStop" URL="http://192.168.xxx.yyy:80/homebus/device?type=1&id=hdm%3AZigBee%012345678876543210%23210&action=stop"/>
</actions>
</device>