Skip to content

Home Assistant integration for controlling smart adjustable beds via Bluetooth

License

Notifications You must be signed in to change notification settings

kristofferR/ha-adjustable-bed

Repository files navigation

Adjustable Bed Integration for Home Assistant

GitHub Release Validation HACS Home Assistant 2025.10+

A Home Assistant custom integration for controlling smart adjustable beds via Bluetooth.

Quick Start

  1. Install via HACS: Search for "Adjustable Bed" and install
  2. Discover your bed automatically, or add manually via Settings → Integrations
  3. Control your bed from Home Assistant dashboards, automations, and voice assistants!

Features

  • Motor Control - Raise/lower head, back, legs, and feet
  • Memory Presets - Jump to saved positions with one tap
  • Under-bed Lights - Toggle lights on supported beds
  • Massage Control - Adjust massage intensity and patterns
  • Position Feedback - See current angles on supported beds
  • Automations - "Flat when leaving", "TV mode at 8pm", etc.

Need Help?

Guide What's Inside
Troubleshooting Connection issues, commands not working
Getting Help Bug reports, support requests, diagnostics
Connection Guide ESPHome proxy setup, finding your bed's address
Supported Actuators Protocol details, bed brand lookup
💬 Ask a Question Get help from the community
💡 Suggest an Idea Feature requests and improvements
❤️ Praise and Feedback Share your experience or say thanks
Quick troubleshooting
  1. Check range - Bluetooth adapter or proxy within ~10m of bed
  2. Disconnect other apps - Most beds allow only one BLE connection
  3. Reload integration - Settings → Devices & Services → Adjustable Bed → Reload
  4. Enable debug logs - Settings → Devices & Services → Adjustable Bed → ⋮ menu → Enable debug logging. Reproduce issue, then disable to download logs.

Supported Beds

The names below refer to motor/actuator manufacturers. Your bed might use one of these internally - check the Supported Actuators guide to find your bed brand.

Actuator Example Brands
Linak Tempur-Pedic, Bedre Nætter, Jensen
Keeson Ergomotion, Tempur, Beautyrest, King Koil, Member's Mark, Purple, GhostBed, ErgoSportive
Richmat Casper, MLILY, Sven & Son, Avocado, Luuna, Jerome's
MotoSleep HHC, Power Bob
Octo Octo
Solace Solace, Sealy, Woosa Sleep
Leggett & Platt Leggett & Platt
Reverie Reverie
Okimat/Okin Lucid, CVB, Smartbed
Jiecang Glideaway, Dream Motion, LOGICDATA
Limoss Limoss, Stawett
Jensen Jensen (JMC400, LinON Entry)
Svane Svane
DewertOkin Rize, Simmons, Nectar, Resident, Symphony
Serta Serta Motion Perfect
Mattress Firm 900 Mattress Firm, iFlex
Nectar Nectar
Malouf Malouf, Structures
BedTech BedTech
Sleepy's Elite Sleepy's
Vibradorm Vibradorm
SUTA Smart Home SUTA
TiMOTION AHF TiMOTION
Rondure 1500 Tilt Base
Remacro CheersSleep, Jeromes, Slumberland, The Brick
Cool Base Cool Base (Keeson with fan)
Scott Living Scott Living
SBI/Q-Plus Q-Plus (Costco)

Have one of these? Let us know how well it works!

Will This Work With My Bed?

Just try it! The integration auto-detects most beds. Install it and see if your bed shows up.

Didn't auto-detect? Check the Supported Actuators guide to find your bed's actuator brand, then add it manually.

Still stuck? Open an issue with your bed brand/model and we'll help!

Other beds: Eight Sleep and Sleep Number have their own integrations.

WiFi and cloud-based beds won't be supported — this is a Bluetooth-only integration for the reasons stated in the link.

Installation

HACS (Recommended)

  1. Open HACS in Home Assistant
  2. Search for "Adjustable Bed"
  3. Click Install
  4. Restart Home Assistant

Manual

Copy custom_components/adjustable_bed to your config/custom_components/ directory and restart.

Configuration

Your bed should auto-discover via Bluetooth. If not:

  1. Go to SettingsDevices & ServicesAdd Integration
  2. Search for "Adjustable Bed"
  3. Enter your bed's Bluetooth address or select from discovered devices

To adjust settings after setup, click the gear icon on your device in Settings → Devices & Services.

Quick reference
Setting Description
Motor Count 2 (back/legs), 3 (adds head), or 4 (adds feet)
Has Massage Enable if your bed has massage
Protocol Variant Usually auto-detected, override if needed
Motor Pulse Settings Fine-tune movement timing
Disable Angle Sensing Keep on to allow physical remote to work
Jensen PIN 4-digit PIN for Jensen beds (default: 3060)
Octo PIN 4-digit PIN for Octo beds that require authentication
Richmat Remote Remote model code for Richmat beds

See the Configuration Guide for all options.

Bluetooth Setup

Works with Home Assistant's native Bluetooth:

See the Connection Guide for setup help.

Contributing

We'd love your help! This integration is actively developed and we're especially looking for:

  • Testers - Own a bed we haven't fully tested? Your feedback is invaluable
  • Bug reports - Found something wrong? Open an issue
  • Code contributions - PRs welcome!

Credits

Massive thanks to the smartbed-mqtt developers for their pioneering work reverse-engineering bed protocols!

Migrating from smartbed-mqtt?

This integration replaces smartbed-mqtt with several advantages:

  • Uses Home Assistant's native Bluetooth (no ESPHome API issues)
  • Works seamlessly with ESPHome Bluetooth proxies
  • No MQTT broker required
  • Native HA entities

To migrate: Install this integration, configure your bed, verify it works, then remove smartbed-mqtt.

License

MIT License - see LICENSE for details.

About

Home Assistant integration for controlling smart adjustable beds via Bluetooth

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages