Best next move Skim the setup path, then jump to the section that matches the problem in front of you.
At a glance
Time
15-45 min
Difficulty
Beginner-friendly
Best for
Short-term rental hosts
Next step
Choose one workflow to improve

Home Assistant Short Term Rental

You bought the Pi six months ago. You got the lock integrated and the thermostat showing up, you flipped a few lights on from the dashboard at a dinner party to feel clever, and then it sat there. Meanwhile your guests still struggle with the lockbox, your cleaner still texts you every Wednesday afternoon to ask if the place is empty yet, and you still pay the propane company to heat an empty cabin three days in a row.

A working Home Assistant short term rental setup is not a hobby project. It is the difference between a property that runs itself and a property that runs you. This guide is the get-to-useful path: the four routines worth wiring first, the dashboard layout that fits on a phone, the YAML patterns that survive a Home Assistant version bump, and the fallback plan for the night your Pi dies. No theory. No “isn’t local control cool” filler. Just the patterns hosts actually use.

Who this is for

Hosts who already have Home Assistant installed, have at least one lock and one thermostat connected, and want to actually use the platform for short-term rental work instead of leaving it idle. If you have not installed Home Assistant yet, start with the Home Assistant Airbnb automation parent guide first — this article assumes you can navigate the Settings menu and edit a YAML file without a tutorial.

The four routines below cover roughly 80 percent of the recurring work at a short-term rental. They are not the most clever routines you can build, but they are the ones that survive real-world use, real cleaners, and real guests who do unexpected things. Build these first. Add fancy stuff later.

What a Home Assistant short term rental setup actually solves

Five problems show up at every property. Lock codes do not auto-rotate per booking. Thermostats run wild while the house is empty. Cleaners do not know whether the guest has actually left. Lights stay on for days between turnovers. And nothing sends you a heads-up when the temperature drops to 45 inside on a January night. Each of those is a 30-second routine in Home Assistant once you have the integrations connected. Strung together, they replace 30-45 minutes of manual work per turnover.

The other thing this setup solves is the brittleness of single-vendor apps. When Schlage Encode firmware updates and breaks code rotation for a week, your Home Assistant routines keep running because they talk to the lock locally. When the Ecobee Premium cloud API changes, you find out in the Home Assistant logs and patch the integration yourself instead of waiting for a vendor to push a fix.

Recommended setup and decision path

Hardware first. A Raspberry Pi 4 with 4 GB RAM, a small SSD, and a SkyConnect or ConBee II Zigbee stick is the standard short-term rental rig. If you already have an Aqara M3 hub for sensors, you can skip the Zigbee stick. Add a UPS battery backup so power outages do not corrupt your Home Assistant database. Mount the Pi in a closet or utility area where it gets airflow and cannot get knocked over by a guest looking for towels.

Software-wise, install Home Assistant OS rather than Home Assistant Container. The OS version handles updates, snapshots, and add-ons cleanly without you maintaining a Docker stack. Subscribe to Home Assistant Cloud (about 7 dollars a month) for off-site backups and remote access without exposing your Pi to the internet directly. That is the one paid subscription worth its money in this stack.

Decision path: if your devices are mostly Wi-Fi (Schlage Encode, Ecobee Premium, TP-Link Kasa, Govee), you can run a stripped-down setup with no Zigbee stick at all. The deeper lock-side integration is in the Home Assistant smart lock for Airbnb walkthrough. If you want Aqara door sensors, motion sensors, and battery-powered temperature probes, you need the Zigbee stick from the start. Mixing both is fine, but pick one ecosystem per device class — do not run two different motion sensor brands in the same property.

Step by step: the four core routines

  1. Create an input_select helper called “Property Mode” with options: vacant, prep, guest_occupied, cleaner_occupied, owner. This is the foundation of every other routine — gate everything on the current mode. The deeper pattern is in the Home Assistant guest mode guide.
  2. Build the guest_arrival routine. Trigger: lock unlocked with the current booking’s code. Conditions: Property Mode is prep or vacant. Actions: set Property Mode to guest_occupied, run the welcome scene (thermostat to comfort setpoint, porch and entry lights on, kitchen lamp on at 60 percent).
  3. Build the guest_checkout routine. Trigger: time is 11:05 AM (five minutes after listed checkout) AND door has not opened in the past 90 minutes AND Property Mode is guest_occupied. Actions: set Property Mode to vacant, thermostat to vacancy setpoint, all interior lights off, expire the guest’s lock code, send you a checkout-confirmed text. The full version is in the Home Assistant checkout automation playbook.
  4. Build the cleaner_arrival routine. Trigger: lock unlocked with the cleaner code. Actions: set Property Mode to cleaner_occupied, all lights to bright white, thermostat to 72, start a 90-minute timer that pings you if the door is not relocked or the mode is not changed back to vacant. The SMS template lives in the cleaner notification recipe.

Add a fifth routine once those four are stable: a freeze-watch routine that triggers when the indoor temperature drops below 50 F, sends you an immediate SMS, raises the thermostat by 5 degrees, and lists the affected sensors so you know which room is the problem.

Building a useful host dashboard

Resist the urge to build the full Home Assistant beautiful dashboard. For short-term rental work, the dashboard you actually use is on your phone, not your laptop, and it has six things: current Property Mode, current door state, current thermostat reading and setpoint, the next checkout time from the calendar, the active lock codes, and one big button to switch to vacant mode. That is it. Add a second tab with sensor states for diagnostics if you want, but the main view should fit on a phone screen without scrolling. The full Lovelace example is in the Home Assistant vacation rental dashboard guide.

Build a separate cleaner dashboard at a unique URL with limited buttons: “I’m here” (sets cleaner_occupied), “Done cleaning” (sets prep), and a current-temperature display. Give the cleaner that link only — do not give them admin access. Most cleaners will use it once and then go back to voice commands via an Echo Dot 5, which is fine; the dashboard is a backup.

Common mistakes to avoid

Mistake one: triggering routines off door state instead of lock state. The door can be opened by anyone; the lock event tells you which code was used, which is what you actually care about. Always trigger guest and cleaner routines off lock_unlocked events with the user identifier in the event data.

Mistake two: not gating routines on Property Mode. Without the mode helper, your guest_arrival routine fires when the cleaner enters at 10 AM and you get angry texts about the heat being cranked. Mode-gating is non-negotiable.

Mistake three: using the Airbnb iCal feed as a precision trigger. The feed updates every two hours at best. Use it to know who is arriving and when, but trigger time-sensitive routines off lock and door events that fire in real time. The combined trigger pattern is in the occupancy automation guide.

Mistake four: no fallback plan. If your Pi crashes, the lock has to still let the guest in. Always keep manufacturer apps active in parallel. The lock’s own auto-rotating codes from the property management system should still work even if Home Assistant is down — the simpler way to automatically generate a fresh door code per booking via Seam or your PMS belongs in your fallback stack. Test by powering off the Pi and confirming a guest code still opens the door. If it does not, fix it before your next booking.

Privacy and disclosure notes

Disclose every smart device in your listing — lock, thermostat, sensors, outdoor camera, kitchen Echo if any. Self-hosting Home Assistant does not change disclosure requirements. Do not log guest names tied to lock codes in plaintext; use Home Assistant’s built-in user system to abstract identifiers. Keep entry logs for 30-60 days for security review and then auto-purge.

No indoor cameras or microphones inside the rental space — this is HomeScript Labs editorial policy and it is also the right call for guest trust. The privacy-safe monitoring pillar covers the disclosure language and outdoor-only camera placement.

Host pre-flight checklist

  • Pi running on SSD with UPS backup, not on a bare SD card.
  • Home Assistant Cloud or Tailscale set up for off-site access.
  • Daily encrypted snapshot to off-site storage.
  • Property Mode helper created and used as the gate on every routine.
  • Four core routines tested by powering off the lock and watching for failure modes.
  • Cleaner dashboard URL shared and tested.
  • SMS notifications routed to a number you actually check.
  • Manufacturer apps still active as fallback.

FAQ

How is a Home Assistant short term rental setup different from a regular smart home?

The big differences are mode-gating (you treat the property as having occupancy states, not as a single house), per-booking lock code rotation tied to a calendar feed, and routines that have to survive guests who do unpredictable things. Regular smart homes can assume a stable resident; a short-term rental cannot.

Do I need a separate Home Assistant instance per property?

Yes — one Pi per property is the recommended pattern. You can manage multiple instances from one dashboard via the Remote Home Assistant integration, but the local Pi needs to be at the property so devices keep working when the internet is down. Cloud-hosting Home Assistant defeats the purpose.

What is home assistant guest mode and how do I implement it?

Home assistant guest mode is the convention of using a Property Mode helper that goes into a “guest_occupied” state when a guest arrives. While in guest mode, your routines apply guest-friendly setpoints, suppress owner-only notifications, and gate any “empty house” actions. It is a pattern, not a built-in feature; you build it yourself with an input_select and a few automations.

Can I trigger Home Assistant routines from the Airbnb calendar?

Yes, via the iCal subscription in the Calendar integration. The feed updates every couple of hours, so use it for high-level changes like setting Property Mode to prep the morning of an arrival, not for minute-precision triggers. Pair it with door and lock events for the actual real-time work.

What if the Pi dies in the middle of a booking?

Your routines stop, but anything controlled by the manufacturer app keeps working. The lock still accepts the code that was already programmed. The thermostat still has its current setpoint. The lights still respond to physical switches. You will lose the welcome scene and the auto-checkout actions until the Pi is back, but the property remains usable. This is why fallback plans matter.

Related reading

Next steps

Build the four core routines this weekend. Live with them for two weeks before you add anything else. The full Home Assistant cluster hub has dashboard YAML and template snippets you can paste in.