{ "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\nKostal (http://www.kostal-solar-electric.com/) supply retail and commercial grade Solar PV inverters. The purpose of this project is to collect data from Kostal Inverters and send the data to your cloud using Ardexa. Data from Kostal solar inverters is read using an Ethernet connection to the first inverter (and then RS485 for other inverters) and a Linux device such as a Raspberry Pi, or an X86 intel powered computer. \n\n# How does it work\nThis application is written in Python, to query Kostal inverters connected via Ethernet. 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 by the user. Usage and command line parameters are as follows:\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 the dependancies and this package as follows:\n```\ngit clone https://github.com/ardexa/kostal-inverters.git\ncd kostal-inverters/scripts\npip install .\n```\n\n## Usage\nTo scan the whole 1-255 RS485 address range and print out the inverter metadata\n```\nUsage: kostal_ardexa discover IP_address\nEg; kostal_ardexa discover 192.168.1.3\n```\n\nSend production data to a file on disk \n```\nUsage: kostal_ardexa log IP_address bus_addresses output_directory\nEg; kostal_ardexa log 192.168.1.3 1-4 /opt/ardexa\n```\n- IP Address = ..something like: 192.168.1.4\n- Bus Addresses = List of bus addresses using commas and hyphens, e.g. `1-4,6,10-20` (this is an RS485 address, NOT Ethernet). \n- ouput directory = logging directory; eg; /opt/logging/\n\n\nTo view debug output, increase the verbosity using the `-v` flag.\n- standard (no messages, except errors), `-v` (discovery messages) or `-vv` (all messages)\n\n## Connecting to, and communicating with, Kostal Inverters\nIn this project, please take a look at the 'docs' directory. You will find a version of the \"Installation and\nOperating Manual PIKO Inverter for versions 4.2, 5.5, 7.0, 8.3, 10.1\". This document is from Kostal. If you go to Page 24 (Figure 32), you will see that you can communicate to one or more inverters directly via an Ethernet cable to the FIRST INVERTER. Other inverters need to be connected via RS485 daisy chain. RS485 is a signalling protocol that allows many devices to share the same physical pair of wires, in a master master/slave relationship.\n\nSo remember these things:\n1. Connection from your Linux device to the first inverter is via an ethernet cable (via a switch or using a crossover cable).\n2. Other inverters are connected to this first one via RS485 daisy chain.\n3. You MUST know the IP Address of the FIRST inverters only.\n4. Each inverter (if there are more than 1) must have a UNIQUE RS485 address\n\nIf in doubt, see the latest documentation on the Kostal website.\n\n## How to use the script\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:\n- Create a `RUN` scenario to schedule the Ardexa Kostal script to run at regular intervals (say every 300 seconds/5 minutes).\n- Then use a `CAPTURE` scenario to collect the csv (comma separated) data from the filename (say) `/opt/ardexa/Kostal/logs/`. 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", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/ardexa/kostal-inverters", "keywords": "kostal solar inverter ardexa", "license": "", "maintainer": "", "maintainer_email": "", "name": "kostal-ardexa", "package_url": "https://pypi.org/project/kostal-ardexa/", "platform": "", "project_url": "https://pypi.org/project/kostal-ardexa/", "project_urls": { "Bug Reports": "https://github.com/ardexa/kostal-inverters/issues", "Homepage": "https://github.com/ardexa/kostal-inverters", "Source": "https://github.com/ardexa/kostal-inverters/" }, "release_url": "https://pypi.org/project/kostal-ardexa/0.2.1/", "requires_dist": [ "future", "ardexaplugin", "Click", "hexdump" ], "requires_python": ">=2.7", "summary": "Collect from Kostal Inverters and send the data to your cloud using Ardexa", "version": "0.2.1" }, "last_serial": 3715721, "releases": { "0.1.1": [ { "comment_text": "", "digests": { "md5": "a225d0b720f5e47a3752e6f35f384acd", "sha256": "3a1ecb269a09e90a0b093cb3338d9470b9cb889cb26799c3ed28c8a1db8bf11b" }, "downloads": -1, "filename": "kostal_ardexa-0.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "a225d0b720f5e47a3752e6f35f384acd", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 10544, "upload_time": "2018-03-26T08:26:34", "url": "https://files.pythonhosted.org/packages/3c/57/222eabe43066a24840e0b9dd6233190c30313873faa290957295ed9c6dc8/kostal_ardexa-0.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5b1df691ed8fed08b4bc1303817521f0", "sha256": "c034b37510a3558cfae68b552427cc847ce440cdace121f40d57c17478e5382d" }, "downloads": -1, "filename": "kostal_ardexa-0.1.1.tar.gz", "has_sig": false, "md5_digest": "5b1df691ed8fed08b4bc1303817521f0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8041, "upload_time": "2018-03-26T08:26:35", "url": "https://files.pythonhosted.org/packages/d2/1f/42a30bc519be28f9000b3df932cf0a4695442c5c16802e2d383e31052007/kostal_ardexa-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "2d79a319a22d79e9a73eac6cf9fa8ead", "sha256": "bb63df40d66353db4ee3e7b854f54791ddf044ca5cf0d8a078ddeca924fa386f" }, "downloads": -1, "filename": "kostal_ardexa-0.1.2-py3-none-any.whl", "has_sig": false, "md5_digest": "2d79a319a22d79e9a73eac6cf9fa8ead", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 10534, "upload_time": "2018-03-26T10:06:37", "url": "https://files.pythonhosted.org/packages/57/0b/92ac4004240da8cf8f2f4ab53ad326773260e8339d17f98f4bbf23195796/kostal_ardexa-0.1.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "01bcd6787324721a0e8876bae7241705", "sha256": "275d206e8b7086028b96e6e6bae06e6c03711fc77ccd39f8565a44f938c876ad" }, "downloads": -1, "filename": "kostal_ardexa-0.1.2.tar.gz", "has_sig": false, "md5_digest": "01bcd6787324721a0e8876bae7241705", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8035, "upload_time": "2018-03-26T10:06:39", "url": "https://files.pythonhosted.org/packages/63/13/e309eda7090890ef3d02df9d7681b893051d7fb216c1da4a12eb8bcced32/kostal_ardexa-0.1.2.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "6e9346dfbafea2ab5821241c9dddf4e6", "sha256": "fd219b54d63491242cf03bea7ba2ca1e0baf72fc9520166d1398570c7753f391" }, "downloads": -1, "filename": "kostal_ardexa-0.1.4-py3-none-any.whl", "has_sig": false, "md5_digest": "6e9346dfbafea2ab5821241c9dddf4e6", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 10519, "upload_time": "2018-03-26T11:57:50", "url": "https://files.pythonhosted.org/packages/10/52/0678d022138b1a8becf14281632d520816da5d285e0e71f3ee0daef98183/kostal_ardexa-0.1.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "4793408bf825f6e55a690e0fc3139aef", "sha256": "804727e69afb92f10eb20b68fd80e9f5e52e17e6ee735f4ba810c58b93698202" }, "downloads": -1, "filename": "kostal_ardexa-0.1.4.tar.gz", "has_sig": false, "md5_digest": "4793408bf825f6e55a690e0fc3139aef", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8017, "upload_time": "2018-03-26T11:57:51", "url": "https://files.pythonhosted.org/packages/d0/36/d48c68825f0d937cac41cec93439205d8213f3389a7e7667474cff2f6906/kostal_ardexa-0.1.4.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "90548be42d6edbf55f01f946f6dd635e", "sha256": "2dbd6d5a200689b635eecc6cbd06680b7ccd10037b4d1e2eb88bfaeaabc85b6e" }, "downloads": -1, "filename": "kostal_ardexa-0.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "90548be42d6edbf55f01f946f6dd635e", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7", "size": 10580, "upload_time": "2018-03-27T05:34:10", "url": "https://files.pythonhosted.org/packages/85/1a/cfec1d479f35300f9c1fd686007b36444b069e89be254a00d4861091abef/kostal_ardexa-0.2.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "659852fe3f587170ddb229c734548b4c", "sha256": "a01ce0d96fb1a21335e2a37fba3410661047b772e7c788807d91f64bb70988b5" }, "downloads": -1, "filename": "kostal_ardexa-0.2.0.tar.gz", "has_sig": false, "md5_digest": "659852fe3f587170ddb229c734548b4c", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7", "size": 8101, "upload_time": "2018-03-27T05:34:11", "url": "https://files.pythonhosted.org/packages/07/ec/4d37a005fc39d516b5989dd8f1fad7899a2ed1a114c39d4312473b7fedc8/kostal_ardexa-0.2.0.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "8f5085d894269a29bc7369a2e72057c3", "sha256": "532f92c555beac6e9ec72b5f3dfe2ade66b22fc5b08aefce62c61478b93c544d" }, "downloads": -1, "filename": "kostal_ardexa-0.2.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "8f5085d894269a29bc7369a2e72057c3", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7", "size": 10726, "upload_time": "2018-03-27T06:17:23", "url": "https://files.pythonhosted.org/packages/96/15/fd1deb13b95efd5b203c02eed27e3b6f5caa395a60f2cc9b441a341cdf5c/kostal_ardexa-0.2.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "eca48c4871ef754875207b51fbd9b6a6", "sha256": "6f202c8cca3c742296f76720eedb518ff54d89c07375bce9893a50c34513dd6b" }, "downloads": -1, "filename": "kostal_ardexa-0.2.1.tar.gz", "has_sig": false, "md5_digest": "eca48c4871ef754875207b51fbd9b6a6", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7", "size": 8228, "upload_time": "2018-03-27T06:17:25", "url": "https://files.pythonhosted.org/packages/bf/91/4cd7109fa5aa219e10498a5949ad0143423c7237cc4a696dd457826ccdcf/kostal_ardexa-0.2.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "8f5085d894269a29bc7369a2e72057c3", "sha256": "532f92c555beac6e9ec72b5f3dfe2ade66b22fc5b08aefce62c61478b93c544d" }, "downloads": -1, "filename": "kostal_ardexa-0.2.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "8f5085d894269a29bc7369a2e72057c3", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=2.7", "size": 10726, "upload_time": "2018-03-27T06:17:23", "url": "https://files.pythonhosted.org/packages/96/15/fd1deb13b95efd5b203c02eed27e3b6f5caa395a60f2cc9b441a341cdf5c/kostal_ardexa-0.2.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "eca48c4871ef754875207b51fbd9b6a6", "sha256": "6f202c8cca3c742296f76720eedb518ff54d89c07375bce9893a50c34513dd6b" }, "downloads": -1, "filename": "kostal_ardexa-0.2.1.tar.gz", "has_sig": false, "md5_digest": "eca48c4871ef754875207b51fbd9b6a6", "packagetype": "sdist", "python_version": "source", "requires_python": ">=2.7", "size": 8228, "upload_time": "2018-03-27T06:17:25", "url": "https://files.pythonhosted.org/packages/bf/91/4cd7109fa5aa219e10498a5949ad0143423c7237cc4a696dd457826ccdcf/kostal_ardexa-0.2.1.tar.gz" } ] }