Compare commits
3 commits
Author | SHA1 | Date | |
---|---|---|---|
![]() |
03cb62b726 | ||
![]() |
fee95183db | ||
![]() |
47c54dc831 |
3 changed files with 71 additions and 21 deletions
|
@ -17,24 +17,19 @@ ha_iot_class: "Local Push"
|
|||
|
||||
[deCONZ REST API](http://dresden-elektronik.github.io/deconz-rest-doc/).
|
||||
|
||||
### {% linkable_title Supported device types %}
|
||||
### {% linkable_title Recommended way of running deCONZ %}
|
||||
|
||||
- [Zigbee Lights](/components/light.deconz/)
|
||||
- [Consumption Sensors](/components/sensor.deconz/)
|
||||
- [Humidity Sensors](/components/sensor.deconz/)
|
||||
- [Light Level Sensors](/components/sensor.deconz/)
|
||||
- [OpenClose Detectors](/components/binary_sensor.deconz/)
|
||||
- [Power Sensors](/components/sensor.deconz/)
|
||||
- [Presence Detectors](/components/binary_sensor.deconz/)
|
||||
- [Pressure Sensors](/components/sensor.deconz/)
|
||||
- [Switches (Remote Controls)](/components/sensor.deconz/)
|
||||
- [Temperature Sensors](/components/sensor.deconz/)
|
||||
Use [community container](https://hub.docker.com/r/marthoc/deconz/) by Marthoc for your deCONZ needs. It works both as a standalone container as well as with HASS.io.
|
||||
|
||||
### {% linkable_title Supported devices %}
|
||||
|
||||
See [deCONZ wiki](https://github.com/dresden-elektronik/deconz-rest-plugin/wiki/Supported-Devices) for a list of supported devices.
|
||||
|
||||
## {% linkable_title Configuration %}
|
||||
|
||||
Home Assistant will automatically discover deCONZ presence on your network, if `discovery:` is present in your `configuration.yaml` file.
|
||||
|
||||
If you don't have the API key, you can generate an API key for deCONZ by using the one-click functionality similar to Philips Hue. Go to **Menu** -> **Settings** -> **Unlock Gateway** in deCONZ and then use the deCONZ configurator in Home Assistant frontend to create an API key. When you've generated the API key from Home Assistant, the API key will be stored in `.config_entries.json` inside the `.homeassistant` folder.
|
||||
If you don't have the API key, you can generate an API key for deCONZ by using the one-click functionality similar to Philips Hue. Go to **Menu** -> **Settings** -> **Unlock Gateway** in deCONZ and then use the deCONZ configurator in Home Assistant frontend to create an API key. When you're done setting up deCONZ it will be stored as a config entry.
|
||||
|
||||
You can add the following to your configuration.yaml file if you are not using the `discovery:` component:
|
||||
|
||||
|
@ -125,6 +120,8 @@ For the IKEA Tradfri remote, 1 is the middle button, 2 is up, 3 is down, 4 is le
|
|||
|
||||
### {% linkable_title Step up and step down input number with wireless dimmer %}
|
||||
|
||||
#### YAML
|
||||
|
||||
{% raw %}
|
||||
```yaml
|
||||
automation:
|
||||
|
@ -173,3 +170,37 @@ automation:
|
|||
{{ [bri-30, 0] | max }}
|
||||
```
|
||||
{% endraw %}
|
||||
|
||||
#### Appdaemon
|
||||
|
||||
{% raw %}
|
||||
```yaml
|
||||
remote_control_living_room:
|
||||
module: remote_control
|
||||
class: RemoteControl
|
||||
event: deconz_event
|
||||
id: dimmer_switch_3
|
||||
```
|
||||
|
||||
```python
|
||||
import appdaemon.plugins.hass.hassapi as hass
|
||||
|
||||
class RemoteControl(hass.Hass):
|
||||
|
||||
def initialize(self):
|
||||
if 'event' in self.args:
|
||||
self.listen_event(self.handle_event, self.args['event'])
|
||||
|
||||
def handle_event(self, event_name, data, kwargs):
|
||||
if data['id'] == self.args['id']:
|
||||
self.log(data['event'])
|
||||
if data['event'] == 1002:
|
||||
self.log('Button on')
|
||||
elif data['event'] == 2002:
|
||||
self.log('Button dim up')
|
||||
elif data['event'] == 3002:
|
||||
self.log('Button dim down')
|
||||
elif data['event'] == 4002:
|
||||
self.log('Button off')
|
||||
```
|
||||
{% endraw %}
|
||||
|
|
|
@ -105,6 +105,22 @@ By default, Snips runs its own MQTT broker. But we can also tell Snips to use an
|
|||
|
||||
## {% linkable_title Home Assistant configuration %}
|
||||
|
||||
{% configuration %}
|
||||
feedback_sounds:
|
||||
description: Turn on feedbacks sounds for Snips
|
||||
required: false
|
||||
type: str
|
||||
default: false
|
||||
site_ids:
|
||||
description: A list of siteIds if using multiple Snips instances. Used to make sure feedback is toggled on or off for all sites
|
||||
required: false
|
||||
type: str
|
||||
probability_threshhold:
|
||||
description: Threshhold for intent probability. Intents under this level are discarded
|
||||
require: false
|
||||
type: int
|
||||
{% endconfiguration %}
|
||||
|
||||
### {% linkable_title Specifying the MQTT broker %}
|
||||
|
||||
Messages between Snips and Home Assistant are passed via MQTT. We can either point Snips to the MQTT broker used by Home Assistant, as explained above, or tell Home Assistant which [MQTT broker](/docs/mqtt/) to use by adding the following entry to the `configuration.yaml` file:
|
||||
|
@ -147,7 +163,9 @@ In the `data_template` block, we have access to special variables, corresponding
|
|||
|
||||
### {% linkable_title Special slots %}
|
||||
|
||||
In the above example, the slots are plain strings. However, when more complex types are used, such as dates or time ranges, they will be transformed to rich Python objects, for example:
|
||||
Two special values for slots are populated with the siteId the intent originated from and the probability value for the intent.
|
||||
|
||||
In the above example, the slots are plain strings. However, snips has a duration builtin value used for setting timers and this will be parsed to a seconds value.
|
||||
|
||||
{% raw %}
|
||||
```yaml
|
||||
|
@ -159,13 +177,14 @@ SetTimer:
|
|||
service: script.set_timer
|
||||
data_template:
|
||||
name: "{{ timer_name }}"
|
||||
duration: "{{ timer_duration }}"
|
||||
seconds: "{{ slots.timer_duration.value.seconds }}"
|
||||
minutes: "{{ slots.timer_duration.value.minutes }}"
|
||||
hours: "{{ slots.timer_duration.value.hours }}"
|
||||
duration: "{{ timer_duration }}",
|
||||
siteId: "{{ siteId }}",
|
||||
probability: "{{ probability }}"
|
||||
```
|
||||
{% endraw %}
|
||||
|
||||
|
||||
|
||||
### {% linkable_title Sending TTS Notifications %}
|
||||
|
||||
You can send TTS notifications to Snips using the snips.say and snips.say_action services. Say_action starts a session and waits for user response, "Would you like me to close the garage door?", "Yes, close the garage door".
|
||||
|
@ -202,7 +221,7 @@ intent_script:
|
|||
turn_on_light:
|
||||
speech:
|
||||
type: plain
|
||||
text: 'OK, closing the garage door'
|
||||
text: 'OK, turning on the light'
|
||||
action:
|
||||
service: light.turn_on
|
||||
```
|
||||
|
@ -256,7 +275,7 @@ intent_script:
|
|||
|
||||
##### {% linkable_title Weather %}
|
||||
|
||||
So now you can open and close your garage door, let's check the weather. Add the Weather by Snips Skill to your assistant. Create a weather sensor, in this example (Dark Sky)[/components/sensor.darksky/] and the `api_key` in the `secrets.yaml` file.
|
||||
So now you can open and close your garage door, let's check the weather. Add the Weather by Snips Skill to your assistant. Create a weather sensor, in this example [Dark Sk](/components/sensor.darksky/) and the `api_key` in the `secrets.yaml` file.
|
||||
|
||||
```yaml
|
||||
- platform: darksky
|
||||
|
@ -272,7 +291,7 @@ So now you can open and close your garage door, let's check the weather. Add the
|
|||
- temperature_min
|
||||
```
|
||||
|
||||
Then create this `intent_script.yaml` file in your configuration directory.
|
||||
Then add this to your configuration file.
|
||||
|
||||
{% raw %}
|
||||
```yaml
|
||||
|
|
|
@ -17,7 +17,7 @@ You need to have a [supported Z-Wave USB stick or module](https://github.com/Ope
|
|||
|-------------------------|----------------|------------------|--------------|
|
||||
| Aeotec Z-Stick | ✓ | | |
|
||||
| Aeotec Z-Stick Series 2 | ✓ | | |
|
||||
| Aeotec Z-Stick Series 5 | ✓ | | ✓ |
|
||||
| Aeotec Z-Stick Series 5 | ✓ | ✓ | ✓ |
|
||||
| Pine64 Z-Wave Module | ✓ | | |
|
||||
| Razberry GPIO Module | ✓ | | |
|
||||
| Seluxit ViaSens 100 | | | |
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue