https://github.com/qtoggle/qtoggleserver-zigbee2mqtt
Provides ports for Zigbee devices controlled by Zigbee2MQTT
https://github.com/qtoggle/qtoggleserver-zigbee2mqtt
Last synced: about 1 year ago
JSON representation
Provides ports for Zigbee devices controlled by Zigbee2MQTT
- Host: GitHub
- URL: https://github.com/qtoggle/qtoggleserver-zigbee2mqtt
- Owner: qtoggle
- License: apache-2.0
- Created: 2022-12-28T22:00:19.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2025-01-02T21:30:19.000Z (over 1 year ago)
- Last Synced: 2025-02-16T08:28:04.812Z (over 1 year ago)
- Language: Python
- Size: 90.8 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
* [About](#about)
* [Install](#install)
* [Peripheral Driver & Parameters](#peripheral-driver--parameters)
* [Device Configuration](#device-configuration)
---
## About
This is an add-on for [qToggleServer](https://github.com/qtoggle/qtoggleserver).
It provides a [peripheral driver](https://github.com/qtoggle/qtoggleserver/wiki/Peripheral-Drivers) that exposes ports
for Zigbee devices controlled by [Zigbee2MQTT](https://www.zigbee2mqtt.io/).
## Install
If you run [qToggleOS](https://github.com/qtoggle/qtoggleos), you'll need
[Zigbee](https://github.com/qtoggle/qtoggleos/wiki/Zigbee) support.
Install using pip:
pip install qtoggleserver-zigbee2mqtt
## Peripheral Driver & Parameters
### `driver`: `qtoggleserver.zigbee2mqtt.Zigbee2MQTTClient`
### `mqtt_server`
* type: `string`
* default: required
* example: `"test.mosquitto.org"`
### `mqtt_port`
* type: `integer`
* default: `1883`
### `mqtt_username`
* type: `string`
* default: `null`
### `mqtt_password`
* type: `string`
* default: `null`
### `mqtt_client_id`
* type: `string`
* default: `qtoggleserver`
### `mqtt_reconnect_interval`
Represents the interval, in seconds, between two (re)connection attempts to the MQTT server.
* type: `integer`
* default: `5`
### `mqtt_base_topic`
* type: `string`
* default: `"zigbee2mqtt"`
### `mqtt_logging`
Indicates whether the logs generated by the MQTT client will be added to the qToggleServer or not.
* type: `boolean`
* default: `false`
### `bridge_logging`
Indicates whether the logs generated by the Zigbee2MQTT bridge will be added to the qToggleServer or not.
* type: `boolean`
* default: `false`
### `bridge_request_timeout`
Indicates the timeout, in seconds, when waiting for a response (via MQTT) when sending a request (via MQTT) to the
bridge.
* type: `integer`
* default: `10`
### `permit_join_timeout`
Indicates the timeout, in seconds, to permit new Zigbee devices to join, once enabled.
* type: `integer`
* default: `3600`
### `device_config`
# TODO document wildcards
Allows specifying static configuration for particular Zigbee devices. Each entry in the dictionary is the (friendly)
name of a device associated to a configuration dictionary or a wildcard pattern that friendly names of devices must
match. See [Device Configuration](#device-configuration) for details on the available configuration options.
* type: `dictionary`
* default: `{}`
## Device Configuration
The following configuration options are available for a device:
### `get_state_property`
Some Zigbee devices won't allow obtaining the current state by doing a `get {"state": ""}`. Instead, they need one
of the specific properties to be requested, such as `get {"temperature": ""}`. This option allows setting the name of
this property. If set to `null`, disables querying for state. See
[zigbee2mqtt/FRIENDLY_NAME/get](https://www.zigbee2mqtt.io/guide/usage/mqtt_topics_and_messages.html#zigbee2mqtt-friendly-name-get)
for details.
* type: `string`
* default: `"state"`
### `force_port_properties`
By default, exposed capabilities with category set to `config` or `diagnostic`, along with exposed options, will be
treated as attributes of the corresponding qToggle control port. This option allows specifying a list of property names
that will be associated to dedicated qToggle ports, regardless of their category (see
[zigbee2mqtt exposes](https://www.zigbee2mqtt.io/guide/usage/exposes.html#exposes) for details). Capability (property)
names are dot separated when they are part of a composite type (e.g. `color.hue`). Wildcards are also supported (e.g.
`color.*` will match all the properties inside the `color` composite type).
* type: `[string]`
* default: `[]`
### `force_attribute_properties`
By default, exposed capabilities with no category set will be treated as standalone qToggle ports. This option allows
specifying a list of property names that will become attributes of the corresponding control port, regardless of their
category (see
[zigbee2mqtt exposes](https://www.zigbee2mqtt.io/guide/usage/exposes.html#exposes) for details). Capability (property)
names are dot separated when they are part of a composite type (e.g. `color.hue`). Wildcards are also supported (e.g.
`color.*` will match all the properties inside the `color` composite type).
* type: `[string]`
* default: `[]`