Giter VIP home page Giter VIP logo

homealone's Introduction

Homealone home automation platform

Overview

This project defines a platform and application framework that enables sensing and control of various devices in a home.

Any device in the home whose state can be sensed or controlled electronically can be connected to a system that can manage that device and allow remote access. Examples of devices include such things as light fixtures, sprinkler valves, temperature sensors, door sensors, etc. This project does not define specific hardware for these devices, but rather defines the software that allows any device to be interfaced to the system.

At the lowest level, a template is defined that allows a hardware interface to be abstracted to a common API. The server on which the software is running may physically connect to the device using any hardware interface such as GPIO pins, a serial port, or a network adapter. An object model is defined that is implemented with an application running on that server that further abstracts the specific functions of the device. Network protocols are defined that enable the server to advertise itself on the network and allow access to the devices that it is connected to. Other servers may implement human interfaces such as a web server.

Design goals

The design of the project targets the following goals.

  • Distributed - Functions are distributed across devices in the system.
  • Devices are autonomous - Whenever possible, devices can run independently of the system. There is no requirement for a centralized controller.
  • Devices are dynamically discoverable - Devices can be added or removed from the system without requiring changes to a system configuration.
  • Connected to the local home network - Devices are connected to the system via the local wired or wireless home network.
  • Not dependent on the internet - The system may be accessed remotely via the internet and use cloud servers for certain functions, however internet connectivity is not required for routine functions.
  • Reasonably secure - The system does not explicitly implement any security features. It relies on the security of the local network.
  • Not dependent on proprietary systems, interfaces, or devices - Proprietary interfaces and devices may be accessed, but there is no requirement for any particular manufacturer's products.
  • Open source - All code is open source.

Limitations

  • Does not provide applications - Examples are provided, however they must be tailored for specific installations.
  • Does not provide a user interface - An example web based user interface is provided that may be extended.
  • Operating system specific - Currently only runs on Raspberry Pi OS, however there is no inherent reason it could not be made OS independent.

Documentation

More detailed documentation and examples may be found in these files.

homealone's People

Contributors

jbuehl avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.