From c2adacf7d824aac0ffeebf744a744934f90272c0 Mon Sep 17 00:00:00 2001 From: Keith Herrington Date: Wed, 11 Dec 2024 12:26:11 -0800 Subject: [PATCH] Update README.md --- README.md | 67 ++++++++++++++++++++++++++++++++++++++----------------- 1 file changed, 46 insertions(+), 21 deletions(-) diff --git a/README.md b/README.md index 758304d..25b1694 100644 --- a/README.md +++ b/README.md @@ -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. ## 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 +- Cross-verify reservations between Hostex and ICS calendar +- Monitor and report discrepancies in booking data +- Detailed logging of all visitor management operations ## Prerequisites - - Python 3.7+ - UniFi Access system - Airbnb account with ICS feed URL or Hostex API access +- [Optional] Simplepush account for notifications ## Installation - 1. Clone the repository: - git clone https://github.com/keithah/unifi-access-airbnb.git - cd unifi-access-airbnb -3. Install the required packages: - +2. Install the required packages: 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 - 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 +- `-l [LOG_FILE]` or `--log [LOG_FILE]`: Specify a log file (default: unifi_access.log) - `--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 + - api_host: UniFi Access controller URL + - api_token: Authentication token - `[Hostex]`: Hostex API settings (if used) + - api_url: Hostex API endpoint + - api_key: Authentication key - `[Airbnb]`: Airbnb ICS feed URL (if used) -- `[Door]`: Default door group ID for visitor access -- `[Visitor]`: Check-in and check-out times + - ics_url: Calendar feed URL +- `[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 - Contributions are welcome! Please feel free to submit a Pull Request. ## License - 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```