Skip to content

Commit

Permalink
Merge pull request #232 from tykeal/docs_updates
Browse files Browse the repository at this point in the history
docs updates
  • Loading branch information
tykeal authored Dec 1, 2024
2 parents 113bdc9 + b7c0c4d commit 4c52db7
Show file tree
Hide file tree
Showing 2 changed files with 173 additions and 21 deletions.
105 changes: 90 additions & 15 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ calendars and sensors to go with them related to managing rental properties.
- [Why does my calendar events say `Reserved` instead of the guest's name?](#why-does-my-calendar-events-say-reserved-instead-of-the-guests-name)
- [Where can I find my rental calendar's `ics` URL?](#where-can-i-find-my-rental-calendars-ics-url)
- [How do I use custom calendars?](#how-do-i-use-custom-calendars)
- [Automation Examples](#automation-examples)

## Features

Expand Down Expand Up @@ -133,27 +134,27 @@ depends upon it.
into the `custom_components` directory of your Home Assistant
installation
1. Restart Home Assistant
1. Configure the Rental Control
1. Follow the instructions in the setup section to finish the configuration

### INSTALLATION VIA Home Assistant Community Store (HACS)

1. Ensure that [HACS](https://hacs.xyz/) is installed
1. Go to `HACS` -> `Integrations`
1. Search for and install the `Rental Control` integration
1. Then press the following button [![Open your Home Assistant instance and open
a repository inside the Home Assistant Community
Store.](https://my.home-assistant.io/badges/hacs_repository.svg)](https://my.home-assistant.io/redirect/hacs_repository/?owner=tykeal&repository=homeassistant-rental-control&category=Integration)
1. Install the `Rental Control` integration
1. Restart Home Assistant
1. Go to `Configuration` -> `Devices & Services`
1. Press `+ ADD INTEGRATION`
1. Add `Rental Control`
1. Configure the parameters
1. Adding additional calendars can be done by adding another `Rental Control`
integration in `Devices & Services`
1. Follow the instructions in the setup section to finish the configuration

## Setup

The integration is set up using the GUI.

- Go to Configuration -> Integrations and click on the "+"-button.
- Search for "Rental Control"
- Press the following button to install the `Rental Control` integration
[![Open your Home Assistant instance and start setting up a new
integration.](https://my.home-assistant.io/badges/config_flow_start.svg)](https://my.home-assistant.io/redirect/config_flow_start/?domain=rental_control)
- Follow the prompts and then press `OK` on the question about installing
`Rental Control`
- Enter a name for the calendar, and the calendar's `ics` URL (see FAQ)
- By default it will set up 5 sensors for the 5 nex upcoming events
(sensor.rental_control\_\<calendar_name\>\_event_0 ~ 4). You can adjust this
Expand Down Expand Up @@ -197,7 +198,8 @@ The integration is set up using the GUI.

This integration supports reconfiguration after initial setup

- Go to Configuration -> Integrations and find the calendar you wish to modify
- Press this button [![Open your Home Assistant instance and show an
integration.](https://my.home-assistant.io/badges/integration.svg)](https://my.home-assistant.io/redirect/integration/?domain=rental_control)
- Select the calendar and then select `Configure`
- Reconfigure as if you were setting it up for the first time

Expand All @@ -219,8 +221,8 @@ installation or restart Home Assistant.

AirBnB does not include guest or booking details in the invite. What is included
in the `ics` data varies by provider. Calendar `ics` URLs from some 3rd party
tools (e.g. Host Tools) do include guest information and will show that rather
than `Reserved` in calendar events.
tools (e.g. Host Tools and Guesty) do include guest information and will show
that rather than `Reserved` in calendar events.

### Where can I find my rental calendar's `ics` URL?

Expand Down Expand Up @@ -261,7 +263,7 @@ Data that will be pulled from the Description of the event (and the match keys):
- Reservation URLS will match against the first (and hopefully only) URL in
the Description

And example calendar entry with all of this data might look like this:
An example calendar entry with all of this data might look like this:

```
Title: John and Jane Doe
Expand All @@ -282,3 +284,76 @@ Email: jdoe@example.com
Number of guests: 2
Reservation URL: https://www.example.com/reservation/123456789
```

### Automation Examples

Here are some examples of automations that can be done with Rental Control

- Manage thermostat for guests and between guests
```yaml
alias: Manage Thermostat for Guests
mode: single
triggers:
- entity_id:
- sensor.rental_control_my_calendar_event_0
attribute: description
trigger: state
to: 'No reserved'
for:
hours: 1
minutes: 0
seconds: 0
id: No Reservations
- entity_id:
- sensor.rental_control_my_calendar_event_0
attribute: eta_days
for:
hours: 1
minutes: 0
seconds: 0
above: 1
id: Between Guests
trigger: numeric_state
- entity_id:
- sensor.rental_control_my_calendar_event_0
attribute: eta_minutes
below: 180
id: Guests
trigger: numeric_state
- entity_id:
- sensor.rental_control_my_calendar_event_1
attribute: eta_minutes
below: 180
id: Guests
trigger: numeric_state
- entity_id:
- calendar.rental_control_my_calendar
to: 'on'
id: Guests
trigger: state
conditions: []
actions:
- choose:
- conditions:
- condition: trigger
id: No Reservations
sequence:
- service: climate.set_temperature
target:
entity_id: climate.thermostat
data:
temperature: 65
- conditions:
- condition: or
conditions:
- condition: trigger
id: Between Guests
- condition: trigger
id: Guests
sequence:
- service: climate.set_temperature
target:
entity_id: climate.thermostat
data:
temperature: 72
```
89 changes: 83 additions & 6 deletions info.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ calendars and sensors to go with them related to managing rental properties.
- [Why does my calendar events say `Reserved` instead of the guest's name?](#why-does-my-calendar-events-say-reserved-instead-of-the-guests-name)
- [Where can I find my rental calendar's `ics` URL?](#where-can-i-find-my-rental-calendars-ics-url)
- [How do I use custom calendars?](#how-do-i-use-custom-calendars)
- [Automation Examples](#automation-examples)

## Features

Expand Down Expand Up @@ -124,8 +125,11 @@ calendars and sensors to go with them related to managing rental properties.

The integration is set up using the GUI.

- Go to Configuration -> Integrations and click on the "+"-button.
- Search for "Rental Control"
- Press the following button to install the `Rental Control` integration
[![Open your Home Assistant instance and start setting up a new
integration.](https://my.home-assistant.io/badges/config_flow_start.svg)](https://my.home-assistant.io/redirect/config_flow_start/?domain=rental_control)
- Follow the prompts and then press `OK` on the question about installing
`Rental Control`
- Enter a name for the calendar, and the calendar's `ics` URL (see FAQ)
- By default it will set up 5 sensors for the 5 nex upcoming events
(sensor.rental_control\_\<calendar_name\>\_event_0 ~ 4). You can adjust this
Expand Down Expand Up @@ -169,7 +173,7 @@ The integration is set up using the GUI.

This integration supports reconfiguration after initial setup

- Go to Configuration -> Integrations and find the calendar you wish to modify
- Press this button [![Open your Home Assistant instance and show an integration.](https://my.home-assistant.io/badges/integration.svg)](https://my.home-assistant.io/redirect/integration/?domain=rental_control)
- Select the calendar and then select `Configure`
- Reconfigure as if you were setting it up for the first time

Expand All @@ -191,8 +195,8 @@ installation or restart Home Assistant.

AirBnB does not include guest or booking details in the invite. What is included
in the `ics` data varies by provider. Calendar `ics` URLs from some 3rd party
tools (e.g. Host Tools) do include guest information and will show that rather
than `Reserved` in calendar events.
tools (e.g. Host Tools, and Guesty) do include guest information and will show
that rather than `Reserved` in calendar events.

### Where can I find my rental calendar's `ics` URL?

Expand Down Expand Up @@ -233,7 +237,7 @@ Data that will be pulled from the Description of the event (and the match keys):
- Reservation URLS will match against the first (and hopefully only) URL in
the Description

And example calendar entry with all of this data might look like this:
An example calendar entry with all of this data might look like this:

```
Title: John and Jane Doe
Expand All @@ -254,3 +258,76 @@ Email: jdoe@example.com
Number of guests: 2
Reservation URL: https://www.example.com/reservation/123456789
```

### Automation Examples

Here are some examples of automations that can be done with Rental Control

- Manage thermostat for guests and between guests
```yaml
alias: Manage Thermostat for Guests
mode: single
triggers:
- entity_id:
- sensor.rental_control_my_calendar_event_0
attribute: description
trigger: state
to: 'No reserved'
for:
hours: 1
minutes: 0
seconds: 0
id: No Reservations
- entity_id:
- sensor.rental_control_my_calendar_event_0
attribute: eta_days
for:
hours: 1
minutes: 0
seconds: 0
above: 1
id: Between Guests
trigger: numeric_state
- entity_id:
- sensor.rental_control_my_calendar_event_0
attribute: eta_minutes
below: 180
id: Guests
trigger: numeric_state
- entity_id:
- sensor.rental_control_my_calendar_event_1
attribute: eta_minutes
below: 180
id: Guests
trigger: numeric_state
- entity_id:
- calendar.rental_control_my_calendar
to: 'on'
id: Guests
trigger: state
conditions: []
actions:
- choose:
- conditions:
- condition: trigger
id: No Reservations
sequence:
- service: climate.set_temperature
target:
entity_id: climate.thermostat
data:
temperature: 65
- conditions:
- condition: or
conditions:
- condition: trigger
id: Between Guests
- condition: trigger
id: Guests
sequence:
- service: climate.set_temperature
target:
entity_id: climate.thermostat
data:
temperature: 72
```

0 comments on commit 4c52db7

Please sign in to comment.