File: switch.md

package info (click to toggle)
python-xknx 3.14.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 4,064 kB
  • sloc: python: 40,895; javascript: 8,556; makefile: 32; sh: 12
file content (46 lines) | stat: -rw-r--r-- 1,478 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
---
layout: default
title: Switches
parent: Devices
nav_order: 9
---

# [](#header-1)Switches

## [](#header-2)Overview

Switches are simple representations of binary actors. They mainly support switching on and off.

## [](#header-2)Interface

- `xknx` is the XKNX object.
- `name` is the name of the object.
- `group_address` is the KNX group address of the switch device. Used for sending.
- `group_address_state` is the KNX group address of the switch state. Used for updating and reading state.
- `respond_to_read` if `True` GroupValueRead requests to the `group_address` are answered. Defaults to `False`
- `sync_state` defines if and how often the value should be actively read from the bus. If `False` no GroupValueRead telegrams will be sent to its group address. Defaults to `True`
- `invert` inverts the payload so state "on" is represented by 0 on bus and "off" by 1. Defaults to `False`
- `reset_after` may be used to reset the switch to `OFF` again after given time in sec. Defaults to `None`
- `device_updated_cb` Callback for each update.


## [](#header-2)Example

```python
switch = Switch(xknx, 'TestOutlet', group_address='1/2/3')
xknx.devices.async_add(switch)

# Accessing switch via xknx.devices
await xknx.devices['TestOutlet'].set_on()

# Switching switch on
await switch.set_on()
# Switching switch off
await switch.set_off()

# Accessing state
print(switch.state)

# Requesting state via KNX GroupValueRead
await switch.sync(wait_for_result=True)
```