{ "info": { "author": "Markus Ressel", "author_email": "mail@markusressel.de", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7" ], "description": ".. |pypi_version| image:: https://badge.fury.io/py/sunix-ledstrip-controller-client.svg\n :target: https://badge.fury.io/py/sunix-ledstrip-controller-client\n\nsunix-ledstrip-controller-client |pypi_version|\n================================================\n\nA python 3.4+ library for controlling the Sunix\u00ae RGB / RGBWWCW WiFi LED Strip controller.\n\nBuild Status\n============\n\n.. |build_master| image:: https://travis-ci.org/markusressel/sunix-ledstrip-controller-client.svg?branch=master\n :target: https://travis-ci.org/markusressel/sunix-ledstrip-controller-client/branches\n\n.. |build_beta| image:: https://travis-ci.org/markusressel/sunix-ledstrip-controller-client.svg?branch=beta\n :target: https://travis-ci.org/markusressel/sunix-ledstrip-controller-client/branches\n\n.. |build_dev| image:: https://travis-ci.org/markusressel/sunix-ledstrip-controller-client.svg?branch=dev\n :target: https://travis-ci.org/markusressel/sunix-ledstrip-controller-client/branches\n\n\n.. |codebeat_master| image:: https://codebeat.co/badges/9dd4227d-a247-4c9b-9091-7472f3e19434\n :target: https://codebeat.co/projects/github-com-markusressel-sunix-ledstrip-controller-client-master\n\n.. |codebeat_beta| image:: https://codebeat.co/badges/68d80d07-2c69-4320-9f0a-02165dafae11\n :target: https://codebeat.co/projects/github-com-markusressel-sunix-ledstrip-controller-client-beta\n\n.. |codebeat_dev| image:: https://codebeat.co/badges/256be541-3755-45f3-91ca-12f1257cd9a5\n :target: https://codebeat.co/projects/github-com-markusressel-sunix-ledstrip-controller-client-dev\n\n+--------------------+------------------+-----------------+\n| Master | Beta | Dev |\n+====================+==================+=================+\n| |build_master| | |build_beta| | |build_dev| |\n+--------------------+------------------+-----------------+\n| |codebeat_master| | |codebeat_beta| | |codebeat_dev| |\n+--------------------+------------------+-----------------+\n\n\nHow to use\n==========\n\nInstallation\n------------\n\n:code:`pip install sunix-ledstrip-controller-client`\n\nUsage\n-----\n\nFor a basic example have a look at the `example.py `_ file.\nIf you need more info have a look at the `documentation `_ which should help.\n\nBasic Example\n=============\n\nCreate the :code:`LEDStripControllerClient` object\n--------------------------------------------------\n\nThe first thing you need to communicate with any controller is the api client.\nCreate one like this:\n\n.. code-block:: python\n\n from sunix_ledstrip_controller_client import LEDStripControllerClient\n\n api = LEDStripControllerClient()\n\nThe next thing you need is a :code:`Controller` object that specifies the basics about your Sunix controller hardware.\nYou can either let the api search automatically for your controller using:\n\n.. code-block:: python\n\n devices = api.discover_controllers()\n\nor create one manually like this:\n\n.. code-block:: python\n\n from sunix_ledstrip_controller_client import Controller\n device = Controller(api, \"192.168.2.23\")\n\nor including a port if you want to access it from outside of your local network:\n\n.. code-block:: python\n\n device = Controller(api, \"my-dyndns-address.org\", 12345)\n\nNote that you have to supply an api object so the Controller can fetch is state.\n\nTurn it on!\n-----------\n\nNow you have all that is needed to control your device. It's time to turn it on and off!\nUse this method to turn it on:\n\n.. code-block:: python\n\n device.turn_on()\n\nand this to turn it off:\n\n.. code-block:: python\n\n device.turn_off()\n\nMake it a rainbow (changing colors)\n-----------------------------------\n\nNow to the fun part. The RGB values and the WW (warm white and cold white) value can be adjusted\nseparately (while keeping the other value) or both at the same time.\n\nAll values have a valid range of :code:`0` to :code:`255`.\n\nIf you only want to change the RGB values use:\n\n.. code-block:: python\n\n device.set_rgb(255, 255, 255)\n\nand this one if you only want to change the WW value:\n\n.. code-block:: python\n\n device.set_ww(255, 255)\n\nTo set both at the same time use (you guessed it):\n\n.. code-block:: python\n\n device.set_rgbww(255, 255, 255, 255, 255)\n\nFunctions\n---------\n\nThe official app for the Sunix controller offers 20 different functions that can be activated and customized in speed.\nThese functions are hardcoded in the controller so they can not be altered in any way.\nYou can activate them though using:\n\n.. code-block:: python\n\n from sunix_ledstrip_controller_client import FunctionId\n device.set_function(FunctionId.RED_GRADUAL_CHANGE, 240)\n\nFunction ids can be found in the :code:`FunctionId` enum class.\n\n**0 is slow - 255 is fast.**\n\nIn the network protocol the speed is actually reversed (0 is fast, 255 is slow) but I changed this for the sake of simplicity.\nYou should be aware though that the **speed curve seems to be exponential**. This means 255 is very fast but 240 is\nalready **a lot** slower.\n\nCustom Functions\n----------------\n\nAnother feature of the official app is to set a custom color loop with a custom transition and speed between the colors.\nSince v1.2.0 of this library you can set those too :)\n\nSimply have a look at the `example_custom_function.py `_ file\nfor a detailed example.\n\nSet/Get Time\n------------\n\nThe Sunix\u00ae controller has a build in clock to be able to execute timer actions.\nCurrently there is no way to get or set timers with this library.\nYou can however get and set the current time of the controller.\n\nTo get the currently set time use:\n\n.. code-block:: python\n\n time = device.get_time()\n\nNote that this might be :code:`None` though if you have never set a time for this controller before.\nTo set a new value use:\n\n.. code-block:: python\n\n dt = datetime.datetime.now()\n device.set_time(dt)\n\n\nAttributions\n============\n\nI want to give a huge shoutout to `Chris Mullins (alias sidoh) `_ and his\n`ledenet_api `_ library. Although the protocol used by the sunix controller\nis not exactly the same to the one used by the LEDENET Magic UFO controller it's quite similar and his work was a\ngreat starting point for me.\n\nContributing\n============\n\nGithub is for social coding: if you want to write code, I encourage contributions through pull requests from forks\nof this repository. Create Github tickets for bugs and new features and comment on the ones that you are interested in.\n\nLicense\n=======\n\n::\n\n sunix-ledstrip-controller-client by Markus Ressel\n Copyright (C) 2017 Markus Ressel\n\n This program is free software: you can redistribute it and/or modify\n it under the terms of the GNU General Public License as published by\n the Free Software Foundation, either version 3 of the License, or\n (at your option) any later version.\n\n This program is distributed in the hope that it will be useful,\n but WITHOUT ANY WARRANTY; without even the implied warranty of\n MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n GNU General Public License for more details.\n\n You should have received a copy of the GNU General Public License\n along with this program. If not, see .\n\n\n\n", "description_content_type": "text/x-rst", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/markusressel/sunix-ledstrip-controller-client", "keywords": "", "license": "GPLv3+", "maintainer": "", "maintainer_email": "", "name": "sunix-ledstrip-controller-client", "package_url": "https://pypi.org/project/sunix-ledstrip-controller-client/", "platform": "", "project_url": "https://pypi.org/project/sunix-ledstrip-controller-client/", "project_urls": { "Homepage": "https://github.com/markusressel/sunix-ledstrip-controller-client" }, "release_url": "https://pypi.org/project/sunix-ledstrip-controller-client/2.0.4/", "requires_dist": [ "construct", "typing ; python_version < \"3.5\"" ], "requires_python": "", "summary": "A library for controlling the Sunix RGB / RGBWWCW WiFi LED Strip controller", "version": "2.0.4" }, "last_serial": 4561299, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "93dc2e595c1c1df33cbb789b57a42485", "sha256": "edb1658b087628f44dddd37a1b370b545aea4630f3d875c3ed16c516f4b4b351" }, "downloads": -1, "filename": "sunix_ledstrip_controller_client-1.0.0-py2-none-any.whl", "has_sig": false, "md5_digest": "93dc2e595c1c1df33cbb789b57a42485", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 7972, "upload_time": "2017-04-02T18:03:35", "url": "https://files.pythonhosted.org/packages/2d/84/8b2f251c029f2df24d7aeab14529624bd575f83a827ba823ed351c576375/sunix_ledstrip_controller_client-1.0.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "a75717c04acd40537a0d281bf63f2e14", "sha256": "5d8f42ef2a1ef98612eb32431824ac4c7ef19463304cb70432d79b3e4f0983d3" }, "downloads": -1, "filename": "sunix_ledstrip_controller_client-1.0.0.tar.gz", "has_sig": false, "md5_digest": "a75717c04acd40537a0d281bf63f2e14", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6324, "upload_time": "2017-04-02T18:03:37", "url": "https://files.pythonhosted.org/packages/e6/e7/2f5f3f2cce412c5881651a46449e1d0536a5eccac90b2e343dffa7d7ada1/sunix_ledstrip_controller_client-1.0.0.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "f74418b2e0ad0db04bb4ae1a99e596fc", "sha256": "0ebe0a131027c92f20190b353cff1500a9041a04621da5459e72f1325733382e" }, "downloads": -1, "filename": "sunix_ledstrip_controller_client-1.1.0-py2-none-any.whl", "has_sig": false, "md5_digest": "f74418b2e0ad0db04bb4ae1a99e596fc", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 9806, "upload_time": "2017-11-17T00:36:15", "url": "https://files.pythonhosted.org/packages/33/6a/9de76af15a76baa8e2a912540609402fd5428f1284faf65976a9e19228be/sunix_ledstrip_controller_client-1.1.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "273e2180cd00f003c1bcb3ec39a8b820", "sha256": "2eaabcb8a0142240d0991fdb52c8cb419f32fcbaf3baf969c25f2ee2eb0b158a" }, "downloads": -1, "filename": "sunix_ledstrip_controller_client-1.1.0.zip", "has_sig": false, "md5_digest": "273e2180cd00f003c1bcb3ec39a8b820", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12977, "upload_time": "2017-04-04T14:51:25", "url": "https://files.pythonhosted.org/packages/57/e2/de5ab409e702cfcf64065574c0d0815c2316ad0552364b12a8860524f3e0/sunix_ledstrip_controller_client-1.1.0.zip" } ], "1.1.1": [ { "comment_text": "", "digests": { "md5": "18e4792c9802f2ae55c2c0001ca86b51", "sha256": "77cc3814d20ce209be5f760627c5a233c349edbdeca903b0164750a28590672b" }, "downloads": -1, "filename": "sunix_ledstrip_controller_client-1.1.1.tar.gz", "has_sig": false, "md5_digest": "18e4792c9802f2ae55c2c0001ca86b51", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7744, "upload_time": "2017-04-04T22:56:51", "url": "https://files.pythonhosted.org/packages/02/ee/aceb33497359eaf3d0bd82b0bc7e9cf41e7cee31d04d093474468d4f1adb/sunix_ledstrip_controller_client-1.1.1.tar.gz" } ], "1.2.0": [ { "comment_text": "", "digests": { "md5": "b1af9e066b84302feabc4a70aeffec69", "sha256": "3b61805cf228032b338d49a2820b7d9be386111b122000d09683160f3a58e795" }, "downloads": -1, "filename": "sunix_ledstrip_controller_client-1.2.0-py2-none-any.whl", "has_sig": false, "md5_digest": "b1af9e066b84302feabc4a70aeffec69", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 14123, "upload_time": "2017-11-17T00:36:16", "url": "https://files.pythonhosted.org/packages/9b/63/94503c439f6f2493c97551c95700b0d365748124c905568f2be58630528a/sunix_ledstrip_controller_client-1.2.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "38be99b91715a1d186ec98bbe720f7f4", "sha256": "4cf7e701b0f04026dfd712c54e2a0897d9d3be7f46c1d735f2e019960f132b70" }, "downloads": -1, "filename": "sunix_ledstrip_controller_client-1.2.0.zip", "has_sig": false, "md5_digest": "38be99b91715a1d186ec98bbe720f7f4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17959, "upload_time": "2017-11-17T00:36:17", "url": "https://files.pythonhosted.org/packages/62/e9/8f634f3d9cdaadea0aefe4b3256ab3501ccea60b3f5d6c222143d10af3cf/sunix_ledstrip_controller_client-1.2.0.zip" } ], "1.2.1": [ { "comment_text": "", "digests": { "md5": "924352f041c389ee800e4c6524b9d85c", "sha256": "b3bacbf2ae62a9603b214a3480a0b74c69c1f3227308ce4e40afcae541cc1ebc" }, "downloads": -1, "filename": "sunix_ledstrip_controller_client-1.2.1-py2-none-any.whl", "has_sig": false, "md5_digest": "924352f041c389ee800e4c6524b9d85c", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 14165, "upload_time": "2017-11-23T18:05:18", "url": "https://files.pythonhosted.org/packages/65/83/1163790e48c5b7a2711f490806beb99c251481b72bff82470a8a669f7978/sunix_ledstrip_controller_client-1.2.1-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "f4af56e9ad9ca0d51e7cbd2dd237878b", "sha256": "6ceaa1182afb920ebd7a1a1210235707d3ceca7d2bd6abe1a9a9177c08b73832" }, "downloads": -1, "filename": "sunix_ledstrip_controller_client-1.2.1.zip", "has_sig": false, "md5_digest": "f4af56e9ad9ca0d51e7cbd2dd237878b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18325, "upload_time": "2017-11-23T18:05:20", "url": "https://files.pythonhosted.org/packages/2f/12/6f7ef931929eda7896c1cbd644e67359011cd6790d50d107d4624827ebc7/sunix_ledstrip_controller_client-1.2.1.zip" } ], "1.2.2": [ { "comment_text": "", "digests": { "md5": "51291b283116f39d7d27b9adffc9bf53", "sha256": "efb0d6d4d19b7523f9f8f11b3c4c67299402f8aaa8d8c449d19b859c126e509e" }, "downloads": -1, "filename": "sunix_ledstrip_controller_client-1.2.2-py3-none-any.whl", "has_sig": false, "md5_digest": "51291b283116f39d7d27b9adffc9bf53", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 14195, "upload_time": "2017-11-27T20:33:41", "url": "https://files.pythonhosted.org/packages/c9/b8/953d1792c08345b19159e9b9bbfffc0b76df33285855e938177ae8525777/sunix_ledstrip_controller_client-1.2.2-py3-none-any.whl" } ], "2.0.0": [ { "comment_text": "", "digests": { "md5": "a5e0cf5f1bcfd7a274edd9b3f9b63193", "sha256": "55957415b5138453e584dd7a13dfe38df4d990f37b862c38920cf9eda2882d98" }, "downloads": -1, "filename": "sunix_ledstrip_controller_client-2.0.0-py3-none-any.whl", "has_sig": false, "md5_digest": "a5e0cf5f1bcfd7a274edd9b3f9b63193", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 15317, "upload_time": "2017-12-03T04:40:15", "url": "https://files.pythonhosted.org/packages/69/ad/5e336cd51dd634e6db23c57e69ced9218c3a589732152656d10f39e80425/sunix_ledstrip_controller_client-2.0.0-py3-none-any.whl" } ], "2.0.1": [ { "comment_text": "", "digests": { "md5": "efe5f790f635e552ac0fc67a81b03034", "sha256": "dd58e1ecf3e67c38ca79809397e123bfe018a8d4f0903611e43c2f96e05fba51" }, "downloads": -1, "filename": "sunix_ledstrip_controller_client-2.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "efe5f790f635e552ac0fc67a81b03034", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 18946, "upload_time": "2018-07-13T18:00:17", "url": "https://files.pythonhosted.org/packages/03/15/919fc5081752244b7ac76563c58e164bd4576729d3ee0b61a7594e741ce1/sunix_ledstrip_controller_client-2.0.1-py3-none-any.whl" } ], "2.0.2": [ { "comment_text": "", "digests": { "md5": "64d2369a73cb8f85d5460e20f2d5fdd9", "sha256": "9ae021e763f61bdb4ae870f2ff32cd48adf7fa35a8e8c4968505580a11f8cfe5" }, "downloads": -1, "filename": "sunix_ledstrip_controller_client-2.0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "64d2369a73cb8f85d5460e20f2d5fdd9", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 19305, "upload_time": "2018-07-30T09:02:57", "url": "https://files.pythonhosted.org/packages/6d/bf/25c0af5af8bac1c9a234462fc641c83b456ed8d686bede94feb01699e9a6/sunix_ledstrip_controller_client-2.0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "187177a0332108648a98314b8247a112", "sha256": "3296531b641869d8e77cab9c43b455ac94ae2ce9128a722834b9c7c59ae158f3" }, "downloads": -1, "filename": "sunix_ledstrip_controller_client-2.0.2.win-amd64.zip", "has_sig": false, "md5_digest": "187177a0332108648a98314b8247a112", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 45374, "upload_time": "2018-07-30T09:02:58", "url": "https://files.pythonhosted.org/packages/f8/25/a0a3c2a8d753401d20e3b97915cfaac33d5430ff284fe0c8be0a8dff2fd8/sunix_ledstrip_controller_client-2.0.2.win-amd64.zip" } ], "2.0.3": [ { "comment_text": "", "digests": { "md5": "cae3710193aa922ab7d3cadcd23d86cc", "sha256": "6917762e98ba3ab1a251e0784b7ce8b21ff94bc79eb32fad9fd9f8f8497390cf" }, "downloads": -1, "filename": "sunix_ledstrip_controller_client-2.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "cae3710193aa922ab7d3cadcd23d86cc", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 19416, "upload_time": "2018-09-12T18:48:22", "url": "https://files.pythonhosted.org/packages/a0/55/ed9c7bae80889a6b96d33cdda771648196e22e08ae5157152caafe75e056/sunix_ledstrip_controller_client-2.0.3-py3-none-any.whl" } ], "2.0.4": [ { "comment_text": "", "digests": { "md5": "07605fc91569e3f3a9d325d948e1b935", "sha256": "1cfc753a3b878b7b3bbdbb7c226e81c8e206232c44ea2b75458fff6afabf680b" }, "downloads": -1, "filename": "sunix_ledstrip_controller_client-2.0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "07605fc91569e3f3a9d325d948e1b935", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 31854, "upload_time": "2018-12-04T21:54:25", "url": "https://files.pythonhosted.org/packages/7d/c3/8b77280b336dafb0492614158c7b747de33de1bd2050a25dea96e7f71b09/sunix_ledstrip_controller_client-2.0.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "125c8c827cc4d793d4fb3d4d8f0fce4e", "sha256": "38c40b70b38ef1a2deb9f0555117af9b9262a9fa33b4ca0db126731dc34f7743" }, "downloads": -1, "filename": "sunix_ledstrip_controller_client-2.0.4.tar.gz", "has_sig": false, "md5_digest": "125c8c827cc4d793d4fb3d4d8f0fce4e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17559, "upload_time": "2018-12-04T21:54:27", "url": "https://files.pythonhosted.org/packages/9a/c6/5f4299d767e40d65ac4e56b9e8b6ef8400a629349ac66b389ed9cf4779b3/sunix_ledstrip_controller_client-2.0.4.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "07605fc91569e3f3a9d325d948e1b935", "sha256": "1cfc753a3b878b7b3bbdbb7c226e81c8e206232c44ea2b75458fff6afabf680b" }, "downloads": -1, "filename": "sunix_ledstrip_controller_client-2.0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "07605fc91569e3f3a9d325d948e1b935", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 31854, "upload_time": "2018-12-04T21:54:25", "url": "https://files.pythonhosted.org/packages/7d/c3/8b77280b336dafb0492614158c7b747de33de1bd2050a25dea96e7f71b09/sunix_ledstrip_controller_client-2.0.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "125c8c827cc4d793d4fb3d4d8f0fce4e", "sha256": "38c40b70b38ef1a2deb9f0555117af9b9262a9fa33b4ca0db126731dc34f7743" }, "downloads": -1, "filename": "sunix_ledstrip_controller_client-2.0.4.tar.gz", "has_sig": false, "md5_digest": "125c8c827cc4d793d4fb3d4d8f0fce4e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 17559, "upload_time": "2018-12-04T21:54:27", "url": "https://files.pythonhosted.org/packages/9a/c6/5f4299d767e40d65ac4e56b9e8b6ef8400a629349ac66b389ed9cf4779b3/sunix_ledstrip_controller_client-2.0.4.tar.gz" } ] }