Skip to main content

Hippasos plays preconfigured sound files upon reception of predefined mqtt messages.

Project description

Πηααος [1] (Hippasos) plays preconfigured sound files upon reception of predefined mqtt messages.

Pelops Overview

Pelops Overview

Hippasos is part of the collection of mqtt based microservices pelops. An overview on the microservice architecture and examples can be found at (

For Users

Installation Core-Functionality

Prerequisites for the core functionality are:

sudo apt install python3 python3-pip python3-pygame
sudo pip3 install paho-mqtt pyyaml pygame pelops

Install via pip:

sudo pip3 install epidaurus

To update to the latest version add --upgrade as prefix to the pip3 line above.

Install via gitlab (might need additional packages):

git clone
cd hippasos
sudo python3 install

This will install the following shell scripts: * hippasoss

The script cli arguments are: * ‘-c’/’–config’ - config file (mandatory) * ‘-v’ - verbose output (optional) * ‘–version’ - show the version number and exit


A yaml [2] file must contain four root blocks: * mqtt - mqtt-address, mqtt-port, and path to credentials file credentials-file (a file consisting of two entries: mqtt-user, mqtt-password) * logger - which log level and which file to be used
* sound-mappings - list of sound events
    mqtt-address: localhost
    mqtt-port: 1883
    credentials-file: ~/credentials.yaml
    log-level: WARNING

    log-level: DEBUG
    log-file: hippasos.log

    - name: bell_building  # unique name for sound event
      sound-file: ../resources/church_bell.ogg  # uri to sound file. must be ogg or wav.
      topic-sub: /test/button1  # react to published values on this channel
      message-value: PRESSED  # react to this message content
      volume: 0.1  # 0..1 - volume relative to system volume
      active: True  # entry ignored if set to False


  • add systemd example.

For Developers

Getting Started

The project consists of two main modules: * soundservice - Creates, starts and stops sound events. * soundevent - Subscribes to a topic and plays a sound file upon reception of a specific message.


  • Make maximum number of parallel playable sound configurable.


The code is written for python3 (and tested with python 3.5 on an Raspberry Pi Zero with Raspbian Stretch).

Merge requests / bug reports are always welcome.

[1]The icon used for this project is not Hippasos, son of pelops but it depicts Hippasus of Metapontum.
[2]Currently, pyyaml is yaml 1.1 compliant. In pyyaml On/Off and Yes/No are automatically converted to True/False. This is an unwanted behavior and deprecated in yaml 1.2. In copreus this autoconversion is removed. Thus, On/Off and Yes/No are read from the yaml file as strings (see module baseclasses.myconfigtools).

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for Hippasos, version 0.1.7
Filename, size File type Python version Upload date Hashes
Filename, size Hippasos-0.1.7.tar.gz (5.4 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page