{ "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": "\u1f18\u03c0\u03af\u03b4\u03b1\u03c5\u03c1\u03bf\u03c2 [1]_ is a PID based room temperature controller - to be used\nin combination with pelops/copreus, pelops/argaeus and pelops/alcathous.\n\n.. figure:: img/Microservice%20Overview.png\n :alt: Pelops Overview\n\n Pelops Overview\n\n``Epidaurus`` 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 epidaurus\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/epidaurus.git\n cd epidaurus\n sudo python3 setup.py install\n\nThis will install the following shell scripts: \\* ``epidaurus``\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 [2]_ 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 \\* controller - parameters for the\ncontroller 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_epidaurus.log\n \n controller:\n value-idle: 4.5 # idle mode output - heating system does nothing\n value-min: 5 # minimum output for active (=heating) system\n value-max: 23 # maximum value for heater\n pid-max-output: 500 # for normalization purposes. this is the expected maximum output of the pid controller\n idle-mode-threshold: 0.75 # if temperature is this value above set-point, set output to volt-idle value.\n topics-sub:\n set-point: /test/thermostat/set-point # receive new set point via this topic\n input: /test/thermostat/input # receive input (=temperature) updates via this topic\n topics-pub:\n output: /test/thermostat/output # publish resulting output voltage to this topic\n pid:\n p-gain: 75\n i-gain: 20\n d-gain: 0\n update-interval: 30 # in seconds (in fact not used anywhere)\n windup-guard: 20 # protect integral term from windup\n\nsystemd\n-------\n\n- add systemd example.\n\nFor Developers\n==============\n\nGetting Started\n---------------\n\nThe project consists of two main modules: \\* ``pid`` - classic\npid-implementation \\* ``controller`` - wraps around the ``pid`` and adds\nthermostat related behavior like minimum output, idle output,\nnormalization of pid output to expected voltage range.\n\nThe values for ``pid`` and some for ``controller`` must be determined\nusing experiments with the real system. To get a first set of parameters\nyou can use ``tests/test_controller_model_nomqtt.py`` together with\n``tools/model_trivial_flat.py``.\n\nTodos\n-----\n\n- Auto parameterization of pid\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\nalways welcome.\n\n.. [1]\n The icon used for this project is not Epidaurus, son of pelops.\n\n.. [2]\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/epidaurus/", "keywords": "mqtt device driver rpi raspberry pi", "license": "MIT license", "maintainer": "", "maintainer_email": "", "name": "Epidaurus", "package_url": "https://pypi.org/project/Epidaurus/", "platform": "", "project_url": "https://pypi.org/project/Epidaurus/", "project_urls": { "Homepage": "https://gitlab.com/pelops/epidaurus/" }, "release_url": "https://pypi.org/project/Epidaurus/0.1.7/", "requires_dist": null, "requires_python": "", "summary": "PID based room temperature controller - to be used in combination with pelops/copreus, pelops/argaeus and pelops/alcathous.", "version": "0.1.7" }, "last_serial": 5162376, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "64b2057fc5ccb35962121cfb56d86753", "sha256": "62cc9c3fbd1b943ab9614f7efd2bd561630b9cbe1f6059ddee9c56bf6713f1e2" }, "downloads": -1, "filename": "Epidaurus-0.1.tar.gz", "has_sig": false, "md5_digest": "64b2057fc5ccb35962121cfb56d86753", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11309, "upload_time": "2018-05-23T21:49:54", "url": "https://files.pythonhosted.org/packages/d7/9b/2df6143a80c3af1576bf40d170b03ef445cd4459d2f1f1fc573074195fd5/Epidaurus-0.1.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "4de26926527eb9b12135c1bf7fd26f0d", "sha256": "560d1e079561972337ba0fc5592e00e8b7c261a01dfe1556c287a7ab28fe79fb" }, "downloads": -1, "filename": "Epidaurus-0.1.1-py3.5.egg", "has_sig": false, "md5_digest": "4de26926527eb9b12135c1bf7fd26f0d", "packagetype": "bdist_egg", "python_version": "3.5", "requires_python": null, "size": 54256, "upload_time": "2018-06-07T21:39:34", "url": "https://files.pythonhosted.org/packages/0a/24/ae48a0a67a30ea35660b40e78d2de99d98e728a0f4935949a0c171cab566/Epidaurus-0.1.1-py3.5.egg" }, { "comment_text": "", "digests": { "md5": "44f043e349320f56546cc7bc973d722e", "sha256": "0a86e913d19786e8491039a3a46d47e201dba5052187d9651ed87a25569c1d4f" }, "downloads": -1, "filename": "Epidaurus-0.1.1.tar.gz", "has_sig": false, "md5_digest": "44f043e349320f56546cc7bc973d722e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13510, "upload_time": "2018-06-07T21:39:32", "url": "https://files.pythonhosted.org/packages/0f/f4/64575d9bfbeff19396f4813d50a60625ad46ee6c9b9dd5b5b3c72a787270/Epidaurus-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "af6217988311513903736bf0f9ee412c", "sha256": "3f03fa73627270a9e095293c78e29e7f2172b462baa7410d67f7ed202bc7d783" }, "downloads": -1, "filename": "Epidaurus-0.1.2.tar.gz", "has_sig": false, "md5_digest": "af6217988311513903736bf0f9ee412c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11696, "upload_time": "2018-08-08T21:07:05", "url": "https://files.pythonhosted.org/packages/63/09/fdf8913337b436091a99d5356a0c5a764ff6915517c9089896fd1a1510f6/Epidaurus-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "184fe44ec64b8a18289b70eecfb14ba6", "sha256": "f729785c9665614ca116284eb87d1021b32157ef92c74e00a9033e8ee209b3e6" }, "downloads": -1, "filename": "Epidaurus-0.1.3.tar.gz", "has_sig": false, "md5_digest": "184fe44ec64b8a18289b70eecfb14ba6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11826, "upload_time": "2018-11-22T20:26:34", "url": "https://files.pythonhosted.org/packages/24/01/cc5257d2b9b32aa916228c99f9dca2b2f1ccfa17a63c96f3cabc18610307/Epidaurus-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "07f77c6f32dd2fe03028a16cd818541d", "sha256": "3bc493f6213d73709bd71b1af6ba35c2380f39e328eb950f8d5316abf17c2c58" }, "downloads": -1, "filename": "Epidaurus-0.1.4.tar.gz", "has_sig": false, "md5_digest": "07f77c6f32dd2fe03028a16cd818541d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11981, "upload_time": "2019-03-09T22:49:42", "url": "https://files.pythonhosted.org/packages/55/e0/ac3c05ed9b0bc60401f811464a49d35bdb4a3883e0a78b96c8be9030c9ba/Epidaurus-0.1.4.tar.gz" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "8477429d2995b3f722412e27e48e5d81", "sha256": "2230acbbe702ecc2c32b901b864be01a0894c11b696ab32b943ad641d2cdd931" }, "downloads": -1, "filename": "Epidaurus-0.1.5.tar.gz", "has_sig": false, "md5_digest": "8477429d2995b3f722412e27e48e5d81", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11981, "upload_time": "2019-04-04T21:31:13", "url": "https://files.pythonhosted.org/packages/13/1b/4c267444bcc77231b3e35c9d6fb22f66874a11b61fd8e4fb553f57f58492/Epidaurus-0.1.5.tar.gz" } ], "0.1.6": [ { "comment_text": "", "digests": { "md5": "bff045ae762bd8ddcdd12c29d783f272", "sha256": "dac68ceb7305088bd86bcd7201633cbeae340b6a9bb7cb676ba41e4ebdf3a4f5" }, "downloads": -1, "filename": "Epidaurus-0.1.6.tar.gz", "has_sig": false, "md5_digest": "bff045ae762bd8ddcdd12c29d783f272", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11974, "upload_time": "2019-04-07T20:16:55", "url": "https://files.pythonhosted.org/packages/93/4e/0dd97986125e6bbc76d5276f8b65ad6d2fd3e840efdc6b490d489871f183/Epidaurus-0.1.6.tar.gz" } ], "0.1.7": [ { "comment_text": "", "digests": { "md5": "8ba2d3a7a28130b8febaf237a6afbd27", "sha256": "4b2d0687ceeccdd8f952eed7d9d798befb8ce04c07687fda3f4a8fabaa4f2723" }, "downloads": -1, "filename": "Epidaurus-0.1.7.tar.gz", "has_sig": false, "md5_digest": "8ba2d3a7a28130b8febaf237a6afbd27", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12021, "upload_time": "2019-04-18T22:13:54", "url": "https://files.pythonhosted.org/packages/84/d5/6898465aa54915dba1220396e71415faad8b78a59523301a25c868b826d7/Epidaurus-0.1.7.tar.gz" } ], "0.1a0": [ { "comment_text": "", "digests": { "md5": "2d1c9242449795838657822cd2e2b31d", "sha256": "73d423b9b8b6f021e598643578a4538c2404ba687a123dd1d36d7517696da80d" }, "downloads": -1, "filename": "Epidaurus-0.1a0.tar.gz", "has_sig": false, "md5_digest": "2d1c9242449795838657822cd2e2b31d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4918, "upload_time": "2018-03-23T00:55:01", "url": "https://files.pythonhosted.org/packages/ef/02/e74418e42448aef1c8c3f44d1705883a0535969d30495c19f10067441ce4/Epidaurus-0.1a0.tar.gz" } ], "0.1a1": [ { "comment_text": "", "digests": { "md5": "cfb70967806034c3f0dbb09cdeb49870", "sha256": "6725706db8e648eeecd8fea1b901ab1c56caaefb003748696af6b182db2be3fc" }, "downloads": -1, "filename": "Epidaurus-0.1a1.tar.gz", "has_sig": false, "md5_digest": "cfb70967806034c3f0dbb09cdeb49870", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4912, "upload_time": "2018-03-29T22:16:22", "url": "https://files.pythonhosted.org/packages/ef/5f/82e952e9038c82670a39b221c76a05f94f68c1d8a0618520937b02c48fa8/Epidaurus-0.1a1.tar.gz" } ], "0.1a2": [ { "comment_text": "", "digests": { "md5": "77a15e34d3354b504d2c953ca6f69b1f", "sha256": "38d7c2de498df6ab0d975c75dfadcd7aedc94288a8b0b9e8e9cb3a6d295b8838" }, "downloads": -1, "filename": "Epidaurus-0.1a2.tar.gz", "has_sig": false, "md5_digest": "77a15e34d3354b504d2c953ca6f69b1f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11045, "upload_time": "2018-04-16T19:48:09", "url": "https://files.pythonhosted.org/packages/0b/ee/e1223128a692976eeb60a3d64021a8659ba4634ebe709ff5eedc6caa034f/Epidaurus-0.1a2.tar.gz" } ], "0.1a3": [ { "comment_text": "", "digests": { "md5": "9c54664c980682a54dfe6a6d7e018e53", "sha256": "41d6441bd081090a1b8c5af7b446d387abb7b3e3a74f4d1780ccfdda2b67d70f" }, "downloads": -1, "filename": "Epidaurus-0.1a3.tar.gz", "has_sig": false, "md5_digest": "9c54664c980682a54dfe6a6d7e018e53", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11320, "upload_time": "2018-05-23T21:48:14", "url": "https://files.pythonhosted.org/packages/f1/db/cffc5e47deca975343d6839889ba4a339b6db9e1bf0ead41383401817498/Epidaurus-0.1a3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "8ba2d3a7a28130b8febaf237a6afbd27", "sha256": "4b2d0687ceeccdd8f952eed7d9d798befb8ce04c07687fda3f4a8fabaa4f2723" }, "downloads": -1, "filename": "Epidaurus-0.1.7.tar.gz", "has_sig": false, "md5_digest": "8ba2d3a7a28130b8febaf237a6afbd27", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12021, "upload_time": "2019-04-18T22:13:54", "url": "https://files.pythonhosted.org/packages/84/d5/6898465aa54915dba1220396e71415faad8b78a59523301a25c868b826d7/Epidaurus-0.1.7.tar.gz" } ] }