{"id":15538705,"url":"https://github.com/rosswarren/renogymodbus","last_synced_at":"2025-04-23T15:25:37.073Z","repository":{"id":49870905,"uuid":"514569345","full_name":"rosswarren/renogymodbus","owner":"rosswarren","description":"Python library for communicating with Renogy solar charge controllers","archived":false,"fork":false,"pushed_at":"2023-02-01T18:20:20.000Z","size":66,"stargazers_count":29,"open_issues_count":2,"forks_count":8,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-12-06T19:11:31.951Z","etag":null,"topics":["energy-monitor","modbus","python","raspberry-pi","renogy","renogy-rover","solar","solar-power"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rosswarren.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-07-16T12:15:12.000Z","updated_at":"2024-11-04T15:37:16.000Z","dependencies_parsed_at":"2023-02-17T09:16:09.890Z","dependency_job_id":null,"html_url":"https://github.com/rosswarren/renogymodbus","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rosswarren%2Frenogymodbus","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rosswarren%2Frenogymodbus/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rosswarren%2Frenogymodbus/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rosswarren%2Frenogymodbus/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rosswarren","download_url":"https://codeload.github.com/rosswarren/renogymodbus/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250458780,"owners_count":21433941,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["energy-monitor","modbus","python","raspberry-pi","renogy","renogy-rover","solar","solar-power"],"created_at":"2024-10-02T12:05:40.141Z","updated_at":"2025-04-23T15:25:37.042Z","avatar_url":"https://github.com/rosswarren.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# renogymodbus\n\nThis package is intended to help you communicate with a Renogy charge controller. It has been tested with a Renogy Rover Elite but should work with other Renogy devices.\n\n## Features\n* Read real time data\n* Automatic retries\n\n## Connecting to the charge controller or battery\nThis library has been tested with the following devices:\n* Renogy Rover Elite 20A MPPT Solar Charge Controller\n* Renogy 12V 100Ah Smart Lithium Iron Phosphate Battery\n\nThe library should work with other Renogy devices, please raise an issue if you have problems or have tested that the library works with your device.\n\nPlease check whether your charge controller or battery has a rs232 or rs485 port.\n\n### rs485\nVoucher code for 7% off Renogy: http://73renogy.refr.cc/rosswarren\n\n* rs485 to USB serial cable (UK) https://uk.renogy.com/rs485-to-usb-serial-cable/\n* rs485 to USB serial cable (US) https://renogy.com/rs485-to-usb-serial-cable/\n\n\u003cimg width=\"693\" alt=\"image\" src=\"https://user-images.githubusercontent.com/613642/179362448-12a805d1-4475-45cc-b3d7-c8a8e9c4b409.png\"\u003e\n\n### rs232\nUnfortunately the rs232 to USB serial cable has been discontinued by Renogy. It is possible to make your own.\n\n\u003cimg width=\"690\" alt=\"image\" src=\"https://user-images.githubusercontent.com/613642/179362464-35bde1f8-fcb2-43d8-8a52-0232ffa210e8.png\"\u003e\n\n\n## Installing the package\n\n\nTo install the package run\n\n```sh\npip install renogymodbus\n```\n\nThis package requires Python 3, depending on your setup you might have to instead run:\n\n```sh\npip3 install renogymodbus\n```\n\n\n## Command line utility\n\nTo run the command line utility and see the debug output run the following on the command line:\n\n```sh\nusage: renogymodbus [-h] [--portname PORTNAME] [--slaveaddress SLAVEADDRESS]\n                   [--device {charge_controller,smart_battery}]\n                   [--find-slave-address]\n\noptional arguments:\n  -h, --help            show this help message and exit\n  --portname PORTNAME   Port name for example /dev/ttyUSB0\n  --slaveaddress SLAVEADDRESS\n                        Slave address 1-247\n  --device {charge_controller,smart_battery}\n                        Device to read data from. Either charge_controller or\n                        smart_battery\n  --find-slave-address  Find slave address of modbus device\n```\n\nExample commands:\n```sh\nrenogymodbus --device smart_battery --portname /dev/ttyUSB0 --slaveaddress 48\n```\n\n```sh\nrenogymodbus --device charge_controller --portname /dev/ttyUSB0 --slaveaddress 1\n```\n\n```sh\nrenogymodbus --find-slave-address --portname /dev/ttyUSB0\n```\n\nExample output for charge controller\n```sh\nReal Time Charge Controller Data\nSolar voltage: 43.1V\nSolar current: 0.09A\nSolar power: 4W\nLoad voltage: 0.0V\nLoad current: 0.0A\nLoad power: 0W\nBattery voltage: 13.9V\nBattery state of charge: 100%\nBattery temperature: -37°C\nController temperature: 48°C\nMaximum solar power today: 51W\nMinimum solar power today: 0W\nMaximum battery voltage today: 14.0V\nMinimum battery voltage today: 13.1V\n```\n\nExample output for smart battery\n```\nReal Time Smart Battery Data\nCell voltages: [3.3, 3.3, 3.3, 3.3, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]V\nCell temperatures: [24.0, 24.0, 24.0, 24.0, 1835.2, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]°C\nBMS temperature: 0.0°C\nEnvironment temperatures: [25.0, 25.0]°C\nHeater temperatures: [25.0, 25.0]°C\nCurrent: -0.2A\nVoltage: 13.3V\nRemaining capacity: 98.966Ah\nTotal capacity: 100.0Ah\nState of charge: 98.966%\nCycle number: 0\nCharge voltage limit: 14.8V\nDischarge voltage limit: 10.0V\nCharge current limit: 50.0A\nDischarge current limit: -100.0A\n```\n\n## Python usage\n\nTo use the library within your Python code\n\n### Charge Controller\n\n```python\nfrom renogymodbus import RenogyChargeController\n\ncontroller = RenogyChargeController(\"/dev/ttyUSB0\", 1)\ncontroller.get_solar_voltage()\n```\n\nSee https://github.com/rosswarren/renogymodbus/blob/main/renogymodbus/charge_controller.py for all available methods\n\n### Smart Battery\n\n```python\nfrom renogymodbus import RenogySmartBattery\n\nbattery = RenogySmartBattery(\"/dev/ttyUSB0\", 48)\nbattery.get_voltage()\n```\nSee https://github.com/rosswarren/renogymodbus/blob/main/renogymodbus/smart_battery.py for all available methods\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frosswarren%2Frenogymodbus","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frosswarren%2Frenogymodbus","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frosswarren%2Frenogymodbus/lists"}