Giter Club home page Giter Club logo

elfi's Introduction

ElFi

ElFi is a Do It Yourself Home Automation System.

ElFi handels divece timers that, using a RF433 transmitter, switches devices on/off at given time at specified days. Furthermore, using the Arduino Ethernet Sheild that retreives a LAN IP from a router using DHCP, ElFi hosts a web server. The web server provides an HTML interface that allows manual controll of the connected devices using e.g. your smart phone. Also, the real time clock of ElFi is set by retreiving the time from a NTP.

Requirements

In order for ElFi to work, you need:

  • Arduino Uno
  • Arduino Ethernet Sheild
  • RF433/TX
  • NEXA Self learning switches, e.g. NEXA NEYC-3
  • COSA library (Object-Oriented Platform for Arduino Programming, https://github.com/mikaelpatel/Cosa)
  • Dedicated LAN IP for the Ethernet Sheild to allow easy acces to the web server on the Arduino
  • RJ45 cable

Setup

  • Connect everything: Attach the Ethernet Sheild to the Arduino and connect the RF433/TX according to the specific component. Plug in an RJ45 cable in your router and in the sheild.
  • Download the COSA library and install according to the COSA instructions.
  • In the Arduino program choose from the menue Tools > Board and select the Cosa Arduino board you have.
  • Pair your NEXA devices with the Arduino (see the COSA example NEXA/CosaNEXAsender.ino) giving your devices numbers ranging from 0 to 15.
  • Modify the elfi.ino file to suit your needs, e.g. adding/removing devices, set up device timers etc. Add the ElFi header files to the Arduino Sketch (you can use drag-n-drop).
  • Compile and upload to your Arduino.
  • In your router, dedicate an LAN IP adress to the Arduino e.g. by using the MAC adress of the Arduino Ethernet Sheild. (In my case the Arduino listens to the dedicated LAN IP 10.0.1.190.)
  • Open web browser and write the dedicated IP address (10.0.1.190) to access the web page hosted by ElFi.

Good luck!

elfi's People

Contributors

sehlstrom avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

elfi's Issues

Add status for all NEXA switches

ElFi should be able to know the current status of all NEXA Switches, i.e. if the switch is on or off or, for disable switches, what dim level the switch has.

Good practice when copying code

@sehlstrom

I looked at this project to get a feeling for your work. I see that you have copied very large sections of code from Cosa example sketches without acknowledging this. I consider this very bad practice especially when it is obvious that you have pasted together a number of the Cosa example sketches. The worst is maybe the WebServer.h where you have copies a section of a sketch and copyrighted that.

Other than that I believe you have good programming style and have grasped many of the concepts in Cosa even if you seem to be somewhat of a cut-and-paste programmer :)

Cheers!

Automatic update of RTC using NTP

The RTC is set at startup, however the RTC has some time lag and needs to be updated according to current time at some intervals.

Add automatic update using NTP each 24 h from when the system is started. The update should be triggered each time a alarm is triggered and more than 24 h has passed since last update.

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.