/ECAMpy

Python tool for PrimmaDonna SOUL management

Primary LanguagePython

Setup the tool

Edit the webserver.py script and set the local IP of the computer running the script.

The IP should be in the same subnet as the coffee machine.

Running the script

Execute the webserver.py script.

During the first run, you'll need to authenticate using your delonghi's account.

Usage

Open the URL: http://127.0.0.1:10280/index.html.

When you press one of the buttons, the python will try to send an encrypted query to the coffee machine.

If the query fails, the coffee machine sends a signal to initialize a new encrypted connection (/local_lan/key_exchange.json).

The return field should display the negociated AES keys (in case you want to sniff the conversation and decrypt it yourself).

In that case, you'll need to press the buttons another time to send it.

Feedback window

The feedback window will return any decoded info received from the coffee machine:

  • Turn On doesn't return anything
  • Status will return the value of d302_monitor property (base64 encoded binary)
  • Bean info will return the value of d260_beansystem_sync_par (base64 encoded binary)
  • Serial will return the value of d270_serialnumber (base64 encoded binary + text)
  • Each time a coffee cup is made, the machine send a d260_beansystem_sync_par that is also displayed

All signal received will be logged in the log.txt file in order to help us understand the protocol.