This is a Python API for the Rocket R 60V.
It provides a proper API and a CLI tool to read & write settings on the machine.
Rocket provides its own iOS & Android apps. However, IMHO the apps are complete rubbish (bad engineering par excellence) and don't work properly. The app reviews tell the same story.
Annoyed and frustrated by the origin apps, I did some research & reverse engineering.
I use Python simply because I like it and it allows me to get shit done.
The Rocket R 60V API can either installed from source (i.e. downloading or cloning this repository) or via pip
:
pip install rocket-r60v
This package provides a CLI command called rocket-r60v
to communicate with the machine.
To display the available commands, use the --help
flag:
rocket-r60v --help usage: rocket-r60v [-h] [-v] [-f LOGFILE] {active-profile,auto-off,auto-on,brew-boiler-temperature,current-brew-boiler-temperature,current-brew-time,current-service-boiler-temperature,date-time,display,language,profile-a,profile-b,profile-c,service-boiler,service-boiler-temperature,standby,temperature-unit,total-coffee-count,water-feed,addresses,monitor-brew-time,read,write} ... Remote control the Rocket R 60V. positional arguments: {active-profile,auto-off,auto-on,brew-boiler-temperature,current-brew-boiler-temperature,current-brew-time,current-service-boiler-temperature,date-time,display,language,profile-a,profile-b,profile-c,service-boiler,service-boiler-temperature,standby,temperature-unit,total-coffee-count,water-feed,addresses,monitor-brew-time,read,write} active-profile the active pressure profile auto-off the auto off (standby) time auto-on the auto on time brew-boiler-temperature the desired temperature of the brew boiler current-brew-boiler-temperature the current temperature of the brew boiler current-brew-time the current brew time, taken from the display current-service-boiler-temperature the current temperature of the service boiler date-time the date & time (clock) of the machine display the display content language the language of the machine profile-a the pressure profile A profile-b the pressure profile B profile-c the pressure profile C service-boiler the state of the service boiler service-boiler-temperature the desired temperature of the service boiler standby the standby state of the machine temperature-unit the temperature unit total-coffee-count the coffee cycles water-feed the source of the water feed addresses display all implemented memory addresses / settings (debugging) monitor-brew-time continously monitor brew time read manually read memory data (debugging) write manually write memory data (debugging) optional arguments: -h, --help show this help message and exit -v, --verbose verbose mode (-v for error, -vv for warning, -vvv for info, -vvvv for debug) -f LOGFILE, --logfile LOGFILE the filename of the logfile
You can also display the help for a single action:
rocket-r60v language --help usage: rocket-r60v language [-h] [{English,German,French,Italian}] positional arguments: {English,German,French,Italian} optional arguments: -h, --help show this help message and exit
For example, to query the language you can use:
rocket-r60v language
If you want to change the language, you can use:
rocket-r60v language English
The Python API can be used like this:
from rocket_r60v.machine import Machine
machine = Machine()
machine.connect()
# Get language from machine.
print(machine.language)
# Set language on machine.
machine.language = 'English'
All available settings can be displayed via CLI command rocket-r60v --help
or by inspecting the settings module.
The Rocket R 60V machine will open a wireless network:
- SSID:
RocketEspresso
- Passphrase:
RocketR60V
A wireless client can then connect to the wireless network and should get a DHCP lease in the 192.168.1.0/24
subnet.
From there on, you should be able to use the API.
If you're interested how I developed the API and how I reverse engineered the protocol, have a look at the Reverse Engineering Guide.