randomcoffeesnob / decent-advanced-rest-api

62 stars 12 forks source link

The idea

Before I even received my Decent Espresso Machine I was searching for possibilities to integrate the machine with Home Automation systems.

On the diaspora I stubled upon the Web API created by Johanna Schander (https://github.com/decentespresso/de1app/tree/main/de1plus/plugins/web_api) and also the more detailed API by Henrik Pejer (https://github.com/pejer/decentespresso_module_system/tree/modules/modules/pejer_web_api). The second one was integrated directly to the app. So it will break with every update. Since there is a good working plugin system I thought this should be used.

I talked to both and with their "blessing" I combined both ideas and added mine to it.

What does it do?

How to use it?

API

There is a documentation about all available API endpoints in the attached json - which is also displayed in the Web UI.

Web UI

Navigate to http://DECENT-IP:8888 in your preferred browser. The port can be changed in the settings. 8080 should be prevented if it is used with the webcast feature.

Home Assistant

There is example configuration for Home Assistant (https://home-assistant.io) in the homeassistant directory.

Homebridge

As requested I added a Homebridge accessory config.

Update: there is now a better way to integrate this plugin with Homebridge: https://github.com/muelmx/homebridge-decent-advanced-rest-api / https://www.npmjs.com/package/homebridge-decent-advanced-rest-api Many thanks to muelmx :-)

... please contact me for feature requests.

Disclaimer

Of course the usage of this is at your own risk. It may break your machine. You are creating a web server with an unencypted connection in your network. Please be cautious.

This is my first work in TCL - please be nice ;-)