MCZ Pelletofen ansteuern

Hallo zusammen,

wir werden uns bald einen MCZ Pelletofen zulegen. Die neuen Modelle lassen sich im westenlichen nur noch über eine Android oder iOS App bedienen.

http://www.mcz.it/de/produkte/pelletofen/doc/

Dazu wird der Pelletofen mit dem WLAN des Hauses verbunden, es befndet sich also im Netzwerk.

Daher meine Frage wie aufwendig ist es die Befehle der App händisch rauszufinden um diese dann im IP Symcon abzubilden? Theoretisch müsste ich nur über PHP Scripte die Befehle an den Pelletofen senden und das Rückmeldeobjekt ebenfalls abfangen und verarbeiten.

Meint ihr es bringt etwas mich z.B. mit dem Fiddler dazwischen zu hängen und die Kommunikation zwischen Pelletofen und Handy abzufangen?

Ziel sollte es sein den Pelletofen über die IP Symcon zu bedienen.

Ich weiss es wird wahrscheinlich nicht einfach werden, hat jemand schon mal so etwas gemacht in ähnlicher Richtung und kann mir vielleicht ein paar Tipps geben?

Danke euch

Wie komplex das wird hängt davon ab wie die Art der Kommunikation zwischen der App und dem Ofen ist.
Am einfachsten kann man sich das Anschauen mit Wireshark, wenn Du so was wie eine Fritzbox besitzt, kannst Du einfach den Datenverkehr der Handy App mitschneiden mit Fritz Capture. Je nachdem wie dann die Datenpakete aussehen kannst Du Dir dann Gedanken machen wie das von IP-Symcon zu verschicken ist. Im Zweifelsfall hilft da aber auch eine freundliche Email an der Hersteller, eventuell hat der ja ein Erbarmen und verrät Dir das freiwillig, bevor sich die Horden aus dem Internet über das Protokoll her machen und das in Einzelteile zerlegen ;).

Hallo Fonzo,

nach dem ich selbst in der IT tätig bin mir schwerpunkt Securtiy Appliance und Firewalls habe ich natürlich keine FritzBox daheim :slight_smile:
Allerdings sind mir Mittel wie WireShark durchaus geläufig.
Bedeutet aber nicht das ich progammieren kann bzw. ableiten kann welche Informationen das Handy mit dem Pelletofen austauscht.
Ich gehe im Moment nicht davon aus das die Kommunikation verschlüsselt ist, somit steht einer Man in the Middle „Attacke“ nichts im Wege.

Das wäre ja dann Punkt 2, erst mal braucht man überhaupt Daten, den Rest kann man dann ja sehen, je nachdem wie die Kommunikation abläuft und ob das verschlüsselt ist.

Wird man dann ja sehen, aber wenn Du selbst in der IT tätig bist sagt Dir ja vielleicht auch mitmproxy oder Burp Suite etwas. Viel Erfolg beim Daten sammeln.

Jahre später habe ich es doch mal geschafft einen packet capture aufzuzeichnen.
Nunja ich bin zwar in der IT tätig, habe aber von programmieren keine Ahnung.
Kann jemand mit solchen Informationen etwas anfangen?

Ich habe im konkreten Fall die Verbindung zwischen der MCZ Cloud und meinem Handy mitgeschnitten.
Der Großteil dürfte der reine Verbindungsaufbau sein.

Serial nr. des Gerätes sowie MAC Adresse wurden geändert…

GET /socket.io/?EIO=3&transport=polling&t=M_ilJ9S HTTP/1.1
Host: app.mcz.it:9000
Accept: */*
Accept-Language: de-de
Connection: keep-alive
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 13_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148

HTTP/1.1 200 OK
Content-Type: text/plain; charset=UTF-8
Content-Length: 103
Access-Control-Allow-Origin: *
Set-Cookie: io=rlTEUh74U4Z4ZdFtGVV9; Path=/; HttpOnly
Date: Tue, 28 Jan 2020 15:20:19 GMT
Connection: keep-alive

96:0{"sid":"rlTEUh74U4Z4ZdFtGVV9","upgrades":["websocket"],"pingInterval":25000,"pingTimeout":5000}2:40POST /socket.io/?EIO=3&transport=polling&t=M_ilJAe&sid=rlTEUh74U4Z4ZdFtGVV9 HTTP/1.1
Host: app.mcz.it:9000
Content-Type: text/plain;charset=UTF-8
Origin: file://
Cookie: io=rlTEUh74U4Z4ZdFtGVV9
Connection: keep-alive
Accept: */*
User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 13_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148
Accept-Language: de-de
Accept-Encoding: gzip, deflate
Content-Length: 95

92:42["join",{"serialNumber":"11111010152245","macAddress":"000000000","type":"Android-App"}]HTTP/1.1 200 OK
Content-Type: text/html
Content-Length: 2
Access-Control-Allow-Credentials: true
Access-Control-Allow-Origin: file://
Set-Cookie: io=rlTEUh74U4Z4ZdFtGVV9; Path=/; HttpOnly
Date: Tue, 28 Jan 2020 15:20:19 GMT
Connection: keep-alive

okPOST /socket.io/?EIO=3&transport=polling&t=M_ilJAx&sid=rlTEUh74U4Z4ZdFtGVV9 HTTP/1.1
Host: app.mcz.it:9000
Content-Type: text/plain;charset=UTF-8
Origin: file://
Cookie: io=rlTEUh74U4Z4ZdFtGVV9
Connection: keep-alive
Accept: */*
User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 13_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148
Accept-Language: de-de
Accept-Encoding: gzip, deflate
Content-Length: 126

122:42["chiedo",{"serialNumber":"11111010152245","macAddress":"000000000","tipoChiamata":0,"richiesta":"RecuperoParametri"}]HTTP/1.1 200 OK
Content-Type: text/html
Content-Length: 2
Access-Control-Allow-Credentials: true
Access-Control-Allow-Origin: file://
Set-Cookie: io=rlTEUh74U4Z4ZdFtGVV9; Path=/; HttpOnly
Date: Tue, 28 Jan 2020 15:20:19 GMT
Connection: keep-alive

ok

Heyho,

ich versuche mich auch gerade an einem MCZ Pelletofen. Was ich bis dato rausgefunden habe das der Ofen wohl über Websockets nach aussen Kommuniziert. Ich habe mal ein wenig gegoogelt und bin auf ein Github Projekt gestoßen : GitHub - Chibald/maestrogateway: Manage MCZ pellet stoves that are equipped with Maestro technology

Ich habe mal testweise versucht eine Websocket Verbindung über Port 81 aufzubauen, aber leider kann ich keine Verbindung aufbauen :frowning:

Hat da jemand schon neuere Erkenntnisse ?

LG
Flobo

Hallo,

das was ich herausgefunden habe, wenn man sich direkt mit dem WLAN des Ofens verbindet also nicht über das Hausnetz geht, bekommt man auf Port 81 zu mindestens eine Antwort.
Auch die GIT Projekte gehen davon aus das man sich mit dem Raspberry Pi direkt mit dem WLAN des Ofens verbindet.

Ist irgendwie komisch…