Skip to content

Integrate multiple "IoT" devices into a single API

License

Notifications You must be signed in to change notification settings

sowiecki/pantheon

Repository files navigation

I'm no longer maintaining this project. Use Home Assistant!

Build Status Coveralls

GitHub Release license

Pantheon is an application for managing control of multiple "Internet of Things" (IoT) devices. It serves a hub or central point of access for multiple, diverse types of services and devices.

Integrated services and devices can be triggered by one or more HTTP requests to an instance of Pantheon. A single request can contain multiple events, with each event in a request body triggered sequentially. Events are triggered immediately one after the other, unless a delay is specified. For example,

// An HTTP request body sent by a cellphone app upon arriving home
[
  // Trigger a separate application to open the building gate
  {
    "type": "EMIT_FORWARD_HTTP_REQUEST",
    "key": "buildingGate",
    "password": "hunter2"
  },

  // Set bulb 1 to brightness 100
  {
    "type": "EMIT_SEND_HUE_COMMAND",
    "id": 1,
    "func": "brightness",
    "arg": 100
  },

  // Turn bulb 2 off
  {
    "type": "EMIT_SEND_HUE_COMMAND",
    "id": 2,
    "func": "turnOff"
  },

  // Trigger a Particle Photon function to power on PC
  {
    "type": "EMIT_TRIGGER_PHOTON_FUNCTION",
    "deviceId": "123123123123123",
    "name": "pc-on",
    "argument": "togglePower",
    "auth": "567890567890"
  },

  // Trigger a Particle Photon function to power on PC speakers with an IR transmitter
  {
    "type": "EMIT_TRIGGER_PHOTON_FUNCTION",
    "deviceId": "567123123123123",
    "name": "pc-sound",
    "argument": "togglePower",
    "auth": "765890567890"
  },

  // Wait 60 seconds, then trigger script (through Unified Remote) on the PC to open and play music
  {
    "type": "EMIT_SEND_UNIFIED_COMMAND",
    "name": "triggerCommand",
    "id": "Bob.CustomRun",
    "command": "action3",
    "delay": 60000
  }
]

Currently supported integrations:

Because Pantheon does not replace or interfere with preexisting device communication protocols, products that are integrated will still have their first-party solutions function. E.g., Philips Hue dimmer switches and Unified Remote apps function as normal, even with Pantheon running.

Here are some examples of applications that pair well with Pantheon:

Getting started

git clone https://github.com/Nase00/pantheon.git
cd pantheon
touch ./environment/config.json

Before proceeding, populate config.json with your configuration parameters.

npm install
npm start

Documentation

About

Integrate multiple "IoT" devices into a single API

Topics

Resources

License

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published