Skip to content

Latest commit

ย 

History

1,037 Commits

Folders and files

NameName
Last commit message
Last commit date
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

Adjustable Bed Integration for Home Assistant

GitHub Release Validation HACS Home Assistant 2025.10+ Sponsor

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

  • Native Dashboard Card - Auto-loading Lovelace card that adapts to your bed (details)
  • Motor Control - Raise/lower head, back, legs, and feet
  • Direct Position Control - Native 0-100 target controls on supported beds
  • Memory Presets - Jump to saved positions with one tap
  • Under-bed Lights - RGB color control on supported beds, toggle on/off on others
  • Climate Controls - Cooling, heating, and footwarming on supported beds
  • Massage Control - Adjust massage intensity and patterns
  • Position Feedback - See current angles on supported beds
  • Presence Sensors - Occupancy sensors 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.

Donate

If you love this integration, please consider sending a thanks my way.

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, binary MOTO models
โœ… Octo Octo
โœ… Solace Solace, Sealy, Woosa Sleep, QMS
โœ… Leggett & Platt Leggett & Platt, Prodigy Comfort Elite / Prodigy CE
โœ… Reverie Reverie
โœ… Okimat/Okin Lucid (including some Smartbed/L600 bases), CVB, Smartbed
โœ… Okin 64-Bit NORA_CON / NORACON Mattress Firm controllers
โœ… Jiecang Glideaway, Dream Motion, LOGICDATA
โœ… Kaidi Rize Remedy III / newer Mouselet-based Rize beds, Floyd Home, ISleep
โœ… Limoss Limoss, Stawett
โœ… Jensen Jensen (JMC400, LinON Entry)
โœ… Svane Svane
โœ… DewertOkin Many older Rize models, Simmons, Nectar, Resident, Symphony
โœ… Serta Serta Motion Perfect
โœ… Mattress Firm 900 iFlex / older Nordic UART bases
โœ… Nectar Nectar
โœ… Malouf/Lucid Malouf, Lucid (including some L600 bases), Structures
โœ… BedTech BedTech
โœ… Sleep Number Climate 360, FlexFit, FlexFit Smart, i8 / 360 FlexFit 2
โœ… Sleepy's Elite Sleepy's
โš ๏ธ SleepSpa S9000AI SleepSpa S9000AI (SLEEPSTAR)
โœ… 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)
โœ… Logicdata SILVERmotion, SimplicityFrame
โœ… Okin CB35 Sealy Posturematic
โš ๏ธ DewertOkin ELEVATE ELEVATE two-actuator lift accessory
โœ… Okin CST Mattress Firm 900-O / MFirm 900-O, Rize MF900, Nectar Motion
โœ… OKIN Smart Remote / RF ECO BT Elda BTH / MEGAMAT staircase actuator
โš ๏ธ Okin DOT DewertOkin RF1058/RF34/RF6707 handset beds

Retail model names do not identify a BLE protocol. In particular, Lucid L600 is not one protocol: confirmed L600 units include both 7-byte OKIN CB24 (Smartbed237...) and 9-byte legacy Malouf/OKIN (OKIN-BLE... with BTCB) controllers. Auto-detection uses advertising data and connected GATT services, not the L600 label.

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

Some brands span multiple controller families. For example, many older Rize beds are DewertOkin, while newer Mouselet-advertising Rize beds use Kaidi.

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 has its own integration.

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 Settings โ†’ Devices & Services โ†’ Add 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); Standard Octo RTV TV lifts use 1
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.

Dashboard Card

The integration ships a native Lovelace card, Adjustable Bed Card, that gives you a complete control panel for your bed โ€” position controls, presets, memory, lighting, massage, climate, and connection โ€” all in the Home Assistant theme. It registers and loads automatically; you do not need to add a HACS/Lovelace resource manually. If Home Assistant was open in your browser during an integration update, reload that page once after restarting Home Assistant so the browser picks up the updated card module.

To add it: edit a dashboard โ†’ Add Card โ†’ search for Adjustable Bed, then pick your bed device. Or in YAML:

type: custom:adjustable-bed-card
device_id: <your bed device>

The card adapts to your bed โ€” it only shows the sections your bed actually exposes (e.g. massage and climate appear only on beds that support them), so the same card works for every supported bed.

Customizing the card

Everything is configurable from the card's visual editor (no YAML needed):

  • Show/hide sections โ€” toggle Position, Firmness, Presets, Memory, Lighting, Massage, Climate, Connection, and the bed-angle graphic on or off. Only the sections your bed has are listed.
  • Reorder sections โ€” use the up/down arrows next to each section to change the order they appear on the card.
  • Choose which memory positions to show โ€” pick exactly the memory slots you use instead of showing all of them.

Recalling and saving positions. In the Memory section, tap a position to move the bed to it. To store the bed's current position, tap Saveโ€ฆ in the Memory header, then tap the position you want to overwrite (tap Cancel to back out). The Save button only appears for beds that support saving.

Names and icons follow your entities. The card displays each control using its entity's own name and icon, so to relabel something you just rename the entity (Settings โ†’ Devices & Services โ†’ your bed โ†’ the entity โ†’ โš™). For example, rename Memory 1 to "Flat" and give it a bed icon, and the card's first memory tile becomes a bed icon labelled "Flat". This is purely cosmetic and local to you โ€” the card finds entities by the integration's internal keys, so renaming or re-icon-ing never breaks it, and other users keep the tidy defaults (Memory 1โ€“6 with numbered icons).

YAML options
type: custom:adjustable-bed-card
device_id: <your bed device>   # the bed to control (the card prompts you to pick one if omitted)
name: Bedroom Bed              # optional, overrides the card title
section_order: [motors, memory, lighting]  # optional, render order (default order otherwise)
memory_save: true              # optional, show the "Saveโ€ฆ" button (default: true)
memory_slots: [1, 2, 3]        # optional, which memory positions to show (default: all)
# Each section defaults to shown; set to false to hide:
show_graphic: true
show_motors: true
show_presets: true
show_memory: true
show_lighting: true
show_massage: true
show_climate: true
show_connection: true

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

Stars

53 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages