{ "info": { "author": "Bartosz Ko\u015bci\u00f3w", "author_email": "kosci1@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Console", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Natural Language :: English", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 3", "Topic :: Home Automation", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "#IOT:1\n\nMy custom protocol for communication between devices at home. \nIt uses UPD and broadcast. \nMessages are json strings.\n\n## Message body:\n\n.. code-block::\n\n {\n \"protocol\": \"iot:1\",\n \"node\": \"Rpi-lcd-1\",\n \"chip_id\": \"RpiB\",\n \"event\": \"lcd.content\",\n \"parameters: [\n \"content\": \"-(=^.^)\"\n ],\n \"response\": '',\n \"targets\": [\n \"nodemcu-lcd-40x4\"\n ]\n }\n\n\n- protocol: defines name, currently iot:1\n- node: friendly node name like light-room-big or screen-one-kitchen\n- chip_id: a unique device id\n- event: event name like light.on or display\n- parameters: array of parameters. like rows to display\n- response: used when responding to request, ie returning toilet state\n- targets: message targets node with this names. special keyword ALL for all nodes in network\n\n## set node name or/and chip_id\n\n.. code-block::\n\n Message.chip_id = 'miau'\n Message.node_name = 'miau_too'\n\n### Message()\n\nCreate new instance. It is automatically filled with chip_id and node_name if not set\n\n### Message(string_message)\n\nCreates message and fills with received data\n\n.. code-block::\n\n input = \"\"\"{\"protocol\": \"iot:1\", \"node\": \"node_name\", \"chip_id\": \"aaa\", \"event\": \"channel.on\", \"parameters\": {\"channel\": 0}, \"response\": \"\", \"targets\": [\"node-north\"]}\"\"\"\n msg = factory.MessageFactory.create(input)\n\n## functions\n\n### set(dictionary)\n\n.. code-block::\n\n msg = message.Message()\n msg.set({\n 'event': 'event.test',\n 'parameters': {\n 'is_x': '1'\n }\n })\n\nFills message with params.\n\n### send message\n\n.. code-block::\n\n s.sendto(bytes(msg), address)\n\n### get value\n\n.. code-block::\n\n msg = message.Message()\n msg.set({\n 'event': 'event.test',\n 'parameters': {\n 'is_x': '1'\n }\n })\n\n print(msg['event'])\n\n\n### AES encryptor\n\n\nUses AES-CBC with hmac signing.\nrequire: pip install pycryptodome\n\nCryptor takes four parameters:\n\n.. code-block::\n\n def __init__(self, staticiv, ivkey, datakey, passphrase):\n self.staticiv = staticiv\n self.ivkey = ivkey\n self.datakey = datakey\n self.passphrase = passphrase\n\nUsage:\n\n.. code-block::\n\n from iot_message.cryptor.aes_sha1 import Cryptor as AES\n\n Message.add_decoder(AES(\n 'abcdef2345678901', '2345678901abcdef', '0123456789abcdef', 'mypassphrase'\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/bkosciow/python_iot-1", "keywords": "iot:1", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "iot-message", "package_url": "https://pypi.org/project/iot-message/", "platform": "", "project_url": "https://pypi.org/project/iot-message/", "project_urls": { "Homepage": "https://github.com/bkosciow/python_iot-1" }, "release_url": "https://pypi.org/project/iot-message/1.2.1/", "requires_dist": null, "requires_python": "", "summary": "Custom iot:1 protocol", "version": "1.2.1", "yanked": false, "yanked_reason": null }, "last_serial": 6038043, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "9e72a74ee0f24ff798a7121734601633", "sha256": "55d7ecee3e337297035a4acbbcdce334526809446c38bbf29d1a739308a807ae" }, "downloads": -1, "filename": "iot_message-0.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "9e72a74ee0f24ff798a7121734601633", "packagetype": "bdist_wheel", "python_version": "3.4", "requires_python": null, "size": 5241, "upload_time": "2017-01-15T20:03:35", "upload_time_iso_8601": "2017-01-15T20:03:35.753860Z", "url": "https://files.pythonhosted.org/packages/43/c7/d24a0a563b430f81effb70b5a099a03832b2ba8b8bfe9519e449e2da841a/iot_message-0.1.0-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "d62a6dc6ec2b95cce12f8b1c2d08f0cf", "sha256": "a6d5f650ff2e7449c2fd45a0fd7011ba7cc6679b103bc13ead84c5b24e5b4493" }, "downloads": -1, "filename": "iot_message-0.1.0.tar.gz", "has_sig": false, "md5_digest": "d62a6dc6ec2b95cce12f8b1c2d08f0cf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2897, "upload_time": "2017-01-15T20:03:18", "upload_time_iso_8601": "2017-01-15T20:03:18.182912Z", "url": "https://files.pythonhosted.org/packages/f5/1f/cddc4e607140b75ba6dd053cae1b353e277bbaf8b199e0b331e464ab71d4/iot_message-0.1.0.tar.gz", "yanked": false, "yanked_reason": null } ], "1.0.0": [ { "comment_text": "", "digests": { "md5": "e8ac7681d70fba265e5e5779adea3583", "sha256": "2193d35e7bf3ea35b33f1c263d7ce5907dfa0105fd8bc1ebafc4759f05756475" }, "downloads": -1, "filename": "iot_message-1.0.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "e8ac7681d70fba265e5e5779adea3583", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 6059, "upload_time": "2019-09-02T15:58:53", "upload_time_iso_8601": "2019-09-02T15:58:53.008842Z", "url": "https://files.pythonhosted.org/packages/10/b1/7e557b2c3380cd3ffd1731069e42f4754c91957eb2e36c293f25569f7219/iot_message-1.0.0-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "6b123154cd8c13e3f561742a513e97f4", "sha256": "d485c99c2efb12ed2296fad4e4de2ad8d72fc33e43a0f8b6d9fbe2a78f2568df" }, "downloads": -1, "filename": "iot_message-1.0.0.tar.gz", "has_sig": false, "md5_digest": "6b123154cd8c13e3f561742a513e97f4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3738, "upload_time": "2019-09-02T15:58:54", "upload_time_iso_8601": "2019-09-02T15:58:54.654476Z", "url": "https://files.pythonhosted.org/packages/f2/56/e622ba3b4085f8b8ec791990d5358556ce5e7bc70c89c4ea97ba89be882e/iot_message-1.0.0.tar.gz", "yanked": false, "yanked_reason": null } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "e84a0dcf00ee7ee474b9cc342e53250b", "sha256": "92cccbcbfb7c8cab1fc31c7c61151b9737856c66a4c00b2865b7068af980d7cf" }, "downloads": -1, "filename": "iot_message-1.0.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "e84a0dcf00ee7ee474b9cc342e53250b", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 6068, "upload_time": "2019-09-06T19:07:26", "upload_time_iso_8601": "2019-09-06T19:07:26.150494Z", "url": "https://files.pythonhosted.org/packages/db/3f/08e202babe5ab2d7dae00e174bb79e510e9646673258f2e6fc5148f00bbb/iot_message-1.0.1-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "e02aca004dc8843735e16af2450f7373", "sha256": "a85ec9bc9c5ccbc1828f08ab5a81d5e7871e9bd9b5ba096db98bc1bd52698d36" }, "downloads": -1, "filename": "iot_message-1.0.1.tar.gz", "has_sig": false, "md5_digest": "e02aca004dc8843735e16af2450f7373", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3763, "upload_time": "2019-09-06T19:07:29", "upload_time_iso_8601": "2019-09-06T19:07:29.412138Z", "url": "https://files.pythonhosted.org/packages/4d/02/88ad509861a3cf76f4af5e5bdff62fc3211f65f31b6cb732ac245ad9ccac/iot_message-1.0.1.tar.gz", "yanked": false, "yanked_reason": null } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "59c793ab356358d806f0f526c6e0d73d", "sha256": "be8c1475bdd2557fa5dc13538c70ec5824f0772f9ff4032edf96769e88b2e1f6" }, "downloads": -1, "filename": "iot_message-1.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "59c793ab356358d806f0f526c6e0d73d", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 6401, "upload_time": "2019-09-07T15:27:48", "upload_time_iso_8601": "2019-09-07T15:27:48.066887Z", "url": "https://files.pythonhosted.org/packages/79/00/adb27f9d0023d946e930bd349e28a1abf47cd9c2fce6b5699d693cc8ec3e/iot_message-1.1.0-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "ee9f3e65067c43f62f6c7a62f5cec7bb", "sha256": "348c76ed98b90057bb28f6e7aed22f983559e25c2c3952ca16340e7a243e4b31" }, "downloads": -1, "filename": "iot_message-1.1.0.tar.gz", "has_sig": false, "md5_digest": "ee9f3e65067c43f62f6c7a62f5cec7bb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3915, "upload_time": "2019-09-07T15:27:51", "upload_time_iso_8601": "2019-09-07T15:27:51.427266Z", "url": "https://files.pythonhosted.org/packages/cb/d0/74eeaeed92ff417b0dcf5959b8e48ce2f07cc1956ac7e35032268f50be86/iot_message-1.1.0.tar.gz", "yanked": false, "yanked_reason": null } ], "1.2.0": [ { "comment_text": "", "digests": { "md5": "28664bb474e627a076557a1948964634", "sha256": "7bb1dfa5fc4bd7de335b89f5213d05ce93236c792ef720f629aa02f28cea13c4" }, "downloads": -1, "filename": "iot_message-1.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "28664bb474e627a076557a1948964634", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 8547, "upload_time": "2019-09-20T19:05:05", "upload_time_iso_8601": "2019-09-20T19:05:05.702630Z", "url": "https://files.pythonhosted.org/packages/a7/49/958abbdd29135218bf5d77a6d4a0fd19f25dfdb5ab05d72217c306d96d9e/iot_message-1.2.0-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "cf7215b4de7757cf06d20a114429481f", "sha256": "c6ce9bb259c8ce84daca201ff294fa574fad050fd35fc2090ee5c4a997e49a75" }, "downloads": -1, "filename": "iot_message-1.2.0.tar.gz", "has_sig": false, "md5_digest": "cf7215b4de7757cf06d20a114429481f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5233, "upload_time": "2019-09-20T19:05:07", "upload_time_iso_8601": "2019-09-20T19:05:07.476339Z", "url": "https://files.pythonhosted.org/packages/07/8a/450f34c7eb2d7d460a7164a1a996df959bd44a7db75c5397202f6f22b8a8/iot_message-1.2.0.tar.gz", "yanked": false, "yanked_reason": null } ], "1.2.1": [ { "comment_text": "", "digests": { "md5": "d622cba730d492ce70f29d139036ddf3", "sha256": "e3bc7f206ac869789e27cfd49a9eeee8878109f4908c4c87a87194b4250b02aa" }, "downloads": -1, "filename": "iot_message-1.2.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "d622cba730d492ce70f29d139036ddf3", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 8590, "upload_time": "2019-10-27T19:07:25", "upload_time_iso_8601": "2019-10-27T19:07:25.923355Z", "url": "https://files.pythonhosted.org/packages/ee/11/0a6cf368fca9f15fb76139d3c910fc1023e87c6d7e503be9d0a3b3cd16ea/iot_message-1.2.1-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "9a17a574e3028b48d645055074ddf603", "sha256": "058bd111a04cf54b746d2ed2b8a5226afa3fc1e983ccd9306b96de884ce27d9e" }, "downloads": -1, "filename": "iot_message-1.2.1.tar.gz", "has_sig": false, "md5_digest": "9a17a574e3028b48d645055074ddf603", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4826, "upload_time": "2019-10-27T19:07:27", "upload_time_iso_8601": "2019-10-27T19:07:27.925593Z", "url": "https://files.pythonhosted.org/packages/d4/37/5683e0c93244085658ce793f52efce37c05552466006f1254f8fa3c8a049/iot_message-1.2.1.tar.gz", "yanked": false, "yanked_reason": null } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "d622cba730d492ce70f29d139036ddf3", "sha256": "e3bc7f206ac869789e27cfd49a9eeee8878109f4908c4c87a87194b4250b02aa" }, "downloads": -1, "filename": "iot_message-1.2.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "d622cba730d492ce70f29d139036ddf3", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 8590, "upload_time": "2019-10-27T19:07:25", "upload_time_iso_8601": "2019-10-27T19:07:25.923355Z", "url": "https://files.pythonhosted.org/packages/ee/11/0a6cf368fca9f15fb76139d3c910fc1023e87c6d7e503be9d0a3b3cd16ea/iot_message-1.2.1-py2.py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "9a17a574e3028b48d645055074ddf603", "sha256": "058bd111a04cf54b746d2ed2b8a5226afa3fc1e983ccd9306b96de884ce27d9e" }, "downloads": -1, "filename": "iot_message-1.2.1.tar.gz", "has_sig": false, "md5_digest": "9a17a574e3028b48d645055074ddf603", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4826, "upload_time": "2019-10-27T19:07:27", "upload_time_iso_8601": "2019-10-27T19:07:27.925593Z", "url": "https://files.pythonhosted.org/packages/d4/37/5683e0c93244085658ce793f52efce37c05552466006f1254f8fa3c8a049/iot_message-1.2.1.tar.gz", "yanked": false, "yanked_reason": null } ], "vulnerabilities": [] }