Skip to content

Commit

Permalink
Add documentation in README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
wasilukm committed Nov 17, 2022
1 parent ba268f7 commit 48a1e90
Showing 1 changed file with 223 additions and 0 deletions.
223 changes: 223 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,223 @@
# Alternative Satel Integra

The integration is based on build in Home Assistant [Satel Integra integration](https://www.home-assistant.io/integrations/satel_integra/).
It provides the following additional features comparing to the mainstream integration:

- encrypted communication (see `integration_key` configuration variable)

The `satel_integra` integration will allow Home Assistant users who own a Satel Integra alarm panel to leverage their alarm system and its sensors to provide Home Assistant with information about their homes. Connectivity between Home Assistant and the alarm is accomplished through a ETHM extension module that must be installed in the alarm. Compatible with ETHM-1 Plus module with firmware version > 2.00 (version 2.04 confirmed).

There is currently support for the following device types within Home Assistant:

- Binary Sensor: Reports on zone or output statuses
- Switch: allows for setting states of selected outputs
- Alarm Control Panel: represents the zones (in Polish: "strefa"). Reports its status, and can be used to arm/disarm the partition

The module communicates via Satel's open TCP protocol published on their website. It subscribes for new events coming from alarm system and reacts to them immediately.

## Setup

Please note that **ETHM-1 module is currently not supported**: it does not provide functionality used by this extension. At the moment only ETHM-1 Plus module is supported. That might change in the future, but no promises are given.

A list of all partition, zone and output IDs can be acquired by running DloadX program and connecting to your alarm.

For the Binary Sensor check the [type/class](https://www.home-assistant.io/integrations/binary_sensor/) list for a possible visualization of your zones. Note: If no zones or outputs are specified, Home Assistant will not load any binary_sensor components.

### Manual installation
- copy `custom_componetns/satel_integra` to your Home Assistant configuration folder
- update `configuration.yaml` (see below)
- restart Home Assistant

### Installation with HACS

- add the repository to the [HACS custom repositories](https://hacs.xyz/docs/faq/custom_repositories)
- in HACS look for Alternative Satel Integra and install the integration
- restart Home Assistant

### Removal

Uninstall in HACS or manually remove `satel_integra` folder from `custom_components`. After this, restart Home Assistant.

Please note that `Alternative Satel Integra` overrides core `Satel Integra`, so after removal the core integration
will start working. To avoid this, remove `satel_integra` entries from `configuration.yaml`

## Configuration

The configuration is compatible with the original `Satel Integra`. Therefore, migration to `Alternative Satel Integra`
doesn't require any modifications unless a user wants to use new features.

A `satel_integra` section must be present in the `configuration.yaml` file:

```yaml
# Example configuration.yaml entry
satel_integra:
host: IP_ADDRESS
```
### Configuration Variables
#### host
The IP address of the Satel Integra ETHM module on your home network, if using socket type.
- *required*: true
- *default*: localhost
- *type*: string
#### port
The port on which the ETHM module listens for clients using integration protocol.
- *required*: false
- *default*: 7094
- *type*: integer
#### code
User password, it's needed for making use of the switchable_outputs. It's recommended not to use admin password.
- *required*: false
- *type*: string
#### integration_key
Integration key for encrypted communication. If not specified then communication will not be encrypted.
Set the same value as configured in Satel Integra system (check manual for more information)
- *required*: false
- *type*: string
#### partitions
List of the partitions to operate on.
- *required*: false
- *type*: [integer, list]
    **name**
    Name of the partition.
- *required*: true
- *type*: string
    **arm_home_mode**
    The mode in which the partition is armed when 'arm home' is used. Possible options are `1`,`2` or `3`.

    For more information on what the differences are between them, please refer to Satel Integra manual.

- *required*: false
- *default*: 1
- *type*: integer

#### zones
This parameter lists the zones (or inputs) that will be visible by Home Assistant. For each zone, a proper ID must be given as well as its name. The name is arbitrary and does not need to match the one specified in Satel Integra alarm configuration.

- *required*: false
- *type*: [integer, list]

    **name**

    Name of the zone.

- *required*: true
- *type*: string

    **type**

    The zone type.

- *required*: false
- *default*: motion
- *type*: string

#### outputs
Very similar to zones, but with outputs. Satel Integra uses outputs to inform external systems about different events. For example power failure, or that alarm started counting for exit or some other user-defined condition. They may be used for simple alarm-based automation. For more information please refer to Satel homepage and forums.

- *required*: false
- *type*: [integer, list]

    **name**

    Name of the output.

- *required*: true
- *type*: string

    **type**

    The type of the device - just for presentation.

- *required*: false
- *default*: motion
- *type*: string

#### switchable_outputs
Switchable outputs. These will show up as switches within Home Assistant.

- *required*: false
- *type*: [integer, list]

    **name**

    Name of the output.

- *required*: true
- *type*: string

## Full examples

```yaml
# Example configuration.yaml entry
satel_integra:
host: 192.168.1.100
port: 7094
partitions:
01:
name: "House"
arm_home_mode: 2
02:
name: "Garage"
zones:
01:
name: "Bedroom"
type: "motion"
02:
name: "Hall"
type: "motion"
30:
name: "Kitchen - smoke"
type: "smoke"
113:
name: "Entry door"
type: "opening"
outputs:
05:
name: "Garden lights trigger"
type: "light"
09:
name: "Gate opening trigger"
type: "opening"
30:
name: "Alarm triggered"
type: "safety"
32:
name: "Alarm power problem"
type: "safety"
switchable_outputs:
05:
name: "Gate open"
06:
name: "Gate close"
14:
name: "Garden light"
```

Having configured the zones and the outputs, you can use them for automation, such as to react on the movement in your bedroom.
For example:

```yaml
alias: "Flick the input switch when movement in bedroom detected"
trigger:
platform: state
entity_id: "binary_sensor.bedroom"
to: "on"
action:
service: input_boolean.turn_on
target:
entity_id: input_boolean.movement_detected
```

0 comments on commit 48a1e90

Please sign in to comment.