Update README.md
parent
bf7c0fde39
commit
c2adacf7d8
67
README.md
67
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.
|
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```
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue