diff --git a/source/_components/homematic.markdown b/source/_components/homematic.markdown index feb48621efa..ef5a77a2ded 100644 --- a/source/_components/homematic.markdown +++ b/source/_components/homematic.markdown @@ -73,7 +73,7 @@ homematic: port: 2010 ``` -### The `resolvenames` option +### {% linkable_title The `resolvenames` option %} We use three approaches to fetch the names of devices. Each assumes you have properly named your devices in your existing Homematic setup. As a general advice: Use ASCII for your devices names. Home Assistant won't include non-ASCII characters in entity-names. @@ -83,13 +83,13 @@ We use three approaches to fetch the names of devices. Each assumes you have pro Resolving names can take some time. So when you start Home Assistant you won't see you devices at first. For a setup with 20+ devices it can take up to a minute until all devices show up in the UI. -### Multiple hosts +### {% linkable_title Multiple hosts %} In order to allow communication with multiple hosts or different protocols in parallel (wireless, wired and ip), multiple connections will be established, each to the configured destination. The name you choose for the host has to be unique and limited to ASCII letters. Using multiple hosts has the drawback, that the services (explained below) may not work as expected. Only one connection can be used for services, which limits the devices/variables a service can use to the scope/protocol of the host. This does *not* affect the entites in Home Assistant. They all use their own connection and work as expected. -### Reading attributes of entities +### {% linkable_title Reading attributes of entities %} Most devices have, besides their state, additional attributes like their battery state or valve position. These can be accessed using templates in automations, or even as their own entities using the [template sensor](https://home-assistant.io/components/sensor.template/) component. Here's an example of a template sensor that exposes the valve state of a thermostat. @@ -103,20 +103,20 @@ sensor: friendly_name: 'Bedroom valve' ``` -### Variables +### {% linkable_title Variables %} It is possible to read and set values of system variables you have setup on the CCU/Homegear. The supported types for setting values are float- and bool-variables. The states of the variables are available through the attributes of your hub entity (e.g. `homematic.rf`). Use templates (as mentioned above) to make your variables available to automations or as entities. The values of variables are polled from the CCU/Homegear in an interval of 30 seconds. Setting the value of a variable happens instantly and is directly pushed. -### Events +### {% linkable_title Events %} When HomeMatic devices change their state or some other internal value, the CCU/Homegear sends event messages to Home Assistant. These events are automatically parsed and the entities in Home Assistant are updated. However, you can also manually use these events to trigger automations. Two event-types are available: * **homematic.keypress**: For devices with buttons, see information below * **homematic.impulse**: For impulse sensors -#### Devices with buttons +#### {% linkable_title Devices with buttons %} Devices with buttons (e.g. HM-Sen-MDIR-WM55, remote controls) may not be fully visible in the UI. This is intended, as buttons don't serve any value here and all they do is trigger events. As an example: @@ -141,14 +141,14 @@ automation: The channel parameter is equal to the channel of the button you are configuring the automation for. You can view the available channels in the UI you use to pair your devices. The name depends on if you chose to resolve names or not. If not, it will be the device ID (e.g. LEQ1234657). If you chose to resolve names (and that is successful), it will be the name you have set in your CCU or in the metadata (e.g. "Kitchen Switch"). -### Services +### {% linkable_title Services %} * *homematic.virtualkey*: Simulate a keypress (or other valid action) on CCU/Homegear with device or virtual keys. * *homematic.reconnect*: Reconnect to CCU/Homegear without restarting Home Assistant (useful when CCU has been restarted) * *homematic.set_var_value*: Set the value of a system variable. * *homematic.set_dev_value*: Control a device manually (even devices without support). Equivalent to setValue-method from XML-RPC. -#### Examples +#### {% linkable_title Examples %} Simulate a button being pressed ```yaml ... @@ -183,7 +183,7 @@ action: ``` -#### Advanced examples +#### {% linkable_title Advanced examples %} If you are familiar with the internals of HomeMatic devices, you can manually set values on the devices. This can serve as a workaround if support for a device is currently not available, or only limited functionality has been implemented. Using this service provides you direct access to the setValue-method of the primary connection. If you have multiple hosts, you may select the one hosting a specific device by providing the proxy-parameter with a value equivalent to the name you have chosen. In the example configuration from above `rf`, `wired` and `ip` would be valid values.