{ "info": { "author": "Ardexa Pty Limited", "author_email": "support@ardexa.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6" ], "description": "# Purpose\nThe purpose of this project is to collect from Solarmax Inverters and send the data to your cloud using Ardexa. Data from Solarmax solar inverters is read using an RS485 connection and a Linux device such as a Raspberry Pi, or an X86 intel powered computer. \n\n## Install\nOn a raspberry Pi, or other Linux machines (arm, intel, mips or whetever), make sure Python is installed (which it should be). Then install using pip as follows:\n`sudo pip install solarmax-ardexa`\n\nIf it is already installed, and you need to upgrade, then do this: \n`sudo pip install solarmax-ardexa --upgrade`. \nThe latest version of the package can be found here: `https://pypi.org/project/solarmax-ardexa/`\n\n## How does it work\nThis application is written in Python, to query Solarmax inverters connected via RS485. This application will query 1 or more connected inverters at regular intervals. Data will be written to log files on disk in a directory specified in the script. Usage and command line parameters are as follows:\n\nUsage: solarmax_ardexalog {serial device} {Addresses} {log directory} {required_csv_value}, where...\n- {serial device} = ..something like: /dev/ttyS0\n- {Addresses} = As a range (eg; 1-32) or a list (eg; 2,5,7,9) of the RS485 address\n- {log directory} = logging directory\n- {required_csv_value} = KDY,IL1,IL2,IL3,PAC,PDC,TNF,TKK,SYS,KHR,KMT,KLM,UL1,UL2,UL3,PRL (these are acronyms which detail which values to call down from the inverter. \nThe actual values which are available are shown starting in Line 47 of the script `solarmax-ardexa.py`\n- eg: `solarmax_ardexa -v log /dev/ttyS0 1-5 /opt/ardexa/solarmax KDY,IL1,IL2,IL3,PAC,PDC,TNF,TKK,SYS,KHR,KMT,KLM,UL1,UL2,UL3,PRL`\n- Note the use of the `-v` option in the above command to show debug messages. Use `-vv` for more verbose debug messages\n\n## RS485 to USB converter\nSolarmax inverters can use RS485 as a means to communicate data and settings\nRS485 is a signalling protocol that allows many devices to share the same physical pair of wires, in a master master/slave relationship\nSee -> http://www.usb-serial-adapter.org/ for further information\n\nWhen an RS485 to USB converter has been plugged in, on Linux systems the device will connect to something line /dev/ttyUSB0. To check:\n```\nsudo tail -f /var/log/syslog\n...then plug in the converter\n```\nYou should see a line like: `usb 1-1.4: ch341-uart converter now attached to ttyUSB0`\nThis means that the RS485 serial port can be accessed by the logical device `/dev/ttyUSB0`\nAlternatively, try: `dmesg | grep tty`\n\n## Inverter to RS485 (DB9) Physical Connection\nIf your computer has an RS485 port, then the inverter can be connected directly to this port.\nThe inverter is connected using 3 wires to the RS485 DB9 port on the computer. DO NOT connect the inverter RS485 to a RS232 port. They are not voltage compatible and damage will probably occur. For this to happen, you need a devices like these:\n- http://www.robotshop.com/en/db9-female-breakout-board.html\n- https://core-electronics.com.au/db9-female-breakout-board.html\n- https://www.amazon.com/Female-Breakout-Board-Screw-Terminals/dp/B00CMC1XFU\n\nEach and every RS485 port that uses DB9 has a different pinout. So you have to read the actual manual for the physical RS485 port you are using. \nFor example; if using the Advantech UNO 2362G, the following pins are used: Pin1 = D- , Pin 2 = D+ and Pin 5 = GND. All other pins are not connected, so do not connect any other pins. \nSo to wire it all up:\n- Make sure the Advantech is turned off\n- D+ Pin from the Solarmax Inverter (should be Pin 2 on the RS485 inverter interface) to Pin 2 of the RS485 DB-9 (Female) on the Advantech UNO 2362G\n- GND Pin from the Solarmax Inverter (should be Pin 5 on the RS485 inverter interface) to Pin 5 of the RS485 DB-9 (Female) on the Advantech UNO 2362G\n- D- Pin from the Solarmax Inverter (should be Pin 7 on the RS485 inverter interface) to Pin 1 of the RS485 DB-9 (Female) on the Advantech UNO 2362G\n\nConfirm the physical serial port by running the command `dmesg | grep tty`. As stated previously, it should return something like `/dev/ttyS1` if using a serial com port, or something like `/dev/ttyUSB0` if using a 485/USB serial converter.\n\n\n## Collecting to the Ardexa cloud\nCollecting to the Ardexa cloud is free for up to 3 Raspberry Pis (or equivalent). Ardexa provides free agents for ARM, Intel x86 and MIPS based processors. To collect the data to the Ardexa cloud do the following:\na. Create a `RUN` scenario to schedule the Ardexa Solarmax script to run at regular intervals (say every 300 seconds/5 minutes).\nb. Then use a `CAPTURE` scenario to collect the csv (comma separated) data from the filename `{log directory}`. This file contains a header entry (as the first line) that describes the CSV elements of the file.\n\n## Help\nContact Ardexa at support@ardexa.com, and we'll do our best efforts to help.\n\n\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/ardexa/solarmax-inverters", "keywords": "solarmax solar inverter ardexa", "license": "", "maintainer": "", "maintainer_email": "", "name": "solarmax-ardexa", "package_url": "https://pypi.org/project/solarmax-ardexa/", "platform": "", "project_url": "https://pypi.org/project/solarmax-ardexa/", "project_urls": { "Bug Reports": "https://github.com/ardexa/solarmax-inverters/issues", "Homepage": "https://github.com/ardexa/solarmax-inverters", "Source": "https://github.com/ardexa/solarmax-inverters/" }, "release_url": "https://pypi.org/project/solarmax-ardexa/1.0.4/", "requires_dist": [ "Click", "ardexaplugin", "future", "pyserial" ], "requires_python": ">=2.7", "summary": "Collect from Solarmax Inverters and send the data to your cloud using Ardexa", "version": "1.0.4" }, "last_serial": 5916352, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "c181282925efc14cb8d380aeda95d5f8", "sha256": "6266b1328cb44d4a873514a68fd56aa2a8f601cf5352d1df86d14e291b5406bd" }, "downloads": -1, "filename": "solarmax_ardexa-1.0.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "c181282925efc14cb8d380aeda95d5f8", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7", "size": 10323, "upload_time": "2018-11-02T03:35:48", "url": "https://files.pythonhosted.org/packages/4a/9e/5df173f085aa277ad47f31b350cfec18c5d925b32587fac5f7f75e7fc2d2/solarmax_ardexa-1.0.0-py2.py3-none-any.whl" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "ba468412cd3c07a4fa18e6bb74f9f709", "sha256": "923d514f9ed9e378ea1eebb1fc8e83501e74ffe32048c35c046b630e7e18899a" }, "downloads": -1, "filename": "solarmax_ardexa-1.0.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "ba468412cd3c07a4fa18e6bb74f9f709", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7", "size": 10323, "upload_time": "2018-11-06T12:30:56", "url": "https://files.pythonhosted.org/packages/65/37/77b6f8edc376a05b8ac554f760d6b9225d5967c4ced2039233347db81a52/solarmax_ardexa-1.0.1-py2.py3-none-any.whl" } ], "1.0.3": [ { "comment_text": "", "digests": { "md5": "86a544023bfd85110d51228437baa5c2", "sha256": "a6b257619eef0c8f46c796cc239bbee830e162b2200a9d4020756e78659593a5" }, "downloads": -1, "filename": "solarmax_ardexa-1.0.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "86a544023bfd85110d51228437baa5c2", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7", "size": 13487, "upload_time": "2019-09-09T00:01:52", "url": "https://files.pythonhosted.org/packages/6d/20/0c43b98e4c0d9114744525f8bac06ab94581193f4ffdeeecd538d98d3ff6/solarmax_ardexa-1.0.3-py2.py3-none-any.whl" } ], "1.0.4": [ { "comment_text": "", "digests": { "md5": "41b27b8494a6664a14e6b8a829336714", "sha256": "3c71b03ddf65937a4208d6033129d8176d045ffe0af23b3f108a2405f6c542e1" }, "downloads": -1, "filename": "solarmax_ardexa-1.0.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "41b27b8494a6664a14e6b8a829336714", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7", "size": 13166, "upload_time": "2019-10-02T06:17:05", "url": "https://files.pythonhosted.org/packages/66/9f/a41c27994a901c18c8062e7146a5509f21cecb253be7773441b688df9d63/solarmax_ardexa-1.0.4-py2.py3-none-any.whl" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "41b27b8494a6664a14e6b8a829336714", "sha256": "3c71b03ddf65937a4208d6033129d8176d045ffe0af23b3f108a2405f6c542e1" }, "downloads": -1, "filename": "solarmax_ardexa-1.0.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "41b27b8494a6664a14e6b8a829336714", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7", "size": 13166, "upload_time": "2019-10-02T06:17:05", "url": "https://files.pythonhosted.org/packages/66/9f/a41c27994a901c18c8062e7146a5509f21cecb253be7773441b688df9d63/solarmax_ardexa-1.0.4-py2.py3-none-any.whl" } ] }