Giter Site home page Giter Site logo

ruby_insteon's Introduction

ruby_insteon

Insteon home automation using ruby

My home automation is based on a ruby code that runs as a daemon within Linux. Originally, it was on an old PC running CentOS, but currently runs on a Raspberry pi.

The heart of the system is a set of Ruby scripts that run as a background task/daemon that receives events from the Insteon controllers, matches events to the configuration in a Mysql, the issues commands based on schedules.

An event is:

Any Insteon message, such as a motion sensor on, light off, etc.
A timed event, such as at 11:00pm

A schedule is one of the following with optional offset and days of the week. There can multiple of these.

Before Time
After Time
At Time
Before Sunrise
After Sunrise
Before Sunset
After Sunset

A command is:

Any Insteon message, such as turn light off in 5 minutes
An email, usefull when you are away and a motion sensor is turned on
A command to a Directv DVR (experimental)

Using these you can configure the system with sequences such as:

Timed Event All lights off At 11pm
	Insteon Command Bathroom Light off Delay 0
	Insteon Command Outside backporch Light off Delay 0
	Insteon Command Shop porch Light off Delay 0
	Insteon Command Tod's Room Table Desk light off Delay 0
	Insteon Command Tod's Room Table Light off Delay 0

Insteon Event Kitchen motion on 30 min after Sunset and Before sunrise
	Insteon Command Bathroom Light on Delay 0

Other Ruby utilities include:

spider.rb  will scan the Insteon network looking for devices and their link databases information, storing in the MySQL database
updatelinks.rb will update Insteon network link databases information, using information from the MySQL database

To configure the database, provide reporting and monitoring, I developed an administrative component for the Joomla CMS

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.