Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jstnjns/ottto
A low-cost, easily-hackable, user-centric home automation solution.
https://github.com/jstnjns/ottto
esp8266 home-automation raspberry-pi react-native
Last synced: 22 days ago
JSON representation
A low-cost, easily-hackable, user-centric home automation solution.
- Host: GitHub
- URL: https://github.com/jstnjns/ottto
- Owner: jstnjns
- Created: 2014-09-08T06:51:31.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2023-01-04T11:23:31.000Z (about 2 years ago)
- Last Synced: 2023-03-11T21:19:17.279Z (almost 2 years ago)
- Topics: esp8266, home-automation, raspberry-pi, react-native
- Language: JavaScript
- Homepage:
- Size: 10 MB
- Stars: 0
- Watchers: 2
- Forks: 1
- Open Issues: 59
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Ottto - Home Automation
The primary goal of Ottto is to lessen the required knowledge and/or cost of connecting everyday items to the Internet of Things. For something as simple as turning on a light when remote motion is triggered to setting up a fully automated home security system to building a completely customized home theater experience, Ottto should be a flexible and inexpensive solution to home automation.
## Server
A Sails app that delivers a RESTful API of modules, groups, events, and rules.
### Getting Started
1. Install [Node & NPM](https://nodejs.org/en/)
2. `cd ./server`
3. `npm install`
4. `npm run dev`#### TODO
* Software modules
* Timer module (for conditions like "if the motion sensor has had no motion for 10 minutes")
* Weather module
* Cron module
* Ping modules for status (ensure modules are online)## Client
An Angular app for reading and interacting with the API. Intends to be responsive so you can easily access modules from your mobile, or tablet.
### Getting Started
1. `cd ./client`
2. `npm install`
3. `npm run dev`#### TODO
* Switch to React, possibly React Native
## Modules
Modules are based on the ESP8266 chip, specifically the inexpensive NodeMCU boards. Using [PlatformIO](http://docs.platformio.org/en/stable/installation.html), uploading code to the boards is incredibly easy.
### Getting Started
1. Install [PlatformIO](http://docs.platformio.org/en/stable/installation.html)
2. Connect to a NodeMCU board via USB
2. `cd ./modules/motion`
3. `platformio run --target upload`#### TODO
* C library encapsulating the common interaction between the modules and the server