Home Assistant Airbnb Automation
You have outgrown the manufacturer apps. The Schlage app handles your codes, the Ecobee app handles your thermostat, the Kasa app handles your lamps, and you have to open three different things to run a single turnover. You tried Operto and Hospitable, but their automation logic stops where you actually want it to start.
This is the moment most hosts who like control find Home Assistant Airbnb automation and fall down the rabbit hole. Done right, it gives you one dashboard, one scripting language, and routines that chain together exactly the way you want without paying a per-property fee. Done wrong, you spend two weekends fighting YAML and break your check-in flow the night before a booking. This guide is the realistic middle path: what Home Assistant gets you that nothing else does, what to set up first, the gotchas no one warns you about, and the fallback plans that keep your guests served when your Pi goes down.
Who should run Home Assistant for a short-term rental
This is for hosts who already have working smart devices, who are comfortable opening a terminal occasionally, and who want behavior that off-the-shelf apps will not give them — like “if the door has not opened in two hours after checkout AND the cleaner is more than 15 minutes late, send me a text and lower the heat by five degrees.”
If you are still on your first lock and you just want a code that expires automatically, stick with the manufacturer app or a property management system. The simpler way to automatically generate a fresh door code per booking through Seam or your PMS is the right starting point if you have not yet hit a wall. Home Assistant pays back when you have at least three or four devices and at least two recurring routines you want to combine.
Hardware-wise, plan on a Raspberry Pi 4 with 4 GB or more RAM, a 64 GB SD card or (better) a small SSD, a Z-Wave or Zigbee USB stick (the SkyConnect or Aeotec Z-Stick 7 are the safe picks) if you have non-Wi-Fi sensors, and a UPS battery backup so a power blip does not kill your whole automation stack. Total hardware cost lands around 150-220 dollars. There is no monthly software fee — Home Assistant is open source.
Why hosts pick Home Assistant over commercial platforms
Three reasons keep coming up. First, local control. When the internet goes down at the property, your lock and thermostat and lights still respond to local automations because everything is running on the Pi inside the house, not in someone’s cloud. Second, no per-property fees. Operto, Seam, and similar platforms charge by the unit per month, and that math gets ugly past three or four properties. Home Assistant runs as many devices as your Pi can handle for the same fixed cost.
Third, conditional logic that is actually conditional. You can write a routine that says “only run the welcome scene if the lock was opened with this booking’s specific code AND the outdoor temperature is below 60 AND it is after 4 PM” without paying for an enterprise tier. The deeper end of that pattern is covered in the Home Assistant short-term rental walkthrough.
The trade-off is honesty: there is a learning curve. You will edit YAML files. You will Google error messages. The community forums are excellent but they assume you know enough to ask a question. If you have never used a command line, plan on a slower ramp.
The first three Home Assistant routines worth building
Skip the dashboard prettiness for the first month. Build these three routines that immediately replace recurring manual work:
Routine 1: Guest arrival scene
Trigger: smart lock unlocked using a guest code. Conditions: time is between 3 PM and 11 PM. Actions: thermostat to 70 in winter / 73 in summer, porch light on, kitchen lamp on, send the guest a Welcome message via your SMS gateway integration. The lock’s code-specific event tells Home Assistant whether the unlock was you, the cleaner, or the guest, which lets you skip the welcome scene when the cleaner enters. The Home Assistant guest mode guide has the full helper-and-mode pattern.
Routine 2: Empty house mode
Trigger: door has been closed and not opened for two hours after the calendar checkout time. Actions: thermostat to 60 in winter / 80 in summer (vacant setpoints), all lights off, lock confirmed locked, run a verification check on every leak and freeze sensor, send you a checkout confirmation. This single routine eliminates the most common post-checkout headache — AC running for 18 hours on an empty house. There is a deeper version in the Home Assistant checkout automation playbook.
Routine 3: Cleaner arrived
Trigger: lock unlocked with the cleaner code. Actions: bring all lights to bright (not the warm guest setting), thermostat to 72, send the cleaner a checklist via SMS, start a 90-minute timer that pings you if the door is not relocked by then. This is the routine that saves the most cleaner time per turnover. See the Home Assistant cleaner notification recipe for the SMS template.
Integrations that actually matter
Home Assistant has 2,000-plus integrations and most are noise for a rental host. Stick to the ones that pay back:
- Schlage, Yale, or August lock integration via the official cloud or via Z-Wave for local control.
- Ecobee Premium, Nest Learning, or Honeywell Home for the thermostat.
- TP-Link Kasa or Tuya Local for plugs and bulbs.
- Govee or Aqara for leak and temperature sensors (Aqara needs a Zigbee stick).
- Twilio or ClickSend SMS for sending texts to you, the cleaner, and the guest.
- Google Calendar or CalDAV for pulling the booking calendar in (Airbnb does not give a real API, but their iCal feed works).
Skip the integrations for novelty hardware until your core routines are stable. Skip the indoor camera integrations entirely — the privacy-safe monitoring pillar covers why no indoor cameras or microphones belong inside the rental space.
Connecting the Airbnb calendar to your routines
Airbnb does not have a public booking API for individual hosts, but every listing exposes an iCal feed. Subscribe Home Assistant to that feed via the Calendar integration and you instantly have a sensor that knows when the next checkout is, when the next check-in is, and how many vacant days are between them. Once you have that sensor, you can write routines like “on calendar event change, set thermostat vacancy mode to ON if vacant gap is more than 2 days.”
The iCal feed updates roughly every two hours, so you cannot rely on it for minute-precision automations. For tight turnover timing, combine the calendar with a door sensor or lock event — the lock tells you the literal moment the guest left, the calendar tells you when the next one arrives. The Home Assistant occupancy automation guide shows the combined trigger pattern.
Common pitfalls and how to avoid them
Pitfall one: running Home Assistant on a Raspberry Pi with the OS on an SD card. SD cards die after a year of constant writes. Use an SSD or a USB SSD adapter from day one.
Pitfall two: not setting up off-site backups. The Home Assistant Cloud subscription (about 7 dollars a month) gives you encrypted backups and remote access without port-forwarding, and it is one of the few subscriptions worth paying for in this stack.
Pitfall three: writing routines that fight each other. If your guest-arrival routine sets the thermostat to 70 and your cleaner-arrival routine also runs because the cleaner walked in two minutes later, you get whiplash. Use the Mode helper to mark the house as “guest occupied,” “cleaner occupied,” or “vacant” and gate every routine on the current mode.
Pitfall four: no fallback. If your Pi dies the night before a booking, you need the front door to still let the guest in. Always keep manufacturer cloud accounts active so the lock works without Home Assistant. Always leave manual overrides on thermostats and switches. Smart equals optional, never required.
Testing and a guest-day dry run
Before you trust a Home Assistant routine with a real booking, run a manual dry run. Use the Developer Tools panel to fire each event by hand: trigger “door unlocked with guest code,” watch the routine fire, confirm every action ran. Then physically walk through it: enter your test code at the lock, confirm the welcome scene runs, walk out, manually mark the calendar with a fake checkout, and watch the empty house routine fire two hours later.
Run the same dry run after every Home Assistant update. Updates can change integration behavior in subtle ways and the time to find out is during your dry run, not during a guest arrival.
Privacy and disclosure
Disclose every smart device in your listing, just as you would with a commercial platform. Home Assistant being self-hosted does not change disclosure obligations. Do not log entry events in a way that exposes guest names or codes; truncate and rotate logs. If you use SMS to message guests, get their consent in your house manual.
FAQ
Is Home Assistant Airbnb automation worth it for a single property?
Probably not for one property unless you genuinely enjoy tinkering. The hardware and time cost outweigh the savings vs. just using the manufacturer apps. The break-even point is usually two or three properties, or one property with very specific automation needs that no commercial platform handles well.
Can I run Home Assistant in the cloud instead of on a Pi at the property?
Technically yes, but you lose local control, which is half the point. Local Z-Wave and Zigbee devices need a hub physically at the property. The recommended setup is a small Pi or NUC at each property running its own instance, with optional cloud sync for dashboards.
How does Home Assistant compare to Operto, Seam, or Hospitable?
Commercial platforms win on ease of setup and built-in PMS integration. Home Assistant wins on flexibility, no per-unit fees, and local control. Many hosts run both: the commercial platform for booking-to-lock-code automation, Home Assistant for everything else (climate, lights, sensors, custom routines).
What happens to my routines if Airbnb changes their iCal feed?
The Calendar integration would stop syncing and your calendar-driven routines would fall back to whatever last value they had. This is rare but it happens. Mitigate by combining calendar triggers with door-sensor triggers, and by getting an SMS notification any time the calendar sensor goes more than four hours without an update.
Can my cleaner use Home Assistant too?
Yes — create a separate user account in Home Assistant with limited access, give them a custom dashboard with just the buttons they need (lights on, lights off, thermostat to clean mode, mark turnover complete), and never give them the full admin panel. Most cleaners will use it once or twice and then go back to voice commands via an Echo Dot 5, which is fine.
Related reading
- Home Assistant short-term rental — the deeper sibling guide for hosts running multiple units.
- Home Assistant smart lock for Airbnb — the lock-specific YAML and integration walkthrough.
- Home Assistant thermostat rental — vacancy and guardrail patterns for Ecobee and Nest.
- Home Assistant vacation rental dashboard — the Lovelace layout that hosts actually use.
- Home Assistant Airbnb templates — copy-pasteable YAML snippets for the routines above.
Next steps
Order the Pi, the SSD adapter, and the Z-Wave or Zigbee USB stick this week. Install Home Assistant OS, get one device connected, and stop there for the first weekend. Build the three core routines next weekend and live with them for two weeks before you add more. The full advanced automations hub has the YAML examples and template snippets you can copy.