From d153e47bfd73b4ab6a3adc76c939ede710b9ac8c Mon Sep 17 00:00:00 2001 From: Steffen Rusitschka Date: Wed, 21 Oct 2020 00:52:20 +0200 Subject: [PATCH] Add documentation for publish state changes to Zabbix (#15130) Co-authored-by: Franck Nijhof --- source/_integrations/zabbix.markdown | 89 ++++++++++++++++++- .../zabbix/zbx_template_home_assistant.xml | 46 ++++++++++ 2 files changed, 134 insertions(+), 1 deletion(-) create mode 100644 source/assets/integrations/zabbix/zbx_template_home_assistant.xml diff --git a/source/_integrations/zabbix.markdown b/source/_integrations/zabbix.markdown index 843204cf8d1..1e59d40d009 100644 --- a/source/_integrations/zabbix.markdown +++ b/source/_integrations/zabbix.markdown @@ -11,7 +11,9 @@ ha_domain: zabbix The `zabbix` integration is the main integration to connect to a [Zabbix](https://www.zabbix.com/) monitoring instance via the Zabbix API. -There is currently support for the following device types within Home Assistant: +It is possible to publish Home Assistant state changes to Zabbix. In Zabbix a host has to be created which will contain the Home Assistant states as individual items. These items are automatically created using Zabbix Low-Level Discovery (LLD). In order to make setup in Zabbix easy, you can use this [template](/assets/integrations/zabbix/zbx_template_home_assistant.xml) for the host. + +There is currently also support for the following device types within Home Assistant: - [Sensor](#sensor) @@ -48,6 +50,44 @@ password: description: Your Zabbix password. required: false type: string +publish_states_host: + description: The host that will receive the state changes from Home Assistant. It needs to be manually created in Zabbix first and have the template associated with it (see above). + required: false + type: string +exclude: + type: list + description: Configure which integrations should be excluded from being published to Zabbix. ([Configure Filter](#configure-filter)) + required: false + keys: + entities: + type: [string, list] + description: The list of entity ids to be excluded from being published to Zabbix. + required: false + entity_globs: + type: [string, list] + description: Exclude all entities matching a listed pattern. + required: false + domains: + type: [string, list] + description: The list of domains to be excluded from being published to Zabbix. + required: false +include: + type: list + description: Configure which integrations should be included in being published to Zabbix. If set, all other entities will not be published to Zabbix. ([Configure Filter](#configure-filter)) + required: false + keys: + entities: + type: [string, list] + description: The list of entity ids to be included in being published to Zabbix. + required: false + entity_globs: + type: [string, list] + description: Include all entities matching a listed pattern. + required: false + domains: + type: [string, list] + description: The list of domains to be included in being published to Zabbix. + required: false {% endconfiguration %} ### Full configuration @@ -60,8 +100,55 @@ zabbix: ssl: false username: USERNAME password: PASSWORD + publish_states_host: homeassistant + exclude: + domains: + - device_tracker + entities: + - sun.sun + - sensor.time ``` +## Configure Filter + +By default, no entity will be excluded. To limit which entities are being published to Zabbix, you can use the `include` and `exclude` parameters. + +{% raw %} + +```yaml +# Example filter to include specified domains and exclude specified entities +zabbix: + include: + domains: + - alarm_control_panel + - light + entity_globs: + - binary_sensor.*_occupancy + exclude: + entities: + - light.kitchen_light +``` + +{% endraw %} + +Filters are applied as follows: + +1. No includes or excludes - pass all entities +2. Includes, no excludes - only include specified entities +3. Excludes, no includes - only exclude specified entities +4. Both includes and excludes: + - Include domain and/or glob patterns specified + - If domain is included, and entity not excluded or match exclude glob pattern, pass + - If entity matches include glob pattern, and entity does not match any exclude criteria (domain, glob pattern or listed), pass + - If domain is not included, glob pattern does not match, and entity not included, fail + - Exclude domain and/or glob patterns specified and include does not list domains or glob patterns + - If domain is excluded and entity not included, fail + - If entity matches exclude glob pattern and entity not included, fail + - If entity does not match any exclude criteria (domain, glob pattern or listed), pass + - Neither include or exclude specifies domains or glob patterns + - If entity is included, pass (as #2 above) + - If entity include and exclude, the entity exclude is ignored + ## Sensor The `zabbix` sensor platform let you monitor the current count of active triggers for your [Zabbix](https://www.zabbix.com/) monitoring instance. diff --git a/source/assets/integrations/zabbix/zbx_template_home_assistant.xml b/source/assets/integrations/zabbix/zbx_template_home_assistant.xml new file mode 100644 index 00000000000..a7a7eb76939 --- /dev/null +++ b/source/assets/integrations/zabbix/zbx_template_home_assistant.xml @@ -0,0 +1,46 @@ + + + 5.0 + 2020-06-10T16:13:32Z + + + Templates + + + + + +