# Huemon
[![License: MPL 2.0](https://img.shields.io/badge/License-MPL%202.0-brightgreen.svg)](https://opensource.org/licenses/MPL-2.0)
[![Build](https://github.com/edeckers/huemon/actions/workflows/test.yml/badge.svg?branch=develop)](https://github.com/edeckers/huemon/actions/workflows/test.yml)
[![PyPI](https://img.shields.io/pypi/v/huemon.svg?maxAge=3600)](https://pypi.org/project/huemon)
[![security: bandit](https://img.shields.io/badge/security-bandit-yellow.svg)](https://github.com/PyCQA/bandit)
Zabbix monitoring with low-level discovery for Philips Hue networks.
![Dashboard: sensors](https://raw.githubusercontent.com/edeckers/huemon/develop/assets/docs/dashboard-sensors.png?raw=true "Dashboard: sensors")
## Requirements
- Zabbix server 5.0+
- Zabbix agent 5.0+
- Python 3.8+ on Zabbix agent machine
## Installation
```bash
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](src/huemon/commands/hue_command_interface.py) or [Discovery](src/huemon/discoveries/discovery_interface.py) 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.
```bash
assets/service-installer.sh install
```
## Usage
### Shell
```bash
HUEMON_CONFIG_PATH=/path/to/config.yml python3 -m huemon discover lights
```
Or _agent mode_
```bash
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.
```bash
docker-compose run huemon discover lights
```
Or _agent mode_
```bash
docker-compose up -d
```
## Screenshots
### Dashboards
![Dashboard: sensors](https://raw.githubusercontent.com/edeckers/huemon/develop/assets/docs/dashboard-sensors.png?raw=true "Dashboard: sensors")
### Discoveries
![Discoveries: batteries](https://raw.githubusercontent.com/edeckers/huemon/develop/assets/docs/discoveries-batteries.png?raw=true "Discoveries: batteries")
![Discoveries: lights](https://raw.githubusercontent.com/edeckers/huemon/develop/assets/docs/discoveries-lights.png?raw=true "Discoveries: lights")
![Discoveries: sensors](https://raw.githubusercontent.com/edeckers/huemon/develop/assets/docs/discoveries-sensors.png?raw=true "Discoveries: sensors")
### Template
![Template](https://raw.githubusercontent.com/edeckers/huemon/develop/assets/docs/template-discoveries.png?raw=true "Template")
## Contributing
See the [contributing guide](CONTRIBUTING.md) to learn how to contribute to the repository and the development workflow.
## Code of Conduct
[Contributor Code of Conduct](CODE_OF_CONDUCT.md). By participating in this project you agree to abide by its terms.
## License
MPL-2.0
Raw data
{
"_id": null,
"home_page": "https://github.com/edeckers/huemon.git",
"name": "huemon",
"maintainer": "Ely Deckers",
"docs_url": null,
"requires_python": ">=3.8,<4.0",
"maintainer_email": "",
"keywords": "Hue,Monitoring,Zabbix,Zigbee",
"author": "Ely Deckers",
"author_email": "",
"download_url": "https://files.pythonhosted.org/packages/3b/b3/e7a15cef2fa72ab6fe923db89799997a5c08ecb89626fc08775a4bb4a03e/huemon-1.0.4.tar.gz",
"platform": null,
"description": "# Huemon\n\n[![License: MPL 2.0](https://img.shields.io/badge/License-MPL%202.0-brightgreen.svg)](https://opensource.org/licenses/MPL-2.0)\n[![Build](https://github.com/edeckers/huemon/actions/workflows/test.yml/badge.svg?branch=develop)](https://github.com/edeckers/huemon/actions/workflows/test.yml)\n[![PyPI](https://img.shields.io/pypi/v/huemon.svg?maxAge=3600)](https://pypi.org/project/huemon)\n[![security: bandit](https://img.shields.io/badge/security-bandit-yellow.svg)](https://github.com/PyCQA/bandit)\n\nZabbix monitoring with low-level discovery for Philips Hue networks.\n\n![Dashboard: sensors](https://raw.githubusercontent.com/edeckers/huemon/develop/assets/docs/dashboard-sensors.png?raw=true \"Dashboard: sensors\")\n\n## Requirements\n\n- Zabbix server 5.0+\n- Zabbix agent 5.0+\n- Python 3.8+ on Zabbix agent machine\n\n## Installation\n\n```bash\npip3 install huemon\n```\n\n## Configuration\n\n1. Copy `config.example.yml` from `src/huemon` to `/path/to/config.yml`\n2. Make necessary changes\n3. Provide the path through environment variable `HUEMON_CONFIG_PATH`\n\n### Plugins\n\nCreate a command or discovery plugin by implementing [HueCommand](src/huemon/commands/hue_command_interface.py) or [Discovery](src/huemon/discoveries/discovery_interface.py) respectively and copy the file to the configured path in `plugins.commands.path` or `plugins.discoveries.path` of the configuration file.\n\n### Zabbix agent configuration\n\n```\n# file:/path/to/zabbix/agent/conf.d/hue.conf\n\nUserParameter=hue.discovery[*],HUEMON_CONFIG_PATH=/path/to/config.yml python3 -m huemon discover $1\nUserParameter=hue.value[*],HUEMON_CONFIG_PATH=/path/to/config.yml python3 -m huemon $1 $2 $3\n```\n\nOr Docker\n\n```\n# file:/path/to/zabbix/agent/conf.d/hue.conf\n\nUserParameter=hue.discovery[*],docker-compose run huemon discover $1\nUserParameter=hue.value[*],docker-compose run huemon $1 $2 $3\n```\n\nOr _agent mode_\n\n```\n# file:/path/to/zabbix/agent/conf.d/hue.conf\n\nUserParameter=hue.discovery[*],curl http://127.0.0.1:8000/discover?q=$1\nUserParameter=hue.value[*],curl http://127.0.0.1:8000/$1?q=$2\\&q=$3\n```\n\n### Configure Systemd service\n\nAn installer that configures Huemon as a Systemd service is included in this repository. It uses `/etc/huemon/config.yml` as the configuration path.\n\n```bash\nassets/service-installer.sh install\n```\n\n## Usage\n\n### Shell\n\n```bash\nHUEMON_CONFIG_PATH=/path/to/config.yml python3 -m huemon discover lights\n```\n\nOr _agent mode_\n\n```bash\nHUEMON_CONFIG_PATH=/path/to/config.yml python3 -m huemon agent start\n```\n\n### Docker\n\nProvide a configuration path for the `huemon-config` volume in `docker-compose.yml` before running the commands below.\n\n```bash\ndocker-compose run huemon discover lights\n```\n\nOr _agent mode_\n\n```bash\ndocker-compose up -d\n```\n\n## Screenshots\n\n### Dashboards\n![Dashboard: sensors](https://raw.githubusercontent.com/edeckers/huemon/develop/assets/docs/dashboard-sensors.png?raw=true \"Dashboard: sensors\")\n\n### Discoveries\n\n![Discoveries: batteries](https://raw.githubusercontent.com/edeckers/huemon/develop/assets/docs/discoveries-batteries.png?raw=true \"Discoveries: batteries\")\n\n![Discoveries: lights](https://raw.githubusercontent.com/edeckers/huemon/develop/assets/docs/discoveries-lights.png?raw=true \"Discoveries: lights\")\n\n![Discoveries: sensors](https://raw.githubusercontent.com/edeckers/huemon/develop/assets/docs/discoveries-sensors.png?raw=true \"Discoveries: sensors\")\n\n### Template\n\n![Template](https://raw.githubusercontent.com/edeckers/huemon/develop/assets/docs/template-discoveries.png?raw=true \"Template\")\n\n## Contributing\n\nSee the [contributing guide](CONTRIBUTING.md) to learn how to contribute to the repository and the development workflow.\n\n## Code of Conduct\n\n[Contributor Code of Conduct](CODE_OF_CONDUCT.md). By participating in this project you agree to abide by its terms.\n\n## License\n\nMPL-2.0\n\n",
"bugtrack_url": null,
"license": "MPL-2.0",
"summary": "Monitor your Philips Hue network",
"version": "1.0.4",
"project_urls": {
"Documentation": "https://github.com/edeckers/huemon",
"Homepage": "https://github.com/edeckers/huemon.git",
"Repository": "https://github.com/edeckers/huemon.git"
},
"split_keywords": [
"hue",
"monitoring",
"zabbix",
"zigbee"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "a28a1a3a1b1fa5a7b2c98aaaef7b7eb7cbe911f1444188325137a12150a86b08",
"md5": "8b1bf2ca5bb378c47ce5542be68d75c8",
"sha256": "b768662f211a95494eb9b2f6be8644aa2ed01d8c2e78ee2c1b713e5b5188cffc"
},
"downloads": -1,
"filename": "huemon-1.0.4-py3-none-any.whl",
"has_sig": false,
"md5_digest": "8b1bf2ca5bb378c47ce5542be68d75c8",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8,<4.0",
"size": 35389,
"upload_time": "2023-08-30T18:24:12",
"upload_time_iso_8601": "2023-08-30T18:24:12.212362Z",
"url": "https://files.pythonhosted.org/packages/a2/8a/1a3a1b1fa5a7b2c98aaaef7b7eb7cbe911f1444188325137a12150a86b08/huemon-1.0.4-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "3bb3e7a15cef2fa72ab6fe923db89799997a5c08ecb89626fc08775a4bb4a03e",
"md5": "b36a27b35001e88ad63ab2345ba16221",
"sha256": "51fb32f3f70b296a5c777e76d8081cc80d52a90e6c57a144020170985066c44b"
},
"downloads": -1,
"filename": "huemon-1.0.4.tar.gz",
"has_sig": false,
"md5_digest": "b36a27b35001e88ad63ab2345ba16221",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8,<4.0",
"size": 18422,
"upload_time": "2023-08-30T18:24:13",
"upload_time_iso_8601": "2023-08-30T18:24:13.863249Z",
"url": "https://files.pythonhosted.org/packages/3b/b3/e7a15cef2fa72ab6fe923db89799997a5c08ecb89626fc08775a4bb4a03e/huemon-1.0.4.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-08-30 18:24:13",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "edeckers",
"github_project": "huemon",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "huemon"
}