Skip to main content

A partial implementation of the Miele Professional IP Profile API

Project description

washpy

PyPI

washpy offers a partial implementation of the Miele Professional IP Profile API.

The project focusses on implementing the parts of the API for washing machines from Miele Professional.

Getting started

Installation

washpy is available on PyPI, so washpy can be installed via pip, poetry, or any other tool that interfaces with PyPI.

Hardware setup

I have tested this library on Miele Professional PWM 507 machines, with the Miele XKM 3200-WL-PLT KOM module.

  • slide the KOM module into the slot of your machine
  • connect the RJ45 jack of the module to your network
    • at the time of writing (2024), the modules need a network with DHCP, they do not support static IP addresses

Set up your KOM module

You have to somehow find out the IP addresses of your machines. For that, I can recommend arp-scan to discover all hosts in your IPv4 network.

Now, give your machine a visit with your web browser, and if your browser asks you about the SSL certificate being untrustworthy, tell the browser to trust the certificate:

https://{your.device.ip.address}/Devices/

From there, you can get your machines' fabrication number. This is important for all further calls to the API

Activate the admin user

On the KOM module, there exists the Admin default user, with the default password "" (the empty string).

I had to activate the admin user by changing its password:

from washpy import postNewPassword

postNewPassword("https://192.168.1.251/Devices/000116343328", "Admin", "", "verySecurePassword!")

Add new Account

TODO

Interact with a device

The core of washpy is the DeviceUser class. Once constructed, it provides many methods to control the Miele device.

The script

from washpy import DeviceUser

my_device = DeviceUser("https://192.168.1.251/Devices/000116343328", "Admin", "", "verySecurePassword!")

print(my_device.get_State().Status)

will yield

<Status.RUNNING: 5>

Is there documentation of the IP Profile API?

Yes, you have to request access to it from Miele Professional.

known issues

Do not upgrade requests, as it will upgrade to urllib3 version 2.x.

Problem: you will get handshake errors:

SSLError(SSLError(1, '[SSL: SSLV3_ALERT_HANDSHAKE_FAILURE] ssl/tls alert handshake failure (_ssl.c:1006)'))

Also see this GitHub Issue.

License

LGPL-3.0-only

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

washpy-0.2.2.tar.gz (21.5 kB view details)

Uploaded Source

Built Distribution

washpy-0.2.2-py3-none-any.whl (22.7 kB view details)

Uploaded Python 3

File details

Details for the file washpy-0.2.2.tar.gz.

File metadata

  • Download URL: washpy-0.2.2.tar.gz
  • Upload date:
  • Size: 21.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.2 CPython/3.12.3 Linux/6.8.9-arch1-2

File hashes

Hashes for washpy-0.2.2.tar.gz
Algorithm Hash digest
SHA256 52b59f0beaf1cfe942ee0efb4810c2fb0ddf24ce318fdf5111e4df88933a783e
MD5 109ed2b294a9496313865f8213d8e55e
BLAKE2b-256 b665af06a373f1920a145036ef669ad5fc09fda1babbd512d67a2d1f6d582503

See more details on using hashes here.

File details

Details for the file washpy-0.2.2-py3-none-any.whl.

File metadata

  • Download URL: washpy-0.2.2-py3-none-any.whl
  • Upload date:
  • Size: 22.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.2 CPython/3.12.3 Linux/6.8.9-arch1-2

File hashes

Hashes for washpy-0.2.2-py3-none-any.whl
Algorithm Hash digest
SHA256 49613a36843af920db3b26ff4143c1ace00c1d72088fb52a7a984c31d21cd088
MD5 f2beb6c53ebcbc49e97e1c478e59f40c
BLAKE2b-256 276fdd2beede2c9db16456db9a23a7405fa32663b7885d385eb2882b8fefe31c

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page