Go to file
Keith Herrington 4ac3ab5e5b
Update hostex_api.py
Fixes #1. upped the reservation api call to the max, from 20 results to 100 (what happens if I have more than 100 reservations though??)
2024-12-11 11:49:57 -08:00
.gitignore Initial commit 2024-08-22 20:25:32 -07:00
CHANGELOG.md Refactor visitor creation and improve error handling 2024-09-11 19:59:20 -07:00
LICENSE Initial commit 2024-08-22 20:19:05 -07:00
README.md Update README.md 2024-09-12 09:12:21 -07:00
config.py Refactor visitor creation and improve error handling 2024-09-11 19:59:20 -07:00
hostex_api.py Update hostex_api.py 2024-12-11 11:49:57 -08:00
ics_parser.py Initial commit 2024-08-22 20:25:32 -07:00
main.py trying to fix pin stuff 2024-09-11 20:18:46 -07:00
notification.py Initial commit 2024-08-22 20:25:32 -07:00
requirements.txt Initial commit 2024-08-22 20:25:32 -07:00
unifi.conf.example Initial commit 2024-08-22 20:25:32 -07:00
unifi_access.py Fix visitor duplication and improve PIN assignment 2024-09-11 20:39:52 -07:00
utils.py Initial commit 2024-08-22 20:25:32 -07:00

README.md

UniFi Access Airbnb Integration

This project integrates UniFi Access with Airbnb reservations, automating the process of creating and managing visitor access for your Airbnb guests.

Features

  • Fetch reservations from Hostex API or Airbnb ICS feed
  • Create UniFi Access visitor accounts for upcoming guests
  • Assign PIN codes to visitors based on their phone number
  • Automatically delete past or completed visitor accounts
  • Send notifications via Simplepush for updates and failures

Prerequisites

  • Python 3.7+
  • UniFi Access system
  • Airbnb account with ICS feed URL or Hostex API access

Installation

  1. Clone the repository:

git clone https://github.com/keithah/unifi-access-airbnb.git

cd unifi-access-airbnb

  1. Install the required packages:

pip install -r requirements.txt

  1. Copy the example configuration file and edit it with your settings:

cp unifi.conf.example unifi.conf

nano unifi.conf

Usage

Run the script using:

python3 main.py

Optional arguments:

  • -v or --verbose: Increase output verbosity
  • -l [LOG_FILE] or --log [LOG_FILE]: Specify a log file
  • --list-door-groups: List available door groups

Configuration

Edit the unifi.conf file with your specific settings. Key sections include:

  • [UniFi]: UniFi Access API settings
  • [Hostex]: Hostex API settings (if used)
  • [Airbnb]: Airbnb ICS feed URL (if used)
  • [Door]: Default door group ID for visitor access
  • [Visitor]: Check-in and check-out times

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

This project is licensed under the MIT License - see the LICENSE file for details.