/huemon

Zabbix template with LLD support for Philips Hue network

Primary LanguagePythonMozilla Public License 2.0MPL-2.0

Huemon

License: MPL 2.0 Build PyPI security: bandit

Zabbix monitoring with low-level discovery for Philips Hue networks.

Dashboard: sensors

Requirements

  • Zabbix server 5.0+
  • Zabbix agent 5.0+
  • Python 3.8+ on Zabbix agent machine

Installation

pip3 install huemon

Configuration

  1. Copy config.example.yml from src/huemon to /path/to/config.yml
  2. Make necessary changes
  3. Provide the path through environment variable HUEMON_CONFIG_PATH

Plugins

Create a command or discovery plugin by implementing HueCommand or Discovery respectively and copy the file to the configured path in plugins.commands.path or plugins.discoveries.path of the configuration file.

Zabbix agent configuration

# file:/path/to/zabbix/agent/conf.d/hue.conf

UserParameter=hue.discovery[*],HUEMON_CONFIG_PATH=/path/to/config.yml python3 -m huemon discover $1
UserParameter=hue.value[*],HUEMON_CONFIG_PATH=/path/to/config.yml python3 -m huemon $1 $2 $3

Or Docker

# file:/path/to/zabbix/agent/conf.d/hue.conf

UserParameter=hue.discovery[*],docker-compose run huemon discover $1
UserParameter=hue.value[*],docker-compose run huemon $1 $2 $3

Or agent mode

# file:/path/to/zabbix/agent/conf.d/hue.conf

UserParameter=hue.discovery[*],curl http://127.0.0.1:8000/discover?q=$1
UserParameter=hue.value[*],curl http://127.0.0.1:8000/$1?q=$2\&q=$3

Configure Systemd service

An installer that configures Huemon as a Systemd service is included in this repository. It uses /etc/huemon/config.yml as the configuration path.

assets/service-installer.sh install

Usage

Shell

HUEMON_CONFIG_PATH=/path/to/config.yml python3 -m huemon discover lights

Or agent mode

HUEMON_CONFIG_PATH=/path/to/config.yml python3 -m huemon agent start

Docker

Provide a configuration path for the huemon-config volume in docker-compose.yml before running the commands below.

docker-compose run huemon discover lights

Or agent mode

docker-compose up -d

Screenshots

Dashboards

Dashboard: sensors

Discoveries

Discoveries: batteries

Discoveries: lights

Discoveries: sensors

Template

Template

Contributing

See the contributing guide to learn how to contribute to the repository and the development workflow.

Code of Conduct

Contributor Code of Conduct. By participating in this project you agree to abide by its terms.

License

MPL-2.0