{ "info": { "author": "Tobias Gawron-Deutsch", "author_email": "tobias@strix.at", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Console", "Environment :: No Input/Output (Daemon)", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3", "Topic :: Home Automation", "Topic :: Utilities" ], "description": "\u0395\u1f50\u03c1\u03c5\u03b4\u03af\u03ba\u03b7/Eurydike\n[`wiki `__]\nis a simple event detection. Reacts to above-threshold, below-threshold,\nand outside value-band.\n\n.. figure:: img/Microservice%20Overview.png\n :alt: Pelops Overview\n\n Pelops Overview\n\n``Eurydike`` is part of the collection of mqtt based microservices\n`pelops `__. An overview on the microservice\narchitecture and examples can be found at\n(http://gitlab.com/pelops/pelops).\n\nFor Users\n=========\n\nInstallation Core-Functionality\n-------------------------------\n\nPrerequisites for the core functionality are:\n\n::\n\n sudo apt install python3 python3-pip\n sudo pip3 install paho-mqtt pyyaml pelops\n\nInstall via pip:\n\n::\n\n sudo pip3 install eurydike\n\nTo update to the latest version add ``--upgrade`` as prefix to the\n``pip3`` line above.\n\nInstall via gitlab (might need additional packages):\n\n::\n\n git clone git@gitlab.com:pelops/eurydike.git\n cd eurydike\n sudo python3 setup.py install\n\nThis will install the following shell scripts: \\* ``eurydike``\n\nThe script cli arguments are: \\* '-c'/'--config' - config file\n(mandatory) \\* '-v' - verbose output (optional) \\* '--version' - show\nthe version number and exit\n\nYAML-Config\n-----------\n\nA yaml [1]_ file must contain four root blocks: \\* mqtt - mqtt-address,\nmqtt-port, and path to credentials file credentials-file (a file\nconsisting of two entries: mqtt-user, mqtt-password) \\* logger - which\nlog level and which file to be used \\* eventdetectors - parameters for\nthe controller and the embedded pid\n\n::\n\n mqtt:\n mqtt-address: localhost\n mqtt-port: 1883\n credentials-file: ~/credentials.yaml\n log-level: INFO\n\n logger:\n log-level: DEBUG # DEBUG, INFO, WARNING, ERROR, CRITICAL\n log-file: test_eurydike.log\n\n eventdetectors:\n - name: above # unqiue name for event detector\n type: onthreshold # detector type identifier\n comparator: gt # GREATERTHAN/GT/>, LOWERTHAN/LT/<, EQUALTO/==\n threshold: 7 # threshold in combintation with comparator and value from topic-sub\n topic-sub: /test/value\n topic-pub: /test/above\n responses: # leave value empty or remove line for no response\n # on-violation: event_detected # on detection of a threshold violation send this value to topic-pub\n on-restoration: event_ended # on the event of returning to valid values send this value to topic-pub\n active: False # entry ignored if set to False\n\n - name: below # unqiue name for event detector\n type: onthreshold # detector type identifier\n comparator: lowerthan # GREATERTHAN/GT/>, LOWERTHAN/LT/<, EQUALTO/==\n threshold: 7 # threshold in combintation with comparator and value from topic-sub\n topic-sub: /test/value\n topic-pub: /test/below\n responses: # leave value empty or remove line for no response\n on-violation: event_detected # on detection of a threshold violation send this value to topic-pub\n on-restoration: event_ended # on the event of returning to valid values send this value to topic-pub\n active: True # entry ignored if set to False\n\n - name: equal # unqiue name for event detector\n type: onthreshold # detector type identifier\n comparator: == # GREATERTHAN/GT/>, LOWERTHAN/LT/<, EQUALTO/==\n threshold: 7 # threshold in combintation with comparator and value from topic-sub\n topic-sub: /test/value\n topic-pub: /test/equal\n responses: # leave value empty or remove line for no response\n on-violation: event_detected # on detection of a threshold violation send this value to topic-pub\n on-restoration: # on the event of returning to valid values send this value to topic-pub\n active: False # entry ignored if set to False\n\n - name: outside # unqiue name for event detector\n type: onband # detector type identifier\n upper-threshold: 8 # upper threshold for on band detection\n lower-threshold: 7 # lower threshold for on band detection\n topic-sub: /test/value\n topic-pub: /test/band\n responses: # leave value empty or remove line for no response\n on-violation: event_detected # on detection of a threshold violation send this value to topic-pub\n on-restoration: event_ended # on the event of returning to valid values send this value to topic-pub\n active: True # entry ignored if set to False\n\nsystemd\n-------\n\n- add systemd example.\n\nFor Developers\n==============\n\nGetting Started\n---------------\n\nThe project consists of two main modules:\n\n- ``eventdetectionmanager`` - manages all configured event detectors\n- ``abstracteventdetector`` - base class for all event detectors\n\nTodos\n-----\n\n- ... ?\n\nMisc\n----\n\nThe code is written for ``python3`` (and tested with python 3.5 on an\nRaspberry Pi Zero with Raspbian Stretch).\n\n`Merge requests `__ /\n`bug reports `__ are always\nwelcome.\n\n.. [1]\n Currently, pyyaml is yaml 1.1 compliant. In pyyaml On/Off and Yes/No\n are automatically converted to True/False. This is an unwanted\n behavior and deprecated in yaml 1.2. In copreus this autoconversion\n is removed. Thus, On/Off and Yes/No are read from the yaml file as\n strings (see module baseclasses.myconfigtools).\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://gitlab.com/pelops/eurydike/", "keywords": "mqtt device driver rpi raspberry pi", "license": "MIT license", "maintainer": "", "maintainer_email": "", "name": "Eurydike", "package_url": "https://pypi.org/project/Eurydike/", "platform": "", "project_url": "https://pypi.org/project/Eurydike/", "project_urls": { "Homepage": "https://gitlab.com/pelops/eurydike/" }, "release_url": "https://pypi.org/project/Eurydike/0.1.8/", "requires_dist": null, "requires_python": "", "summary": "Eurydike is a simple event detection. Reacts to above-threshold, below-thershold, and outside value-band.", "version": "0.1.8" }, "last_serial": 5110864, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "106bdbb3e274148407693184861478e8", "sha256": "3a2dceb59fb7d3854a3fc8062d68a275bb3b7c65a1b4a96a757425c8db3deda7" }, "downloads": -1, "filename": "Eurydike-0.1.tar.gz", "has_sig": false, "md5_digest": "106bdbb3e274148407693184861478e8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9402, "upload_time": "2018-05-26T21:44:51", "url": "https://files.pythonhosted.org/packages/57/98/044f83b0e94952ee5925c9e58359d68042a5261e6d984cc32679c1bfc0cf/Eurydike-0.1.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "1fe25910cc481762988b165911a1ee72", "sha256": "686765a7cd3c6283408c55aaa68b327acfa955e32da7504c4986d8ef405cbd76" }, "downloads": -1, "filename": "Eurydike-0.1.1-py3.5.egg", "has_sig": false, "md5_digest": "1fe25910cc481762988b165911a1ee72", "packagetype": "bdist_egg", "python_version": "3.5", "requires_python": null, "size": 34461, "upload_time": "2018-06-07T21:30:20", "url": "https://files.pythonhosted.org/packages/39/6a/705462284c5028051770729d804acbd7b9fe50cb7a1a8be908d27f3e462f/Eurydike-0.1.1-py3.5.egg" }, { "comment_text": "", "digests": { "md5": "00305302cad204ebe36e454d0c07a87b", "sha256": "e1a2fe520525933482e75823a241dcde15979370cc24023c717b72c434623a81" }, "downloads": -1, "filename": "Eurydike-0.1.1.tar.gz", "has_sig": false, "md5_digest": "00305302cad204ebe36e454d0c07a87b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9953, "upload_time": "2018-06-07T21:30:18", "url": "https://files.pythonhosted.org/packages/8e/2a/428b6381cd94e241343ae9a4c141c60b0ad55c8a0771e43fa10a38e743b6/Eurydike-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "e9adcfdb1d3c9b7c62ed35f96ed088af", "sha256": "6e830e81bd8b01f47da3073abecd9999f90e6fe5968abbc086e5bb67b19a9b0d" }, "downloads": -1, "filename": "Eurydike-0.1.2-py3.5.egg", "has_sig": false, "md5_digest": "e9adcfdb1d3c9b7c62ed35f96ed088af", "packagetype": "bdist_egg", "python_version": "3.5", "requires_python": null, "size": 34623, "upload_time": "2018-06-07T21:32:52", "url": "https://files.pythonhosted.org/packages/a8/55/990740870cc231faf550c445476f83a778eea889118b122b4ba04fa65990/Eurydike-0.1.2-py3.5.egg" }, { "comment_text": "", "digests": { "md5": "3d3bd1e2720d4a9e0feaa2b669fb978d", "sha256": "1304849395cfa437b40a79505b0b5d7e4ac893f698b4105e5395ea18861b4ab5" }, "downloads": -1, "filename": "Eurydike-0.1.2.tar.gz", "has_sig": false, "md5_digest": "3d3bd1e2720d4a9e0feaa2b669fb978d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9994, "upload_time": "2018-06-07T21:32:50", "url": "https://files.pythonhosted.org/packages/6e/84/15c8fbad7530b15ba8ea6bc0aa1abff825870db415d0b2486f4a2594c916/Eurydike-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "349fa8a5e6317a6b166fa7b738af7b92", "sha256": "8d6b9f617faaecd259bdd5189ad57afaeafe58a816533d04ae763a2590ccc47d" }, "downloads": -1, "filename": "Eurydike-0.1.3.tar.gz", "has_sig": false, "md5_digest": "349fa8a5e6317a6b166fa7b738af7b92", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9618, "upload_time": "2018-08-08T21:07:19", "url": "https://files.pythonhosted.org/packages/b9/f5/8053b85c3fddc1a2a8ec813ee949c067a4a436015d0cf31dbe9d425194a1/Eurydike-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "b18d4ca2aa1d3cdf39118c4df2cc595f", "sha256": "dd976e8e9c1423faa984c65823882919a4bd538c2098eeb3eed1fdd73b13569d" }, "downloads": -1, "filename": "Eurydike-0.1.4.tar.gz", "has_sig": false, "md5_digest": "b18d4ca2aa1d3cdf39118c4df2cc595f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9768, "upload_time": "2018-11-22T20:31:28", "url": "https://files.pythonhosted.org/packages/e4/46/872559d9b815a69f3211dd29ffb58f1c37ba9be47744e90ce40f39813fb5/Eurydike-0.1.4.tar.gz" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "08f9fdbdcad23c636a68b00aa259a72d", "sha256": "2d27ef2d178c812d148697c7a71c01177106d113fb2626b2afa69801868e2b26" }, "downloads": -1, "filename": "Eurydike-0.1.5.tar.gz", "has_sig": false, "md5_digest": "08f9fdbdcad23c636a68b00aa259a72d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9907, "upload_time": "2019-03-09T22:43:17", "url": "https://files.pythonhosted.org/packages/08/95/a41feb16a6fa0e257b659978e85c60b48648712edcb4a28c782e222feacf/Eurydike-0.1.5.tar.gz" } ], "0.1.6": [ { "comment_text": "", "digests": { "md5": "e110304b7a0cca3e53654caab6a98f3b", "sha256": "ebd1216564c997b9437b15d5d1b5793ef8ea69eb3bc1aa6e0f6bf961eba4c563" }, "downloads": -1, "filename": "Eurydike-0.1.6.tar.gz", "has_sig": false, "md5_digest": "e110304b7a0cca3e53654caab6a98f3b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9996, "upload_time": "2019-03-09T22:45:02", "url": "https://files.pythonhosted.org/packages/8b/d9/0fbe008100071a66f1012bfcd8f4f2a4b193b52f786dc1126d6329956cb3/Eurydike-0.1.6.tar.gz" } ], "0.1.7": [ { "comment_text": "", "digests": { "md5": "3e563c774d37b57be0545bd2c1bfa149", "sha256": "85e06e73a9b7d855abdec9d19293f7f8fd3e34d5377e6c5c362e8e465a05057e" }, "downloads": -1, "filename": "Eurydike-0.1.7.tar.gz", "has_sig": false, "md5_digest": "3e563c774d37b57be0545bd2c1bfa149", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10011, "upload_time": "2019-04-04T21:31:53", "url": "https://files.pythonhosted.org/packages/61/e0/be2c4f2502cc90de79e226a8ab87332bf4c0827009db9b33c30b7ad645e7/Eurydike-0.1.7.tar.gz" } ], "0.1.8": [ { "comment_text": "", "digests": { "md5": "ec87e13e6903d6df9e3fb47202c1a2a5", "sha256": "4e35012d8028dba6f818702fcde8bc14dbc055e75472253bc72320584ab48918" }, "downloads": -1, "filename": "Eurydike-0.1.8.tar.gz", "has_sig": false, "md5_digest": "ec87e13e6903d6df9e3fb47202c1a2a5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10030, "upload_time": "2019-04-07T20:17:30", "url": "https://files.pythonhosted.org/packages/68/4f/d3e836174c93c96ed22cd523605822fee50060774af8c33099380087b3b7/Eurydike-0.1.8.tar.gz" } ], "0.1a0": [ { "comment_text": "", "digests": { "md5": "7e01ced4dcdb8ce2574cfbfc7e2954da", "sha256": "46faf02020f4950125cdb830c1b1181570071b0a3f6bf0c1cf716dc1b041d179" }, "downloads": -1, "filename": "eurydike-0.1a0.tar.gz", "has_sig": false, "md5_digest": "7e01ced4dcdb8ce2574cfbfc7e2954da", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 1432, "upload_time": "2018-04-09T21:02:48", "url": "https://files.pythonhosted.org/packages/1b/f0/9b206d398e48d01eb6280efd6ed4b62b27df05ad80bba4df416d4ab444b3/eurydike-0.1a0.tar.gz" } ], "0.1a1": [ { "comment_text": "", "digests": { "md5": "189cf019f59c9caa596bdbc885b044fb", "sha256": "af555dcb739dadde34dd49cad45a133e5096e167882fc43d3a6ce8891033e4fe" }, "downloads": -1, "filename": "Eurydike-0.1a1.tar.gz", "has_sig": false, "md5_digest": "189cf019f59c9caa596bdbc885b044fb", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5874, "upload_time": "2018-05-07T21:59:02", "url": "https://files.pythonhosted.org/packages/f4/39/c7e6ec505829d348c90c3a26f096e9c495a009e98a6c59605332c161e115/Eurydike-0.1a1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "ec87e13e6903d6df9e3fb47202c1a2a5", "sha256": "4e35012d8028dba6f818702fcde8bc14dbc055e75472253bc72320584ab48918" }, "downloads": -1, "filename": "Eurydike-0.1.8.tar.gz", "has_sig": false, "md5_digest": "ec87e13e6903d6df9e3fb47202c1a2a5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 10030, "upload_time": "2019-04-07T20:17:30", "url": "https://files.pythonhosted.org/packages/68/4f/d3e836174c93c96ed22cd523605822fee50060774af8c33099380087b3b7/Eurydike-0.1.8.tar.gz" } ] }