https://github.com/explosivo22/rinnaicontrolr
Python interface for the Rinnai Control-R API
https://github.com/explosivo22/rinnaicontrolr
api api-client heater python rinnai water water-heater
Last synced: 3 months ago
JSON representation
Python interface for the Rinnai Control-R API
- Host: GitHub
- URL: https://github.com/explosivo22/rinnaicontrolr
- Owner: explosivo22
- License: apache-2.0
- Created: 2020-12-30T17:57:55.000Z (over 5 years ago)
- Default Branch: main
- Last Pushed: 2022-08-22T03:08:36.000Z (almost 4 years ago)
- Last Synced: 2026-03-29T17:03:12.100Z (3 months ago)
- Topics: api, api-client, heater, python, rinnai, water, water-heater
- Language: Python
- Homepage:
- Size: 103 KB
- Stars: 15
- Watchers: 5
- Forks: 4
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# rinnaicontrolr - Python interface for the Rinnai Control-R API
[](https://pypi.python.org/pypi/rinnaicontrolr)
[](https://opensource.org/licenses/Apache-2.0)
Python library for communicating with the [Rinnai Control-R Water Heaters and control devices](https://www.rinnai.us/tankless-water-heater/accessories/wifi) 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.
## Support For
- reading and setting the temperature setpoint
- reading whether heating or recirculation is in progress
- starting recirculation
## Limited Support For
- 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
## No Support For
- creating schedules
- setting vacation state
Please submit pull requests to add support for your favorite values.
## Installation
```
pip install rinnaicontrolr
```
## Example
```python
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.')
```
## Known Issues
* Rinnai's API is having trouble setting recirculation longer than 5 minutes even from their APP.
## Future Plans
* asyncio interface.