New Homematic implementation (#586)

* New Homematic documentation

* Fixed grammar

* Explained resolvenames option
This commit is contained in:
Daniel 2016-06-26 11:39:28 +02:00 committed by Fabian Affolter
parent 37969a2c03
commit fa5418895b
7 changed files with 341 additions and 13 deletions

View File

@ -0,0 +1,86 @@
---
layout: page
title: "Homematic Binary Sensor"
description: "Instructions how to integrate Homematic binary sensors within Home Assistant."
date: 2016-06-25 19:43
sidebar: true
comments: false
sharing: true
footer: true
logo: homematic.png
ha_category: Binary Sensors
ha_release: 0.23
---
The `homematic` binary_sensor platform lets you observe the state changes of binary [Homematic](http://www.homematic.com/) sensors through Home Assistant.
To set it up, add the following information to your `configuration.yaml` file:
```yaml
binary_sensor:
platform: homematic
address: DEV1234567
name: Window
```
Configuration variables:
- **platform** (*Required*: Needed to let Home Assistant know this is a Homematic rollershutter.
- **address** (*Required*): The serial number of the device, eg. LEQ1234567
- **name** (*Optional*): Name to identify the device.
- **button** (*Optional*): Channel of the device to monitor (default: 1)
- **param** (*Optional*): For devices with multiple channels and possible events, you may define which event type you want to attatch to this entity. If none is specified all events will turn the state to on.
- **hidden** (*Optional*): Hide device from UI. Makes sense for buttons that will only trigger automations etc. (default: False)
Currently the following devices are supported:
- Motion detectors (param: MOTION)
- Remotes (wall-mounted buttons, handheld devices) (param: PRESS_SHORT, PRESS_LONG)
- Smoke detectors (no parameters needed)
- Shutter contacts for doors, windows etc. (no parameters needed)
- Gong / Doorbell buttons (no parameters needed)
Beware, that binary sensors might be included in devices that also have other functions. For example: The HM-Sen-MDIR-WM55 motion detector does not only detect motion (no motion == False, motion == True), it also detects the surrounding brightness (configure as sensor to monitor brightness from 0 to 255) and has buttons which can be pressed in different ways. Since buttons can only be pressed or not pressed, we consider them as binary sensors.
The way buttons work is, that the entity for the specified parameter will be set to on and off again. So if you press the button shortly, it will flip on and off instantly, which could trigger some automation. If you hold down the button, the entity configured for the long press will be flipped on and off and can trigger another automation. As of now, we don't support the release of the long press and the continuation events that happen inbewteen.
You may leave out the parameter, which will result in a single entity turning on and off on any supported event.
As an example for a complete configuration of the HM-Sen-MDIR-WM55 device:
```yaml
sensor:
- platform: homematic
address: DEV1234567
name: Entrance PIR Brightness
param: BRIGHTNESS
binary_sensor:
- platform: homematic
address: DEV1234567
name: Entrance PIR Motion
param: MOTION
- platform: homematic
address: DEV1234567
name: Entrance PIR 1 Short
button: 1
param: PRESS_SHORT
hidden: True
- platform: homematic
address: DEV1234567
name: Entrance PIR 1 Long
button: 1
param: PRESS_LONG
hidden: True
- platform: homematic
address: DEV1234567
name: Entrance PIR 2 Short
button: 2
param: PRESS_SHORT
hidden: True
- platform: homematic
address: DEV1234567
name: Entrance PIR 2 Long
button: 2
param: PRESS_LONG
hidden: True
```

View File

@ -0,0 +1,66 @@
---
layout: page
title: "Homematic"
description: "Instructions for how to integrate Homematic device into Home Assistant."
date: 2016-06-23 17:54
sidebar: true
comments: false
sharing: true
footer: true
logo: homematic.png
ha_category: Hub
featured: true
---
The [Homematic](http://www.homematic.com/) component provides bi-directional communication of Homematic platforms with their real world counterparts. Setting up this component is mandatory to make use of Homematic devices within Home Assistant.
Additionally, you will have to configure each of your devices. Further information on how to setup specific devices can be found in the corresponding platform-documentation for Homematic devices on the right.
Device support is currently available for most of:
- Switch/Dimmer-actors
- Thermostats
- Rollershutters
- Sensors (shutter contacts, motion detectors, power meters and more)
- Simple remote controls
If you want to see if a specific device you have is supported, head over to the [pyhomematic](https://github.com/danielperna84/pyhomematic/tree/master/pyhomematic/devicetypes) repository and browse through the sourcecode. A dictionary with the device identifiers (e.g. HM-Sec-SC-2) can be found within the relevant modules near the bottom.
There are some devices which expose multiple functionalities. For example: The HM-Sen-MDIR-WM55 motion detector can be configured as 6 individual entities within HA.
1. Motion detector (binary_sensor platform)
2. Button 1 short press (binary_sensor platform)
3. Button 1 long press (binary_sensor platform)
4. Button 2 short press (binary_sensor platform)
5. Button 2 long press (binary_sensor platform)
6. Brightness sensor (sensor platform)
We also have experimental autodetection support. If you ONLY configure this homematic-component and set autodetect to True, Home Assistant will try to automatically detect and configure each (supported) device paired to your CCU / Homegear. The resulting HA-entities will be named in the fashion of _ADDRESS CHANNEL PARAMETER_. This will provide you with the information which of your devices are supported and may be explicitly configured manually for a more useful integration into Home Assistant. Beware, that autodetection may put heavy load on your CCU and may take some time to complete (maybe 2-3 minutes when a lot of devices are present). Keep an eye on theservice messages on your CCU. If they show up while starting HA, increase the delay parameter in your configuration.
Afterwards you may incrementally configure each device the way you want. Manually configured devices will be handled first and won't be processed again when autodetection is still enabled.
To set up the component, add the following information to your `configuration.yaml` file:
```yaml
homematic:
local_ip: 127.0.0.1
local_port: 8943
remote_ip: 127.0.0.1
remote_port: 2001
autodetect: False
```
Configuration variables:
- **local_ip** (*Required*): IP of device running Home Assistant
- **local_port** (*Optional*): Port for connection with Home Assistant (default: 8943)
- **remote_ip** (*Required*): IP of CCU / Homegear
- **remote_port** (*Required*): Port of Homegear / CCU XML-RPC Server (usually 2001)
- **autodetect** (*Optional*): <True/False> experimental, detect all devices (default: False)
- **resolvenames** (*Optional*): <True/False> Try to fetch device names from HM-CFG-LAN metadata or XML-API on CCU (default: False)
- **delay** (*Optional*): <Float> Delay fetching of current state per deivce. Useful to prevent overloading CCU when initially fetching device states. (Default: 0.5)
To further explain the ```resolvenames``` option:
We use two approaches to fetch the names of devices. Either one assumes you have properly named your devices in your existing Homematic setup.
1. Using the metadata devices internally have. When using a 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. But you should Stick to ASCII. So rather use _Kueche_ instead of _Küche_. Which also makes sense because the entity-names in HA are ASCII as well.
2. If you use a regular CCU, there is an add-on called the "XML-API". With it installed, you are generally 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. For some reason the CCU does NOT save the names to the metadata, so we have to use this workaround.

View File

@ -0,0 +1,54 @@
---
layout: page
title: "Homematic Light"
description: "Instructions how to integrate Homematic lights within Home Assistant."
date: 2016-06-25 12:10
sidebar: true
comments: false
sharing: true
footer: true
logo: homematic.png
ha_category: Light
ha_release: 0.23
---
The `homematic` light platform lets you control [Homematic](http://www.homematic.com/) lights through Home Assistant.
You have the choice to configure switch-devices as light entities within HA if you have lights attatched to the switch and it makes sense for your setup. If the switch uses multiple channels to control different devices, you may mix the configurations.
To set it up, add the following information to your `configuration.yaml` file:
```yaml
light:
platform: homematic
address: LEQ1234567
name: Kitchen
button: 1
```
Configuration variables:
- **platform** (*Required*: Needed to let Home Assistant know this is a Homematic rollershutter.
- **address** (*Required*): The serial number of the device, eg. LEQ1234567
- **name** (*Optional*): Name to identify the device.
- **button** (*Optional*): Channel of the Homematic interface to interact with (Default: 1)
Currently the following devices are supported:
- Switch from 1 to 4 channels
- Dimmer from 1 to 2 channels
- Switch powermeter
As an example for a mixed configuration of a HM-LC-Sw2-FM actor:
```yaml
light:
platform: homematic
address: LEQ1234567
name: Livingroom
button: 1
switch:
platform: homematic
address: LEQ1234567
name: Ceiling fan
button: 2
```

View File

@ -0,0 +1,31 @@
---
layout: page
title: "Homematic Rollershutter"
description: "Instructions how to integrate Homematic rollershutters within Home Assistant."
date: 2016-06-25 12:05
sidebar: true
comments: false
sharing: true
footer: true
logo: homematic.png
ha_category: Rollershutter
ha_release: 0.23
---
The `homematic` rollershutter platform lets you control [Homematic](http://www.homematic.com/) rollershutters through Home Assistant.
To set it up, add the following information to your `configuration.yaml` file:
```yaml
rollershutter:
platform: homematic
address: LEQ1234567
name: Kitchen
```
Configuration variables:
- **platform** (*Required*: Needed to let Home Assistant know this is a Homematic rollershutter.
- **address** (*Required*): The serial number of the device, eg. LEQ1234567
- **name** (*Optional*): Name to identify the device.

View File

@ -0,0 +1,40 @@
---
layout: page
title: "Homematic Sensor"
description: "Instructions how to integrate Homematic senors within Home Assistant."
date: 2016-06-25 12:58
sidebar: true
comments: false
sharing: true
footer: true
logo: homematic.png
ha_category: Sensor
ha_release: 0.23
---
The `homematic` sensor platform lets you view various [Homematic](http://www.homematic.com/) sensors within Home Assistant.
To set it up, add the following information to your `configuration.yaml` file:
```yaml
sensor:
platform: homematic
address: LEQ1234567
name: Dishwasher
param: POWER
```
Configuration variables:
- **platform** (*Required*: Needed to let Home Assistant know this is a Homematic rollershutter.
- **address** (*Required*): The serial number of the device, eg. LEQ1234567
- **name** (*Optional*): Name to identify the device.
- **button** (*Optional*): Channel of the device to monitor (default: 1)
- **param** (*Optional*): For devices with multiple channels and possible events, you may define which event type you want to attatch to this entity.
Currently the following devices are supported:
- Thermostats / Weather sensors (param: TEMPERATURE, HUMIDITY)
- Switch Powermeter (param: POWER, CURRENT, VOLTAGE, FREQUENCY, ENERGY_COUNTER)
- Motion detectors (param: BIRGHTNESS)
- Rotary (no parameters needed)

View File

@ -0,0 +1,53 @@
---
layout: page
title: "Homematic Switch"
description: "Instructions how to integrate Homematic switches within Home Assistant."
date: 2016-06-25 12:24
sidebar: true
comments: false
sharing: true
footer: true
logo: homematic.png
ha_category: Switch
ha_release: 0.23
---
The `homematic` switch platform lets you control [Homematic](http://www.homematic.com/) switches through Home Assistant.
If the switch uses multiple channels to control different devices, you may setup multiple HA entities. Switches may also be configured as light entities if you have lights attatched to them. Besides that, there a switches that have included sensors, which may also be configured as separate HA entities.
To set it up, add the following information to your `configuration.yaml` file:
```yaml
switch:
platform: homematic
address: LEQ1234567
name: Dishwasher
button: 1
```
Configuration variables:
- **platform** (*Required*: Needed to let Home Assistant know this is a Homematic rollershutter.
- **address** (*Required*): The serial number of the device, eg. LEQ1234567
- **name** (*Optional*): Name to identify the device.
- **button** (*Optional*): Channel of the Homematic interface to interact with (Default: 1)
Currently the following devices are supported:
- Switch from 1 to 4 channels
- Dimmer from 1 to 2 channels
- Switch with powermeter
As an example for a HM-ES-PMSw1-DR switch with powermeter sensors:
```yaml
switch:
- platform: homematic
address: LEQ1234657
name: Dishwascher
sensor:
- platform: homematic
address: LEQ1234657
name: Dishwascher Power
param: POWER
```

View File

@ -2,36 +2,34 @@
layout: page
title: "Homematic Thermostat"
description: "Instructions how to integrate Homematic thermostats within Home Assistant."
date: 2015-11-25 08:00
date: 2016-06-25 12:08
sidebar: true
comments: false
sharing: true
footer: true
logo: homematic.png
ha_category: Thermostat
ha_release: 0.9
ha_release: 0.23
---
The `homematic` thermostat platform let you control [Homematic](http://www.homematic.com/) thermostat from Home Assistant. Currently there is support for Homematic (HM-TC-IT-WM-W-EU, HM-CC-RT-DN) thermostats using Homegear or Homematic central (CCU1/CCU2).
The `homematic` thermostat platform lets you control [Homematic](http://www.homematic.com/) thermostats through Home Assistant. MAX!-Thermostats are supported as well.
To set it up, add the following information to your `configuration.yaml` file:
```yaml
thermostat:
platform: homematic
address: HOMEGEAR/CCU_ADDRESS
devices:
Livingroom 1:
id: DEVICE_SERIAL_NO
Livingroom 2:
id: DEVICE_SERIAL_NO
address: LEQ1234567
name: Kitchen
```
Configuration variables:
- **address** (*Required*: Adress of your Homegear or Homeatic central, eg. http://localhost:2001
- **devices** array (*Required*): List of all your Homeatic devices.
- **name** (*Required*): Name to identify the device.
- **id** (*Required*): The serial number of the device, eg. MEQ0791521
- **platform** (*Required*: Needed to let Home Assistant know this is a Homematic thermostat.
- **address** (*Required*): The serial number of the device, eg. LEQ1234567
- **name** (*Optional*): Name to identify the device.
Currently the following devices are supported:
- Thermostats
- Wall Thermostats