Custom Component: Smarter Kettle and Coffee

If you can get a shell on it, either through ssh or otherwise, it will have Python and you can run a script.

Or you can install Python on your desktop. You can Google how to do that.

Once you have a machine with python that you have access to, write to me.

I will share with you a script such that you will need to edit a text file on your machine to contain your credentials and run the script then be able to share with me the file that it generates.

So you will also need to be able to retrieve data from whichever machine you use

Well I have a NUC server running ubuntu where I have installed python 3.13 on Is this useful?

got SSH connection to it :slight_smile: and a remote desktop gui access if needed

Great.

git clone https://github.com/kbirger/smarter-kettle-client.git
cd smarter-kettle-client

You may want to start up a virtual env, optional but recommended

virtualenv .venv
# I forget, but believe to activate it on ubuntu:
./.venv/bin/activate

Install deps

pip install -r requirements.txt

Create a new file named ā€œcredentialsā€ in the current directory. put your email on one line and password on the next line.

python -m discovery

It should generate a file named ā€œreportā€ in the current directory. Post that.

Like this?

https://yggdrasill.dk/report

Perfect. Thanks. Iā€™ll get to it soon

1 Like

@Thrawn Iā€™m having to do a bit of refactoring to support this. As I look at the output you sent me, some thing are unclear to me. It would be helpful if you could go through and document what you think certain things are.

For example:

    "brewed_keeping_warm": {
      "cups": 3,
      "ts": 1732081971
    },

What do you suppose this means?

I also see

    "coffee_soak_percentage": 0,

Which has no significance to me. Even more puzzling is this:

"coffee_soak_percentage_medium": [
      null,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0,
      0
    ],

I donā€™t see why this should have an array of 13 values.
There is also a _strong and _weak variant.
Any ideas? coffee_strength and coffee_strength_medium are similarly laid out.

I didnā€™t expect this device to be so different and to have so many obscure settings. I wonā€™t be able to do much without having one, or without input from someone who does.

Please document as much as you can from that file by experimenting with the Smarter app on your phone. The coffee maker is the second device. You can run the script multiple times to see how values are changing when you do things in the app.

Additionally, please provide screenshots or videos of how the app looks and behaves. You could document some functionality you would like to see.

Iā€™ll do my best

Iā€™m not much of a coder/scripter so much of it does not make that much sense to me
Ill see if i can take a video to start with showing you the machine in th app :slight_smile:

I can tell you some of the features if that helps:
i has 3 different options to guess how much water is in it:
cups, ML and half full
Then I can chose how long to keep warm:
0-40 min
I can chose the strength of the brew:
Weak medium strong
I can chose where the coffe come from:
Bean of filter
Then I can pre heat which I believe is heating up the water before using it (I dont drink coffe myself):
1-5 min
Finally I can chose how many cups to make 2-12

again ill try to show a video soon.

Hope some of it is helpful?

This is likely helpful. I will have to review.

You donā€™t need to be a coder. You can just look at the data points under state and status and let me know what you think they might correlate to. Your guess is better than mine.

As for commands, those are simply commands that can be sent to the device to update state.