oxford.py ---- suggested modif in the function start_ramp()
Inside the start_ramp() function the sp (= set-point temperature) is used, while the ramp-rate is obtained from the status-packet and its' value is always 0 when a ramp is not active. Therefore the call self._oxford.ramp(rate,sp) fails, since a ramp-rate is 0. So current implementation of start_ramp() function does not take advantage of possibility to obtain ramp-rate from the named argument, though mentioned in the function comment.
I suggest to obtain the ramp-rate by using named argument "rate". So I propose that in the function start_ramp() the line:
rate = self._oxford.read_ramprate()
is replaced by the following block, where the attempt is done to obtain the ramp-rate value from the "rate" named argument.
rate = kwargs.get("rate", None)
if rate is None:
# get rate from status packet
rate = self._oxford.read_ramprate()
if not rate:
raise ValueError("Cannot start ramping, ramp rate not set")