room-assistant is a free, open source internet of things (iot) project written in TypeScript and released under MIT. It has 1,356 GitHub stars, 124 forks and 76 open issues, and was last pushed 13 hours ago. On this registry it ranks #67 of 99 tracked projects in Internet of Things (IoT), with 5 head-to-head comparisons available. It gained 6 stars over the last 30 tracked days.

What is room-assistant?

room-assistant is an MIT-licensed, TypeScript-based tool that brings presence detection and room-level occupancy tracking to home automation, aimed at self-hosters and smart-home tinkerers who want automations keyed to which room a person is actually in.

What it is

room-assistant is a self-hosted service that tracks room occupancy and the location of people around a house, and exposes any additional sensors attached to the same node. It runs as a Node.js/TypeScript process, is distributed for Docker deployment, and feeds the data it collects into a home automation suite rather than acting as one itself. The project lives in the home-automation ecosystem and is built around Home Assistant and hassio as its primary integration target.

The concrete problem it solves is the failure mode of motion sensors. A motion sensor sees movement, so it goes dark when someone is sitting still on a couch, and it cannot tell which of two adjacent rooms a person occupies. room-assistant replaces that coarse, movement-triggered signal with continuous presence and location data gathered per room, which is what makes automations such as heating or lighting only the occupied room possible in the first place.

Key capabilities

  • Tracks room occupancy and location around the house, using Bluetooth and thermopile sensors among the supported sensing approaches.
  • Reports presence accurately enough to cover stationary situations, which the README calls out as the case where a motion sensor would fail and leave lights off.
  • Accepts additional sensors on the same node, so occupancy and attached sensor data come from one service.
  • Lets operators pick and choose only the components they need, rather than deploying the full stack.
  • Integrates collected data with a home automation suite, with Home Assistant and hassio named in the project topics.
  • Ships as a Docker-deployable service built on Node.js and TypeScript.
  • Distributed under the MIT licence, with source on GitHub at 1,348 stars and 125 forks.

Who uses it and how

  • Households that want lighting and heating switched on only in rooms where people are present.
  • Residents who spend long periods seated or still, where a motion sensor would report an empty room and turn the lights off.
  • Users who want per-person preferences applied automatically, such as personal thermostat settings or a preferred TV channel, based on who is in the room.
  • Home Assistant and hassio users who need room-level occupancy as an input to their existing automations.
  • Self-hosters comfortable running a Docker container and placing sensing nodes in the rooms they want covered.

Getting started

Installation and configuration are documented at room-assistant.io, with the installation guide at https://www.room-assistant.io/guide/installation.html and configuration at https://www.room-assistant.io/guide/configuration.html. Docker appears among the project topics, so container deployment is the expected path.

How it compares

room-assistant is a companion to Home Assistant rather than a substitute for it: Home Assistant supplies the automation engine and rules, while room-assistant supplies the room-level presence data those rules consume. The facts provided name no direct equivalent product in this registry, so it stands alone here as a room-level presence service that feeds a larger suite.

When to use it — and when not to

Pick it if you already run a home automation suite and need occupancy data finer than a motion sensor can give, and you are willing to operate a Docker service plus the Bluetooth or thermopile sensing hardware each room requires. Do not pick it if you want a single hub to cover the whole house, since room-level accuracy depends on hardware placed in the rooms themselves. Note also that the repository README is thin and defers installation and configuration detail to the external documentation site, and the project currently carries 76 open issues.

project readme (upstream, from github) — read inline

room-assistant

Automation on the Room-Level

npm code coverage semantic-release

room-assistant brings your home automation onto the next level: room automation. It is capable of tracking room occupancy and your location around the house with great accuracy, plus any other sensors you may want to attach. You can pick and choose the parts you need from our flexible software to get all the data you need for writing awesome new automations - room-assistant easily integrates them with your favorite home automation suite.

Imagine it: You can turn lights and heating on only in the rooms where people are actually there. You can accurately know if someone is there even when you are just chilling on your couch, situations where a motion sensor would fail and leave you in the dark. And you can even go a step further and configure your personal thermostat preferences or turn on your favorite TV channels depending on who is in the room!

Documentation

Find out how to install and configure room-assistant and much more on our official documentation site: room-assistant.io!

Frequently asked questions

Is room-assistant free to use?

room-assistant is open source under the MIT licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does room-assistant do?

Presence tracking and more for automation on the room-level

What is room-assistant written in?

room-assistant is primarily written in TypeScript. Its source is publicly available at https://github.com/mKeRix/room-assistant, and it has 1,356 GitHub stars.