# pysolarmanv5
This is a Python module to interact with Solarman (IGEN-Tech) v5 based solar
inverter data loggers. Modbus RTU frames can be encapsulated in the proprietary
Solarman v5 protocol and requests sent to the data logger on port tcp/8899.
This module aims to simplify the Solarman v5 protocol, exposing both sync and
async interfaces similar to that of the [uModbus](https://github.com/AdvancedClimateSystems/uModbus)
library.
Details of the Solarman v5 protocol have been based on the excellent work of
[Inverter-Data-Logger by XtheOne](https://github.com/XtheOne/Inverter-Data-Logger/)
and others.
## Documentation
pysolarmanv5 documentation is available on [Read the Docs](https://pysolarmanv5.readthedocs.io/).
The Solarman V5 protocol is documented [here](https://pysolarmanv5.readthedocs.io/en/latest/solarmanv5_protocol.html).
## Supported Devices
A user contributed list of supported devices is available [here](https://github.com/jmccrohan/pysolarmanv5/issues/11).
If you are unsure if your device is supported, please use the [solarman_scan](https://github.com/jmccrohan/pysolarmanv5/blob/main/utils/solarman_scan.py)
utility to find compatible data logging sticks on your local network.
Please note that the **Solis S3-WIFI-ST** data logging stick is **NOT supported**.
See [GH issue #8](https://github.com/jmccrohan/pysolarmanv5/issues/8) for further information.
Some Ethernet data logging sticks have native support Modbus TCP and therefore **do not require pysolarmanv5**.
See [GH issue #5](https://github.com/jmccrohan/pysolarmanv5/issues/5) for further information.
## Dependencies
- pysolarmanv5 requires Python 3.8 or greater.
- pysolarmanv5 depends on [uModbus](https://github.com/AdvancedClimateSystems/uModbus).
## Installation
To install the latest stable version of pysolarmanv5 from PyPi, run:
`pip install pysolarmanv5`
To install the latest development version from git, run:
`pip install git+https://github.com/jmccrohan/pysolarmanv5.git`
## Projects using pysolarmanv5
- [davidrapan/ha-solarman](https://github.com/davidrapan/ha-solarman)
- [StephanJoubert/home_assistant_solarman](https://github.com/StephanJoubert/home_assistant_solarman)
- [NosIreland/solismon3](https://github.com/NosIreland/solismon3)
- [NosIreland/solismod](https://github.com/NosIreland/solismod)
- [jmccrohan/ha_pyscript_pysolarmanv5](https://github.com/jmccrohan/ha_pyscript_pysolarmanv5)
- [YodaDaCoda/hass-solarman-modbus](https://github.com/YodaDaCoda/hass-solarman-modbus)
- [schwatter/solarman_mqtt](https://github.com/schwatter/solarman_mqtt)
- [RonnyKempe/solismon](https://github.com/RonnyKempe/solismon)
- [toledobastos/solarman_battery_autocharge](https://github.com/toledobastos/solarman_battery_autocharge)
- [AndyTaylorTweet/solis2mqtt](https://github.com/AndyTaylorTweet/solis2mqtt)
- [pixellos/codereinvented.automation.py](https://github.com/pixellos/codereinvented.automation.py)
- [cjgwhite/hass-solar](https://github.com/cjgwhite/hass-solar)
- [imcfarla2003/solarconfig](https://github.com/imcfarla2003/solarconfig)
- [githubDante/deye-controller](https://github.com/githubDante/deye-controller)
- [danfoster/solis](https://github.com/danfoster/solis)
## Contributions
Contributions welcome. Please raise any Issues / Pull Requests via [Github](https://github.com/jmccrohan/pysolarmanv5).
## License
pysolarmanv5 is licensed under the [MIT License](https://github.com/jmccrohan/pysolarmanv5/blob/master/LICENSE). Copyright (c) 2024 Jonathan McCrohan
Raw data
{
"_id": null,
"home_page": null,
"name": "pysolarmanv5",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": "solarman, igen-tech, modbus, solar, inverter, solarmanv5",
"author": null,
"author_email": "Jonathan McCrohan <jmccrohan@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/84/f6/8140c8e6c3fef744c40039c8ef255ee4ca73c84100abed876e252c4fd5a8/pysolarmanv5-3.0.6.tar.gz",
"platform": null,
"description": "# pysolarmanv5\n\nThis is a Python module to interact with Solarman (IGEN-Tech) v5 based solar\ninverter data loggers. Modbus RTU frames can be encapsulated in the proprietary\nSolarman v5 protocol and requests sent to the data logger on port tcp/8899.\n\nThis module aims to simplify the Solarman v5 protocol, exposing both sync and\nasync interfaces similar to that of the [uModbus](https://github.com/AdvancedClimateSystems/uModbus)\nlibrary.\n\nDetails of the Solarman v5 protocol have been based on the excellent work of\n[Inverter-Data-Logger by XtheOne](https://github.com/XtheOne/Inverter-Data-Logger/)\nand others.\n\n## Documentation\n\npysolarmanv5 documentation is available on [Read the Docs](https://pysolarmanv5.readthedocs.io/).\n\nThe Solarman V5 protocol is documented [here](https://pysolarmanv5.readthedocs.io/en/latest/solarmanv5_protocol.html).\n\n## Supported Devices\n\nA user contributed list of supported devices is available [here](https://github.com/jmccrohan/pysolarmanv5/issues/11).\n\nIf you are unsure if your device is supported, please use the [solarman_scan](https://github.com/jmccrohan/pysolarmanv5/blob/main/utils/solarman_scan.py) \nutility to find compatible data logging sticks on your local network.\n\nPlease note that the **Solis S3-WIFI-ST** data logging stick is **NOT supported**. \nSee [GH issue #8](https://github.com/jmccrohan/pysolarmanv5/issues/8) for further information. \n\nSome Ethernet data logging sticks have native support Modbus TCP and therefore **do not require pysolarmanv5**.\nSee [GH issue #5](https://github.com/jmccrohan/pysolarmanv5/issues/5) for further information. \n\n## Dependencies\n\n- pysolarmanv5 requires Python 3.8 or greater.\n- pysolarmanv5 depends on [uModbus](https://github.com/AdvancedClimateSystems/uModbus).\n\n## Installation\n\nTo install the latest stable version of pysolarmanv5 from PyPi, run:\n\n`pip install pysolarmanv5`\n\nTo install the latest development version from git, run:\n\n`pip install git+https://github.com/jmccrohan/pysolarmanv5.git`\n\n## Projects using pysolarmanv5\n\n- [davidrapan/ha-solarman](https://github.com/davidrapan/ha-solarman)\n- [StephanJoubert/home_assistant_solarman](https://github.com/StephanJoubert/home_assistant_solarman)\n- [NosIreland/solismon3](https://github.com/NosIreland/solismon3)\n- [NosIreland/solismod](https://github.com/NosIreland/solismod)\n- [jmccrohan/ha_pyscript_pysolarmanv5](https://github.com/jmccrohan/ha_pyscript_pysolarmanv5)\n- [YodaDaCoda/hass-solarman-modbus](https://github.com/YodaDaCoda/hass-solarman-modbus)\n- [schwatter/solarman_mqtt](https://github.com/schwatter/solarman_mqtt)\n- [RonnyKempe/solismon](https://github.com/RonnyKempe/solismon)\n- [toledobastos/solarman_battery_autocharge](https://github.com/toledobastos/solarman_battery_autocharge)\n- [AndyTaylorTweet/solis2mqtt](https://github.com/AndyTaylorTweet/solis2mqtt)\n- [pixellos/codereinvented.automation.py](https://github.com/pixellos/codereinvented.automation.py)\n- [cjgwhite/hass-solar](https://github.com/cjgwhite/hass-solar)\n- [imcfarla2003/solarconfig](https://github.com/imcfarla2003/solarconfig)\n- [githubDante/deye-controller](https://github.com/githubDante/deye-controller)\n- [danfoster/solis](https://github.com/danfoster/solis)\n\n## Contributions\n\nContributions welcome. Please raise any Issues / Pull Requests via [Github](https://github.com/jmccrohan/pysolarmanv5).\n\n## License\n\npysolarmanv5 is licensed under the [MIT License](https://github.com/jmccrohan/pysolarmanv5/blob/master/LICENSE). Copyright (c) 2024 Jonathan McCrohan\n",
"bugtrack_url": null,
"license": "MIT License",
"summary": "A Python library for interacting with Solarman (IGEN-Tech) v5 based Solar Data Loggers",
"version": "3.0.6",
"project_urls": {
"changelog": "https://pysolarmanv5.readthedocs.io/en/latest/changelog.html",
"documentation": "https://pysolarmanv5.readthedocs.io/",
"homepage": "https://github.com/jmccrohan/pysolarmanv5",
"repository": "https://github.com/jmccrohan/pysolarmanv5"
},
"split_keywords": [
"solarman",
" igen-tech",
" modbus",
" solar",
" inverter",
" solarmanv5"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "b4b553474eb876dfe9af0750ad63cf240439d863404e301ae13a52b0afbb3eb4",
"md5": "367a8d647a9e61f0fd128e11bcb1b880",
"sha256": "9e38e47914c5b8bf44166dd74056040ec041b1d7c44ff2ce94ec192eeae9fc5d"
},
"downloads": -1,
"filename": "pysolarmanv5-3.0.6-py3-none-any.whl",
"has_sig": false,
"md5_digest": "367a8d647a9e61f0fd128e11bcb1b880",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 15000,
"upload_time": "2024-12-11T23:06:21",
"upload_time_iso_8601": "2024-12-11T23:06:21.760985Z",
"url": "https://files.pythonhosted.org/packages/b4/b5/53474eb876dfe9af0750ad63cf240439d863404e301ae13a52b0afbb3eb4/pysolarmanv5-3.0.6-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "84f68140c8e6c3fef744c40039c8ef255ee4ca73c84100abed876e252c4fd5a8",
"md5": "0baa035b178c91af480efb935e37dc3d",
"sha256": "ec3c6c03ec47bd0ee811f32ee4da272a28cc53141ab1113b5dbec55834c8afb5"
},
"downloads": -1,
"filename": "pysolarmanv5-3.0.6.tar.gz",
"has_sig": false,
"md5_digest": "0baa035b178c91af480efb935e37dc3d",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 14628,
"upload_time": "2024-12-11T23:06:24",
"upload_time_iso_8601": "2024-12-11T23:06:24.148207Z",
"url": "https://files.pythonhosted.org/packages/84/f6/8140c8e6c3fef744c40039c8ef255ee4ca73c84100abed876e252c4fd5a8/pysolarmanv5-3.0.6.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-12-11 23:06:24",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "jmccrohan",
"github_project": "pysolarmanv5",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"requirements": [
{
"name": "umodbus",
"specs": []
}
],
"lcname": "pysolarmanv5"
}