Python library for communicating with the Rinnai Control-R Water Heaters and control devices via the Rinnai Control-R cloud API.
Rinnai's API is completely insecure. We recommend that you disconnect your water heater from the Control-R system until Rinnai fixes these basic issues.
This library is community supported. Please submit changes and improvements.
- reading and setting the temperature setpoint
- reading whether heating or recirculation is in progress
- starting recirculation
- reading schedules, vacation state
- reading flow rates and service parameters
- reading intake temperature, outlet temperature
- reading the address of the device as entered into Control-R
- creating schedules
- setting vacation state
Please submit pull requests to add support for your favorite values.
pip install rinnaicontrolr
rinnai = RinnaiWaterHeater(username, password)
for device in rinnai.get_devices():
rinnai.set_temperature_setpoint(device, 90) # make it annoyingly cold
rinnai.start_recirculation(device, 15) # start recirculation for 15 minutes
if rinnai.is_heating(device):
print(f'heater is heating to a setpoint of {rinnai.get_temperature_setpoint(device)} degrees.')
- Rinnai's API performs no authentication. Sorry, we can't fix this, we don't work for Rinnai.
- Perform authentication once Rinnai's API requires it.
- asyncio interface.