Update README.md

main
Keith Herrington 2024-12-11 12:26:11 -08:00 committed by GitHub
parent bf7c0fde39
commit c2adacf7d8
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 46 additions and 21 deletions

View File

@ -1,65 +1,90 @@
# 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. This project integrates UniFi Access with Airbnb reservations, automating the process of creating and managing visitor access for your Airbnb guests.
## Features ## Features
- Fetch reservations from Hostex API or Airbnb ICS feed - Fetch reservations from Hostex API or Airbnb ICS feed
- Create UniFi Access visitor accounts for upcoming guests - Create UniFi Access visitor accounts for upcoming guests
- Assign PIN codes to visitors based on their phone number - Assign PIN codes to visitors based on their phone number
- Automatically delete past or completed visitor accounts - Automatically delete past or completed visitor accounts
- Send notifications via Simplepush for updates and failures - Send notifications via Simplepush for updates and failures
- Cross-verify reservations between Hostex and ICS calendar
- Monitor and report discrepancies in booking data
- Detailed logging of all visitor management operations
## Prerequisites ## Prerequisites
- Python 3.7+ - Python 3.7+
- UniFi Access system - UniFi Access system
- Airbnb account with ICS feed URL or Hostex API access - Airbnb account with ICS feed URL or Hostex API access
- [Optional] Simplepush account for notifications
## Installation ## Installation
1. Clone the repository: 1. Clone the repository:
git clone https://github.com/keithah/unifi-access-airbnb.git git clone https://github.com/keithah/unifi-access-airbnb.git
cd unifi-access-airbnb cd unifi-access-airbnb
3. Install the required packages: 2. Install the required packages:
pip install -r requirements.txt pip install -r requirements.txt
4. Copy the example configuration file and edit it with your settings: 3. Copy the example configuration file and edit it with your settings:
cp unifi.conf.example unifi.conf cp unifi.conf.example unifi.conf
nano unifi.conf nano unifi.conf
## Usage ## Usage
Run the script using: Run the script using:
python3 main.py python3 main.py
Optional arguments: Optional arguments:
- `-v` or `--verbose`: Increase output verbosity - `-v` or `--verbose`: Increase output verbosity
- `-l [LOG_FILE]` or `--log [LOG_FILE]`: Specify a log file - `-l [LOG_FILE]` or `--log [LOG_FILE]`: Specify a log file (default: unifi_access.log)
- `--list-door-groups`: List available door groups - `--list-door-groups`: List available door groups
## Configuration ## Configuration
Edit the `unifi.conf` file with your specific settings. Key sections include: Edit the `unifi.conf` file with your specific settings. Key sections include:
- `[UniFi]`: UniFi Access API settings - `[UniFi]`: UniFi Access API settings
- api_host: UniFi Access controller URL
- api_token: Authentication token
- `[Hostex]`: Hostex API settings (if used) - `[Hostex]`: Hostex API settings (if used)
- api_url: Hostex API endpoint
- api_key: Authentication key
- `[Airbnb]`: Airbnb ICS feed URL (if used) - `[Airbnb]`: Airbnb ICS feed URL (if used)
- `[Door]`: Default door group ID for visitor access - ics_url: Calendar feed URL
- `[Visitor]`: Check-in and check-out times - `[Door]`: Door access settings
- default_group_id: Default door group ID for visitor access
- `[Visitor]`: Visit timing settings
- check_in_time: Default check-in time (e.g., "14:30")
- check_out_time: Default check-out time (e.g., "11:30")
- `[General]`: General settings
- log_file: Path to log file
- pin_code_digits: Number of digits for PIN codes
- `[Simplepush]`: Notification settings
- enabled: Enable/disable notifications
- key: Simplepush key
- url: Simplepush API URL
## Logging and Monitoring
The script provides detailed logging of all operations:
- Reservation processing from Hostex and ICS
- Visitor creation and deletion in UniFi Access
- PIN code assignments and updates
- Cross-system verification results
- Errors and warnings
Logs can be viewed in real-time using the `-v` flag or reviewed in the log file.
## System Verification
The script performs several verification checks:
- Matches Hostex reservations with ICS calendar entries
- Verifies phone numbers and PIN codes across systems
- Reports discrepancies in dates or guest information
- Monitors UniFi Access visitor status
## Contributing ## Contributing
Contributions are welcome! Please feel free to submit a Pull Request. Contributions are welcome! Please feel free to submit a Pull Request.
## License ## License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details. This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
## Support
If you encounter any issues or have questions:
1. Check the logs using verbose mode
2. Review your configuration file
3. Open an issue on GitHub with relevant logs and details```