Skip to content

Documentation for RoboDomo. Also issues and project here.

Notifications You must be signed in to change notification settings

RoboDomo/Documentation

Repository files navigation

RoboDomo

RoboDomo is a home automation application that links multiple cloud based services, and direct to hardware services, into a unified interface. Without RoboDomo, or something like it, the end user would have to launch a variety of applications on their phone/tablet/browser, to control a proprietary hub or a company's devices. For example, you would run the Nest app to control your thermostat, the Ring app to interact with your doorbell, the (Samsung) SmartThings app to control your light switches and ceiling fans, a WWW browser to control your pool and spa pumps and heaters, and so on.

The RoboDomo app is all you need - it provides the user interface needed to control all the things. It is effectively the missing "Hub of Hubs" that the IoT space is sorely missing.

Other than a few 3rd party modules, RoboDomo is written entirely in JavaScript for NodeJS on the server side and React on the client side.

The backend for RoboDomo is a growing number of available microservices that run as Docker containers. You run only the microservices that are appropriate to your home or office. That is, if you have an LG TV, you'd run the LGTV microservice, and if you don't have an LG TV, you would have no need to run it.

RoboDomo supports both Hubitat (preferred) and SmartThings hubs. Both hubs can connect to thousands of kinds of devices, both Z Wave and Zigbee.

Table of Contents

Note - The documentation is a work in progress and may be incomplete.

  1. Quick Start Guide
  2. Features
  3. Hardware
  4. DNS and Routing
  5. MQTT
  6. Docker
  7. Microservice Architecture
  8. SmartThings MQTT Bridge
  9. Developing

Microservices

The docker-scripts repository contains scripts that automatically download or update Docker versions of the microservices and start them on your host.

The microservice-core repository contains shared code for crafting a microservice. It is shared among virtually all, if not all, of the RoboDomo microservices.

Multimedia

Things

  • myq-microservice - Microservice to monitor and control Chamberlain MyQ garage door openers.
  • autelis-microservice - MIcroservice to monitor and control pool/spa equipment via an Autelis pool controller.
  • hubitat-microservice - Microservice to monitor and control things you connect to a Hubitat Elevation hub. Z Wave and Zigbee devices.
  • icomfort-microservice - Microservice to monitor and control Lennox iComfort S30 (and compatible) HVAC systems.
  • nest-microservice Microservice that uses the retired "Works with Nest" API to monitor and control Nest thermostats and Protect devices.

System

  • config-microservice - Microservice to monitor changes to Config.js and Macros.js and broadcast MQTT message when changed.

  • presence-microservice - Ping phones and watches and other devices to determine if a person is present or not.

  • triggers-microservice - Watch what's going on and process rules when things happen. The events you wait for and routines to run when events happen are limited to what. you can code in JavaScript (e.g. no limits!). Example: turn on garden lights at sunset and turn them off at sunrise.

  • here.com-microservice - Microservice to monitor weather conditions for one or more location, using the here.com API.

  • macro-microservice - Microservice that executes macros on demand. A macro is a procedure consisting of a sequence of MQTT topics/messages to send in order, and/or, execution of a sequence as in a function call.

Alexa

Google Home

Siri / Homekit / Homebridge

You can control your lamp with your voice by adding an Amazon Echo of Google Home.

Continue Reading

  1. Quick Start
  2. Hardware
  3. DNS and Routing
  4. Docker
  5. MQTT
  6. SmartThings MQTT Bridge
  7. Speaker / Text to Speech
  8. Developing

About

Documentation for RoboDomo. Also issues and project here.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published