Difference between revisions of "The piMyHome Project"

From piMyHome Project
Jump to navigation Jump to search
 
(32 intermediate revisions by 2 users not shown)
Line 1: Line 1:
The idea behind this project is creating a web application for the Bticino/Legrand home automation system, running on a Raspberry Pi.
+
[[File:Raspberry-pi-b-plus.jpg|right|250px|thumb|Raspberry Pi B+]]
 +
piMyHome is a fast web application for the Bticino/Legrand home automation system, running on a  
 +
[http://www.raspberrypi.org/ Raspberry Pi], a credit card sized and cheap mini computer platform. piMyHome is not a commercial project, it's completely open source and free for anybody. Developers who want to join us are very welcome.
 +
 
 +
 
 +
==== Current Status ====
 +
piMyHome is still in early development and not ready yet. Our first public release is expected in November 2015.
 +
 
 +
{| class="wikitable"
 +
! style="text-align:left;"| Date
 +
! style="text-align:left;"| Status
 +
|- style="vertical-align:top;"
 +
|2015-02-11
 +
|Monitor daemon for who 1, 2 and 4 is almost done.
 +
Realized in python3, addresses and other static data are stored in sqlite3. States are stored in redis key-value cache. Slim and very fast. Running on RaspberryPi with Raspian Jessie.
 +
|- style="vertical-align:top;"
 +
|2015-05-15
 +
|Event daemon working. Pushover alarm notification implemented.
 +
|- style="vertical-align:top;"
 +
|2015-10-18
 +
| Responsible web interface implemented with a mix of nginx, Django, Javascript and uWSGI. Not ready for public yet
 +
|- style="vertical-align:top;"
 +
|2015-11-05
 +
| Started GUI development with a second approach using Tornado. Admin interface will remain in Django for easier handling of databases and authentication. Multi-language implemented.
 +
|}
 +
 
 +
==== Features ====
 +
* A monitor daemon is fetching OWN messages from your Bticino gateway and stores the state of each device (light, shutter, heating etc.) in a Redis value cache.
 +
* An event daemon watches what's going on and launches a user-defined action when an event is triggered. The action launched can be anything, not just limited to the bticino system.
 +
* A nice and responsive web multi-language frontend to manage your home automation with any device capable of browsing html pages, such as a smartphone, tablet, desktop PC, or XMBC (TV).
 +
* Access control for users and groups.
 +
* Each user can have his own environment and favorites.
 +
* Completely managed via browser, no programming skills required.
 +
 
 +
==== Hardware Requirements ====
 +
{| class="wikitable"
 +
! style="text-align:left;"| Product
 +
! style="text-align:left;"| Price
 +
! style="text-align:left;"| Where to buy
 +
 
 +
|-
 +
|Raspberry Pi, model B+
 +
|~32 EUR
 +
|[http://www.element14.com/community/community/raspberry-pi element14.com]
 +
 
 +
|-
 +
|Power supply 1200mA for the Raspberry Pi B+
 +
|~ 8 EUR
 +
|[http://www.element14.com/community/community/raspberry-pi element14.com]
 +
 
 +
|-
 +
|Case for your Raspberry
 +
|~ 8 EUR
 +
|[http://www.element14.com/community/community/raspberry-pi element14.com]
 +
 
 +
|-
 +
|micro SDcard (min. 8 GB, better 16 ore more)
 +
|~10 EUR
 +
|[http://www.element14.com/community/community/raspberry-pi element14.com]
 +
 
 +
|-
 +
|LAN-cable to connect to your router or gateway
 +
|~ 5 EUR
 +
|[http://www.element14.com/community/community/raspberry-pi element14.com]
 +
 
 +
|}
 +
 
 +
==== Open Source Software used in this project====
 +
{| class="wikitable"
 +
! style="text-align:left;"| Software
 +
! style="text-align:left;"| Description
 +
! style="text-align:left;"| Homepage
 +
 
 +
|-
 +
|Raspbian OS
 +
|Debian based Linux OS for Raspberry Pi
 +
|[http://www.raspbian.org/ raspbian.org]
 +
 
 +
|-
 +
|Python
 +
|very powerful and easy to learn scripting language
 +
|[https://www.python.org python.org]
 +
 
 +
|-
 +
|Django
 +
|Cool and powerful framework for Python
 +
|[https://www.djangoproject.com djangoproject.com]
 +
 
 +
|-
 +
|Redis
 +
|Fast key value cache for dynamic data
 +
|[http://redis.io redis.io]
 +
 
 +
|-
 +
|uWSGI
 +
|Websocket service for immediate response in website
 +
|[https://uwsgi-docs.readthedocs.org/en/latest/ uwsgi-docs.readthedocs.org]
 +
 
 +
|-
 +
|SQLite
 +
|Simple single-file database system for static data
 +
|[http://www.sqlite.org sqlite.org]
 +
 
 +
|-
 +
|nginx
 +
|Fast http web server
 +
|[http://nginx.org nginx.org]
 +
 
 +
|}

Latest revision as of 11:58, 5 November 2015

Raspberry Pi B+

piMyHome is a fast web application for the Bticino/Legrand home automation system, running on a Raspberry Pi, a credit card sized and cheap mini computer platform. piMyHome is not a commercial project, it's completely open source and free for anybody. Developers who want to join us are very welcome.


Current Status

piMyHome is still in early development and not ready yet. Our first public release is expected in November 2015.

Date Status
2015-02-11 Monitor daemon for who 1, 2 and 4 is almost done.

Realized in python3, addresses and other static data are stored in sqlite3. States are stored in redis key-value cache. Slim and very fast. Running on RaspberryPi with Raspian Jessie.

2015-05-15 Event daemon working. Pushover alarm notification implemented.
2015-10-18 Responsible web interface implemented with a mix of nginx, Django, Javascript and uWSGI. Not ready for public yet
2015-11-05 Started GUI development with a second approach using Tornado. Admin interface will remain in Django for easier handling of databases and authentication. Multi-language implemented.

Features

  • A monitor daemon is fetching OWN messages from your Bticino gateway and stores the state of each device (light, shutter, heating etc.) in a Redis value cache.
  • An event daemon watches what's going on and launches a user-defined action when an event is triggered. The action launched can be anything, not just limited to the bticino system.
  • A nice and responsive web multi-language frontend to manage your home automation with any device capable of browsing html pages, such as a smartphone, tablet, desktop PC, or XMBC (TV).
  • Access control for users and groups.
  • Each user can have his own environment and favorites.
  • Completely managed via browser, no programming skills required.

Hardware Requirements

Product Price Where to buy
Raspberry Pi, model B+ ~32 EUR element14.com
Power supply 1200mA for the Raspberry Pi B+ ~ 8 EUR element14.com
Case for your Raspberry ~ 8 EUR element14.com
micro SDcard (min. 8 GB, better 16 ore more) ~10 EUR element14.com
LAN-cable to connect to your router or gateway ~ 5 EUR element14.com

Open Source Software used in this project

Software Description Homepage
Raspbian OS Debian based Linux OS for Raspberry Pi raspbian.org
Python very powerful and easy to learn scripting language python.org
Django Cool and powerful framework for Python djangoproject.com
Redis Fast key value cache for dynamic data redis.io
uWSGI Websocket service for immediate response in website uwsgi-docs.readthedocs.org
SQLite Simple single-file database system for static data sqlite.org
nginx Fast http web server nginx.org