%global _empty_manifest_terminate_build 0 Name: python-Pelops Version: 0.5.0 Release: 1 Summary: Common tools for projects of the the gitlab group pelops. License: MIT license URL: https://gitlab.com/pelops/pelops/ Source0: https://mirrors.nju.edu.cn/pypi/web/packages/86/c4/3d30985e41dfb8c25eb8681bfd9526008538d2ca90a2f0a6e1ef21d66331/Pelops-0.5.0.tar.gz BuildArch: noarch %description Pelops is a set of microservices that are coupled via mqtt. The idea is to provide small programs that are configured and drive raspberry pi controlled sensors and actuators. Thus - ideally - rich solutions can be built without any programming and with little engineering efford. It can be used for example to make a stand alone solution on one raspi, make a distributed system where several devices interact (maybe even via internet services like AWS IoT), or interact with home automation systems like openhab. Focus is on ePapers for display devices (currently supported are three epapers/einks from Waveshare). Component Overview | Currently, the following microservices are available: \* `Alcathous `__ - This software subscribes to mqtt-topics that contain raw sensor data and publishes average values for configurable time spans. \* `Argaeus `__ - ThermostatGUIController/Frontend for a room thermostat with epaper \* `Archippe `__ - Archippe is a data persistence micro service for pelops. Targets are influxdb and csv-files. \* `Copreus `__ - This library provides a framework to write device driver for the raspberry pi that are connected to MQTT. \* `Epidaurus `__ - PID controller for thermostat \* `Eurydike `__ - Eurydike is a simple event detection. Reacts to above-threshold, below-threshold, and outside value-band. | \* `Hippasos `__ - Mqtt microservice to play sounds. | \* `Nikippe `__ - A general purpose gui image generator/display server - takes values from mqtt and sends image to mqtt. In production are: \* `Hippodamia `__ - Hippodamia observe the state of all registered microservices (aka watch dog). \* `Lysidike `__ - Lysidike publishes incoming mqtt messages to various internet services like email. (todos: documentation) \* `Thyestes `__ - Timer microservice. Listens on topics for specific messages, starts a timer when such a messages has been received and publishes a predefined message after the timer expired. (todos: documentation) \* `Skeiron `__ - Forwarding/Echo/Collect/Distribute service. (todos: documentation) Planned microservices: \* `Pleisthenes `__ - A weather microservice (connects to a weather site and provides e.g. local sun radiation) Further ideas for general purpose services: \* And/or/xor/not/nand/nor/xnor - for boolean/int messages and for arbitrary evaulation statements on the content of the messages. plus timeout (how long is a message valid to be joined with another message in such an operation) \* Lambda - takes an incoming message, applies the configured lambda function to it, and publishes the result. three flavors: lambda code in config, python3 core function, function from an arbitrary module. important: functions must accept one parameter and one only and return one result that can be handled by the mqtt client (paho.mqtt). Ideas for controllers / applications: \* A pool pump / solar panel controller that heats/cools the pool \* A floor heating system controller \* A multiroom humidifier controller The project `Pelops `__ provides common classes like mqtt-client, pyyaml wrapper. Thus it is not a microservice itself. %package -n python3-Pelops Summary: Common tools for projects of the the gitlab group pelops. Provides: python-Pelops BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: python3-pip %description -n python3-Pelops Pelops is a set of microservices that are coupled via mqtt. The idea is to provide small programs that are configured and drive raspberry pi controlled sensors and actuators. Thus - ideally - rich solutions can be built without any programming and with little engineering efford. It can be used for example to make a stand alone solution on one raspi, make a distributed system where several devices interact (maybe even via internet services like AWS IoT), or interact with home automation systems like openhab. Focus is on ePapers for display devices (currently supported are three epapers/einks from Waveshare). Component Overview | Currently, the following microservices are available: \* `Alcathous `__ - This software subscribes to mqtt-topics that contain raw sensor data and publishes average values for configurable time spans. \* `Argaeus `__ - ThermostatGUIController/Frontend for a room thermostat with epaper \* `Archippe `__ - Archippe is a data persistence micro service for pelops. Targets are influxdb and csv-files. \* `Copreus `__ - This library provides a framework to write device driver for the raspberry pi that are connected to MQTT. \* `Epidaurus `__ - PID controller for thermostat \* `Eurydike `__ - Eurydike is a simple event detection. Reacts to above-threshold, below-threshold, and outside value-band. | \* `Hippasos `__ - Mqtt microservice to play sounds. | \* `Nikippe `__ - A general purpose gui image generator/display server - takes values from mqtt and sends image to mqtt. In production are: \* `Hippodamia `__ - Hippodamia observe the state of all registered microservices (aka watch dog). \* `Lysidike `__ - Lysidike publishes incoming mqtt messages to various internet services like email. (todos: documentation) \* `Thyestes `__ - Timer microservice. Listens on topics for specific messages, starts a timer when such a messages has been received and publishes a predefined message after the timer expired. (todos: documentation) \* `Skeiron `__ - Forwarding/Echo/Collect/Distribute service. (todos: documentation) Planned microservices: \* `Pleisthenes `__ - A weather microservice (connects to a weather site and provides e.g. local sun radiation) Further ideas for general purpose services: \* And/or/xor/not/nand/nor/xnor - for boolean/int messages and for arbitrary evaulation statements on the content of the messages. plus timeout (how long is a message valid to be joined with another message in such an operation) \* Lambda - takes an incoming message, applies the configured lambda function to it, and publishes the result. three flavors: lambda code in config, python3 core function, function from an arbitrary module. important: functions must accept one parameter and one only and return one result that can be handled by the mqtt client (paho.mqtt). Ideas for controllers / applications: \* A pool pump / solar panel controller that heats/cools the pool \* A floor heating system controller \* A multiroom humidifier controller The project `Pelops `__ provides common classes like mqtt-client, pyyaml wrapper. Thus it is not a microservice itself. %package help Summary: Development documents and examples for Pelops Provides: python3-Pelops-doc %description help Pelops is a set of microservices that are coupled via mqtt. The idea is to provide small programs that are configured and drive raspberry pi controlled sensors and actuators. Thus - ideally - rich solutions can be built without any programming and with little engineering efford. It can be used for example to make a stand alone solution on one raspi, make a distributed system where several devices interact (maybe even via internet services like AWS IoT), or interact with home automation systems like openhab. Focus is on ePapers for display devices (currently supported are three epapers/einks from Waveshare). Component Overview | Currently, the following microservices are available: \* `Alcathous `__ - This software subscribes to mqtt-topics that contain raw sensor data and publishes average values for configurable time spans. \* `Argaeus `__ - ThermostatGUIController/Frontend for a room thermostat with epaper \* `Archippe `__ - Archippe is a data persistence micro service for pelops. Targets are influxdb and csv-files. \* `Copreus `__ - This library provides a framework to write device driver for the raspberry pi that are connected to MQTT. \* `Epidaurus `__ - PID controller for thermostat \* `Eurydike `__ - Eurydike is a simple event detection. Reacts to above-threshold, below-threshold, and outside value-band. | \* `Hippasos `__ - Mqtt microservice to play sounds. | \* `Nikippe `__ - A general purpose gui image generator/display server - takes values from mqtt and sends image to mqtt. In production are: \* `Hippodamia `__ - Hippodamia observe the state of all registered microservices (aka watch dog). \* `Lysidike `__ - Lysidike publishes incoming mqtt messages to various internet services like email. (todos: documentation) \* `Thyestes `__ - Timer microservice. Listens on topics for specific messages, starts a timer when such a messages has been received and publishes a predefined message after the timer expired. (todos: documentation) \* `Skeiron `__ - Forwarding/Echo/Collect/Distribute service. (todos: documentation) Planned microservices: \* `Pleisthenes `__ - A weather microservice (connects to a weather site and provides e.g. local sun radiation) Further ideas for general purpose services: \* And/or/xor/not/nand/nor/xnor - for boolean/int messages and for arbitrary evaulation statements on the content of the messages. plus timeout (how long is a message valid to be joined with another message in such an operation) \* Lambda - takes an incoming message, applies the configured lambda function to it, and publishes the result. three flavors: lambda code in config, python3 core function, function from an arbitrary module. important: functions must accept one parameter and one only and return one result that can be handled by the mqtt client (paho.mqtt). Ideas for controllers / applications: \* A pool pump / solar panel controller that heats/cools the pool \* A floor heating system controller \* A multiroom humidifier controller The project `Pelops `__ provides common classes like mqtt-client, pyyaml wrapper. Thus it is not a microservice itself. %prep %autosetup -n Pelops-0.5.0 %build %py3_build %install %py3_install install -d -m755 %{buildroot}/%{_pkgdocdir} if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi pushd %{buildroot} if [ -d usr/lib ]; then find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/lib64 ]; then find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/bin ]; then find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/sbin ]; then find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst fi touch doclist.lst if [ -d usr/share/man ]; then find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst fi popd mv %{buildroot}/filelist.lst . mv %{buildroot}/doclist.lst . %files -n python3-Pelops -f filelist.lst %dir %{python3_sitelib}/* %files help -f doclist.lst %{_docdir}/* %changelog * Fri May 05 2023 Python_Bot - 0.5.0-1 - Package Spec generated