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.
|
||||
|
||||
## 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```
|
||||
|
|
|
|||
Loading…
Reference in New Issue