mirror of
https://github.com/home-assistant/home-assistant.io.git
synced 2025-07-19 07:17:14 +00:00
Added new services, minor changes
This commit is contained in:
parent
9d226dbd87
commit
cd6edb1f2b
@ -27,55 +27,59 @@ To set up the component, add the following information to your `configuration.ya
|
|||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
homematic:
|
homematic:
|
||||||
wireless:
|
hosts:
|
||||||
ip: 127.0.0.1
|
wireless:
|
||||||
|
ip: 127.0.0.1
|
||||||
```
|
```
|
||||||
|
|
||||||
Configuration variables (global):
|
Configuration variables (global):
|
||||||
|
|
||||||
|
- **hosts** (*Required*): Configuration for each host to integrate into Home Assistant.
|
||||||
- **local_ip** (*Optional*): IP of device running Home Assistant. Override autodetected value for exotic network setups.
|
- **local_ip** (*Optional*): IP of device running Home Assistant. Override autodetected value for exotic network setups.
|
||||||
- **local_port** (*Optional*): Port for connection with Home Assistant. By default it is randomly assigned.
|
- **local_port** (*Optional*): Port for connection with Home Assistant. By default it is randomly assigned.
|
||||||
- **delay** (*Optional*): <Float> Delay fetching of current state per device on startup. Used to prevent overloading of the CCU. Defaults to 0.5.
|
- **delay** (*Optional*): [Float] Delay fetching of current state per device on startup. Used to prevent overloading of the CCU. Defaults to 0.5.
|
||||||
|
|
||||||
Configuration variables (host):
|
Configuration variables (host):
|
||||||
|
|
||||||
- **ip** (*Required*): IP of CCU/Homegear
|
- **ip** (*Required*): IP of CCU/Homegear
|
||||||
- **port** (*Optional*): Port of Homegear/CCU XML-RPC Server (default is 2001, use 2000 for wired and 2010 for IP)
|
- **port** (*Optional*): Port of Homegear/CCU XML-RPC Server (default is 2001, use 2000 for wired and 2010 for IP)
|
||||||
- **resolvenames** (*Optional*): <metadata, json, xml> Try to fetch device names. Defaults to `False` if not specified.
|
- **resolvenames** (*Optional*): [`metadata`, `json`, `xml`] Try to fetch device names. Defaults to `false` if not specified.
|
||||||
- **username** (*Optional*): When fetching names via JSON-RPC, you need to specify a user with guest-access to the CCU.
|
- **username** (*Optional*): When fetching names via JSON-RPC, you need to specify a user with guest-access to the CCU.
|
||||||
- **password** (*Optional*): When fetching names via JSON-RPC, you need to specify the password of the user you have configured above.
|
- **password** (*Optional*): When fetching names via JSON-RPC, you need to specify the password of the user you have configured above.
|
||||||
- **primary** (*Optional*): Set to True when using multiple hosts and this host should provide the services and variables.
|
- **primary** (*Optional*): Set to `true` when using multiple hosts and this host should provide the services and variables.
|
||||||
- **variables** (*Optional*): Set to True if you want to use CCU2/Homegear variables. Should only be enabled for the primary host.
|
- **variables** (*Optional*): Set to `true` if you want to use CCU2/Homegear variables. Should only be enabled for the primary host.
|
||||||
|
|
||||||
#### Example configuration with multiple protocols and some other options set:
|
#### Example configuration with multiple protocols and some other options set:
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
homematic:
|
homematic:
|
||||||
rf:
|
delay: 1.0
|
||||||
ip: 127.0.0.1
|
hosts:
|
||||||
resolvenames: json
|
rf:
|
||||||
username: Admin
|
ip: 127.0.0.1
|
||||||
password: secret
|
resolvenames: json
|
||||||
primary: true
|
username: Admin
|
||||||
variables: true
|
password: secret
|
||||||
wired:
|
primary: true
|
||||||
ip: 127.0.0.1
|
variables: true
|
||||||
port: 2000
|
wired:
|
||||||
resolvenames: json
|
ip: 127.0.0.1
|
||||||
username: Admin
|
port: 2000
|
||||||
password: secret
|
resolvenames: json
|
||||||
ip:
|
username: Admin
|
||||||
ip: 127.0.0.1
|
password: secret
|
||||||
port: 2010
|
ip:
|
||||||
|
ip: 127.0.0.1
|
||||||
|
port: 2010
|
||||||
```
|
```
|
||||||
|
|
||||||
### The `resolvenames` option
|
### 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.
|
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.
|
||||||
|
|
||||||
1. The CCU allows to fetch details of the paired devices via JSON-RPC. For this to work you need to add valid credentials to your component-configuration. Guest-access is sufficient to query for device names.
|
1. `json`: The CCU allows to fetch details of the paired devices via JSON-RPC. For this to work you need to add valid credentials to your component-configuration. Guest-access is sufficient to query for device names.
|
||||||
2. If you use a CCU, there is an add-on called the "XML-API". With it installed, you are able to fetch all kinds of information from you CCU using XML-RPC. We can leverage this and fetch the names of devices set within the CCU. We don't support authentication with this method.
|
2. `xml`: If you use a CCU, there is an add-on called the "XML-API". With it installed, you are able to fetch all kinds of information from you CCU using XML-RPC. We can leverage this and fetch the names of devices set within the CCU. We don't support authentication with this method.
|
||||||
3. Homegear provides device-names through the metadata devices internally have. When using an HM-CFG-LAN interface, you typically use a configuration software ("HomeMatic-Komponenten konfigurieren" is the name of the shortcut on your desktop by default) to pair and configure your devices. If you have paired devices, you'll see them listed in a table. The leftmost column (Name) is prefilled with default names. You can click such a name and enter whatever you like.
|
3. `metadata`: Homegear provides device-names through the metadata devices internally have. When using an HM-CFG-LAN interface, you typically use a configuration software ("HomeMatic-Komponenten konfigurieren" is the name of the shortcut on your desktop by default) to pair and configure your devices. If you have paired devices, you'll see them listed in a table. The leftmost column (Name) is prefilled with default names. You can click such a name and enter whatever you like.
|
||||||
|
|
||||||
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.
|
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.
|
||||||
|
|
||||||
@ -126,7 +130,9 @@ The name depends on if you chose to resolve names or not. If not, it will be the
|
|||||||
### Services
|
### Services
|
||||||
|
|
||||||
* *homematic.virtualkey*: Simulate a keypress (or other valid action) on CCU/Homegear with device or virtual keys.
|
* *homematic.virtualkey*: Simulate a keypress (or other valid action) on CCU/Homegear with device or virtual keys.
|
||||||
* *homematic.set_value*: Set the value of a system variable.
|
* *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
|
#### Examples
|
||||||
Simulate a button being pressed
|
Simulate a button being pressed
|
||||||
@ -150,12 +156,43 @@ action:
|
|||||||
channel: 1
|
channel: 1
|
||||||
param: OPEN
|
param: OPEN
|
||||||
```
|
```
|
||||||
|
|
||||||
Set variable
|
Set variable
|
||||||
```yaml
|
```yaml
|
||||||
...
|
...
|
||||||
action:
|
action:
|
||||||
service: homematic.set_value
|
service: homematic.set_var_value
|
||||||
data:
|
data:
|
||||||
entity_id: homematic.varname_bool
|
entity_id: homematic.varname_bool
|
||||||
value: true
|
value: true
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
|
#### 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.
|
||||||
|
|
||||||
|
Manually turn on a switch actor
|
||||||
|
```yaml
|
||||||
|
...
|
||||||
|
action:
|
||||||
|
service: homematic.set_dev_value
|
||||||
|
data:
|
||||||
|
address: LEQ1234567
|
||||||
|
channel: 1
|
||||||
|
param: STATE
|
||||||
|
value: true
|
||||||
|
```
|
||||||
|
|
||||||
|
Manually set temperature on thermostat
|
||||||
|
```yaml
|
||||||
|
...
|
||||||
|
action:
|
||||||
|
service: homematic.set_dev_value
|
||||||
|
data:
|
||||||
|
address: LEQ1234567
|
||||||
|
channel: 4
|
||||||
|
param: SET_TEMPERATURE
|
||||||
|
value: 23.0
|
||||||
|
```
|
||||||
|
Loading…
x
Reference in New Issue
Block a user