Add configuration details and examples (#9)

This commit is contained in:
Shay Levy 2022-02-04 15:16:33 +02:00 committed by GitHub
parent 6b8a808460
commit 761ed59e77
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 114 additions and 16 deletions

View File

@ -10,9 +10,9 @@ The `rpi_gpio` integration supports the following platforms: `Binary Sensor`, `C
The recommend way to install `rpi_gpio` is through [HACS](https://hacs.xyz/). The recommend way to install `rpi_gpio` is through [HACS](https://hacs.xyz/).
### Manual install ### Manual installation
Copy the `rpi_gpio` folder and all of its contents into your Home Assistant's custom_components folder. This folder is usually inside your `/config` folder. If you are running Hass.io, use SAMBA to copy the folder over. You may need to create the `custom_components` folder and then copy the `rpi_gpio` folder and all of its contents into it. Copy the `rpi_gpio` folder and all of its contents into your Home Assistant's `custom_components` folder. This folder is usually inside your `/config` folder. If you are running Hass.io, use SAMBA to copy the folder over. You may need to create the `custom_components` folder and then copy the `rpi_gpio` folder and all of its contents into it.
# Usage # Usage
@ -25,7 +25,7 @@ The `rpi_gpio` binary sensor platform allows you to read sensor values of the GP
To use your Raspberry Pi's GPIO in your installation, add the following to your `configuration.yaml` file: To use your Raspberry Pi's GPIO in your installation, add the following to your `configuration.yaml` file:
```yaml ```yaml
# Example configuration.yaml entry # Basic configuration.yaml entry
binary_sensor: binary_sensor:
- platform: rpi_gpio - platform: rpi_gpio
ports: ports:
@ -33,6 +33,27 @@ binary_sensor:
12: PIR Bedroom 12: PIR Bedroom
``` ```
```yaml
# Full configuration.yaml entry
binary_sensor:
- platform: rpi_gpio
bouncetime: 80
invert_logic: true
pull_mode: "DOWN"
ports:
11: PIR Office
12: PIR Bedroom
```
### Options
| Key | Required | Default | Type | Description |
| -------------- | -------- | --------------------- | --------|------------------------------------------------------------------ |
| `bouncetime` | no | `50` | integer | The time in milliseconds for port debouncing |
| `invert_logic` | no | `false` (ACTIVE HIGH) | boolean | If `true`, inverts the output logic to ACTIVE LOW |
| `pull_mode` | no | `UP` | string | Type of internal pull resistor to use: `UP` - pull-up resistor, `DOWN` - pull-down resistor |
| `ports` | yes | | list | List of used ports ([BCM mode pin numbers](https://pinout.xyz/resources/raspberry-pi-pinout.png)) and corresponding names |
For more details about the GPIO layout, visit the Wikipedia [article](https://en.wikipedia.org/wiki/Raspberry_Pi#GPIO_connector) about the Raspberry Pi. For more details about the GPIO layout, visit the Wikipedia [article](https://en.wikipedia.org/wiki/Raspberry_Pi#GPIO_connector) about the Raspberry Pi.
## Cover ## Cover
@ -51,7 +72,7 @@ Although you do not need Andrews Hilliday's software controller when you run Hom
To enable Raspberry Pi Covers in your installation, add the following to your `configuration.yaml` file: To enable Raspberry Pi Covers in your installation, add the following to your `configuration.yaml` file:
```yaml ```yaml
# Example configuration.yaml entry # Basic configuration.yaml entry
cover: cover:
- platform: rpi_gpio - platform: rpi_gpio
covers: covers:
@ -59,10 +80,8 @@ cover:
state_pin: 11 state_pin: 11
``` ```
### Full example
```yaml ```yaml
# Example configuration.yaml entry # Full configuration.yaml entry
cover: cover:
- platform: rpi_gpio - platform: rpi_gpio
relay_time: 0.2 relay_time: 0.2
@ -77,6 +96,19 @@ cover:
name: "Right door" name: "Right door"
``` ```
### Options
| Key | Required | Default | Type | Description |
| ----------------- | -------- | ------- | ------- | ---------------------------------------------------------------- |
| `relay_time` | no | `0.2` | float | The time that the relay will be on for in seconds |
| `invert_relay` | no | `false` | boolean | Invert the relay pin output so that it is active-high (True) |
| `state_pull_mode` | no | `UP` | string | The direction the State pin is pulling. It can be `UP` or `DOWN` |
| `invert_state` | no | `false` | boolean | Invert the value of the State pin so that 0 means closed |
| `covers` | yes | | list | List of covers |
| `relay_pin` | yes | | integer | The pin of your Raspberry Pi where the relay is connected |
| `state_pin` | yes | | integer | The pin of your Raspberry Pi to retrieve the state |
| `name` | no | | string | The name for the cover entity |
### Remote Raspberry Pi Cover ### Remote Raspberry Pi Cover
If you don't have Home Assistant running on your Raspberry Pi and you want to use it as a remote cover instead, there is a project called [GarageQTPi](https://github.com/Jerrkawz/GarageQTPi) that will work remotely with the [MQTT Cover Component](/integrations/cover.mqtt/). Follow the GitHub instructions to install and configure GarageQTPi and once configured follow the Home Assistant instructions to configure the MQTT Cover. If you don't have Home Assistant running on your Raspberry Pi and you want to use it as a remote cover instead, there is a project called [GarageQTPi](https://github.com/Jerrkawz/GarageQTPi) that will work remotely with the [MQTT Cover Component](/integrations/cover.mqtt/). Follow the GitHub instructions to install and configure GarageQTPi and once configured follow the Home Assistant instructions to configure the MQTT Cover.
@ -90,7 +122,7 @@ The `rpi_gpio` switch platform allows you to control the GPIOs of your [Raspberr
To use your Raspberry Pi's GPIO in your installation, add the following to your `configuration.yaml` file: To use your Raspberry Pi's GPIO in your installation, add the following to your `configuration.yaml` file:
```yaml ```yaml
# Example configuration.yaml entry # Basic configuration.yaml entry
switch: switch:
- platform: rpi_gpio - platform: rpi_gpio
ports: ports:
@ -98,6 +130,23 @@ switch:
12: Light Desk 12: Light Desk
``` ```
```yaml
# Full configuration.yaml entry
switch:
- platform: rpi_gpio
invert_logic: true
ports:
11: Fan Office
12: Light Desk
```
### Options
| Key | Required | Default | Type | Description |
| -------------- | -------- | ------- | --------------- | --------------------------------------------------- |
| `invert_logic` | no | `false` | boolean | If true, inverts the output logic to ACTIVE LOW |
| `ports` | yes | | list | List of used ports ([BCM mode pin numbers](https://pinout.xyz/resources/raspberry-pi-pinout.png)) and corresponding names |
For more details about the GPIO layout, visit the Wikipedia [article](https://en.wikipedia.org/wiki/Raspberry_Pi#General_purpose_input-output_(GPIO)_connector) about the Raspberry Pi. For more details about the GPIO layout, visit the Wikipedia [article](https://en.wikipedia.org/wiki/Raspberry_Pi#General_purpose_input-output_(GPIO)_connector) about the Raspberry Pi.
**Note that a pin managed by Home Assistant is expected to be exclusive to Home Assistant.** **Note that a pin managed by Home Assistant is expected to be exclusive to Home Assistant.**
@ -106,7 +155,7 @@ A common question is what does Port refer to, this number is the actual GPIO #,
For example, if you have a relay connected to pin 11 its GPIO # is 17. For example, if you have a relay connected to pin 11 its GPIO # is 17.
```yaml ```yaml
# Example configuration.yaml entry # Basic configuration.yaml entry
switch: switch:
- platform: rpi_gpio - platform: rpi_gpio
ports: ports:

63
info.md
View File

@ -13,7 +13,7 @@ The `rpi_gpio` binary sensor platform allows you to read sensor values of the GP
To use your Raspberry Pi's GPIO in your installation, add the following to your `configuration.yaml` file: To use your Raspberry Pi's GPIO in your installation, add the following to your `configuration.yaml` file:
```yaml ```yaml
# Example configuration.yaml entry # Basic configuration.yaml entry
binary_sensor: binary_sensor:
- platform: rpi_gpio - platform: rpi_gpio
ports: ports:
@ -21,6 +21,27 @@ binary_sensor:
12: PIR Bedroom 12: PIR Bedroom
``` ```
```yaml
# Full configuration.yaml entry
binary_sensor:
- platform: rpi_gpio
bouncetime: 80
invert_logic: true
pull_mode: "DOWN"
ports:
11: PIR Office
12: PIR Bedroom
```
### Options
| Key | Required | Default | Type | Description |
| -------------- | -------- | --------------------- | --------|------------------------------------------------------------------ |
| `bouncetime` | no | `50` | integer | The time in milliseconds for port debouncing |
| `invert_logic` | no | `false` (ACTIVE HIGH) | boolean | If `true`, inverts the output logic to ACTIVE LOW |
| `pull_mode` | no | `UP` | string | Type of internal pull resistor to use: `UP` - pull-up resistor, `DOWN` - pull-down resistor |
| `ports` | yes | | list | List of used ports ([BCM mode pin numbers](https://pinout.xyz/resources/raspberry-pi-pinout.png)) and corresponding names |
For more details about the GPIO layout, visit the Wikipedia [article](https://en.wikipedia.org/wiki/Raspberry_Pi#GPIO_connector) about the Raspberry Pi. For more details about the GPIO layout, visit the Wikipedia [article](https://en.wikipedia.org/wiki/Raspberry_Pi#GPIO_connector) about the Raspberry Pi.
## Cover ## Cover
@ -39,7 +60,7 @@ Although you do not need Andrews Hilliday's software controller when you run Hom
To enable Raspberry Pi Covers in your installation, add the following to your `configuration.yaml` file: To enable Raspberry Pi Covers in your installation, add the following to your `configuration.yaml` file:
```yaml ```yaml
# Example configuration.yaml entry # Basic configuration.yaml entry
cover: cover:
- platform: rpi_gpio - platform: rpi_gpio
covers: covers:
@ -47,10 +68,8 @@ cover:
state_pin: 11 state_pin: 11
``` ```
### Full example
```yaml ```yaml
# Example configuration.yaml entry # Full configuration.yaml entry
cover: cover:
- platform: rpi_gpio - platform: rpi_gpio
relay_time: 0.2 relay_time: 0.2
@ -65,6 +84,19 @@ cover:
name: "Right door" name: "Right door"
``` ```
### Options
| Key | Required | Default | Type | Description |
| ----------------- | -------- | ------- | ------- | ---------------------------------------------------------------- |
| `relay_time` | no | `0.2` | float | The time that the relay will be on for in seconds |
| `invert_relay` | no | `false` | boolean | Invert the relay pin output so that it is active-high (True) |
| `state_pull_mode` | no | `UP` | string | The direction the State pin is pulling. It can be `UP` or `DOWN` |
| `invert_state` | no | `false` | boolean | Invert the value of the State pin so that 0 means closed |
| `covers` | yes | | list | List of covers |
| `relay_pin` | yes | | integer | The pin of your Raspberry Pi where the relay is connected |
| `state_pin` | yes | | integer | The pin of your Raspberry Pi to retrieve the state |
| `name` | no | | string | The name for the cover entity |
### Remote Raspberry Pi Cover ### Remote Raspberry Pi Cover
If you don't have Home Assistant running on your Raspberry Pi and you want to use it as a remote cover instead, there is a project called [GarageQTPi](https://github.com/Jerrkawz/GarageQTPi) that will work remotely with the [MQTT Cover Component](/integrations/cover.mqtt/). Follow the GitHub instructions to install and configure GarageQTPi and once configured follow the Home Assistant instructions to configure the MQTT Cover. If you don't have Home Assistant running on your Raspberry Pi and you want to use it as a remote cover instead, there is a project called [GarageQTPi](https://github.com/Jerrkawz/GarageQTPi) that will work remotely with the [MQTT Cover Component](/integrations/cover.mqtt/). Follow the GitHub instructions to install and configure GarageQTPi and once configured follow the Home Assistant instructions to configure the MQTT Cover.
@ -78,7 +110,7 @@ The `rpi_gpio` switch platform allows you to control the GPIOs of your [Raspberr
To use your Raspberry Pi's GPIO in your installation, add the following to your `configuration.yaml` file: To use your Raspberry Pi's GPIO in your installation, add the following to your `configuration.yaml` file:
```yaml ```yaml
# Example configuration.yaml entry # Basic configuration.yaml entry
switch: switch:
- platform: rpi_gpio - platform: rpi_gpio
ports: ports:
@ -86,6 +118,23 @@ switch:
12: Light Desk 12: Light Desk
``` ```
```yaml
# Full configuration.yaml entry
switch:
- platform: rpi_gpio
invert_logic: true
ports:
11: Fan Office
12: Light Desk
```
### Options
| Key | Required | Default | Type | Description |
| -------------- | -------- | ------- | --------------- | --------------------------------------------------- |
| `invert_logic` | no | `false` | boolean | If true, inverts the output logic to ACTIVE LOW |
| `ports` | yes | | list | List of used ports ([BCM mode pin numbers](https://pinout.xyz/resources/raspberry-pi-pinout.png)) and corresponding names |
For more details about the GPIO layout, visit the Wikipedia [article](https://en.wikipedia.org/wiki/Raspberry_Pi#General_purpose_input-output_(GPIO)_connector) about the Raspberry Pi. For more details about the GPIO layout, visit the Wikipedia [article](https://en.wikipedia.org/wiki/Raspberry_Pi#General_purpose_input-output_(GPIO)_connector) about the Raspberry Pi.
**Note that a pin managed by Home Assistant is expected to be exclusive to Home Assistant.** **Note that a pin managed by Home Assistant is expected to be exclusive to Home Assistant.**
@ -94,7 +143,7 @@ A common question is what does Port refer to, this number is the actual GPIO #,
For example, if you have a relay connected to pin 11 its GPIO # is 17. For example, if you have a relay connected to pin 11 its GPIO # is 17.
```yaml ```yaml
# Example configuration.yaml entry # Basic configuration.yaml entry
switch: switch:
- platform: rpi_gpio - platform: rpi_gpio
ports: ports: