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 when it comes to reading information about your water heater. 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 is having trouble setting recirculation longer than 5 minutes even from their APP.
- asyncio interface.