Meet this little project I've been working on ...

By on

I actually did not want to make this announcement just yet, I felt like I needed to wait for a proper, working version of what I was building. But 3 months have passed, and my colleague's thought what I created was pretty cool already and that it would be interesting if I shared my progress with the world.

So that's what I'm going to do. But first, what am I creating?

For a very long time I've wanted to make my house smart. I've only ever really tried LinuxMCE, after which I got sidetracked for years trying to get MythTV to work properly. Which never happened, so I finally switched to tvheadend & XBMC. And suddenly I got all this free time on my hands.

Yes, I'm creating an open source home automation system built using Node.js called "elric"

There are already a few similar projects out there, but they didn't appeal to me. Because of what language they were written in (Ew, java), or how specific the code was, ...

So, here's a simple explanation of the system. There are a few screenshots down below, btw.

Elric: what can you do with it?

Here are some features that are implemented, or are on my to-do list:

  • Control devices through the web interface
  • Monitor your house through security camera's
  • Get audio (text-to-speech) response from Elric
  • Use speech recognition
  • Detect where people are (using camera's, motion detectors, bluetooth, ...)
  • Create extensive scenarios by acting upon emitted events (movement, voice commands, time of day, ...)

Server-client architecture

Elric is composed of a single server, and many "clients", which can perform many capabilities.

You can run everything on only 1 computer, but you can also easily add a client in every room of the house in order to install audio input & output, bluetooth beacons (for positioning), Motion instances, Home Automation interfaces (I'll be using about 3 RFXCOM interfaces spread around the house), ...

Screenshots

The Motion Plugin

[object Object]

What really triggered my "quest" was the urge to install security camera's inside and outside my house. (My neighbours were held at gunpoint last year, at 16:00 hours no less.) I tried Zoneminder for a very long time, but that codebase belongs in a museum. Then I discovered Motion, which works great. The only downside: there's no real interface.

So I created the Motion plugin. It's very basic for now.

Devices

[object Object]

Here's a list of all the devices I've registered in my (development) installation. These devices are all "Elro Home Comfort" devices (Using the ARC protocol), which are controlled by the rfxcom interface.

The first button group are commands specific to that device module type. The second group are protocol commands.

Certain devices (like Elro light module AB600L) don't respond to the "on" and "off" signal as you would expect. The "off" button actually toggles the state of the light. Since device states are stored in the database, this can perfectly be remedied with these custom commands.

The house blueprint

[object Object]

Every home automation software lets you build a blueprint of the house, Elric is no different. Instead of using spiffy clipart I wanted to go with a very minimalistic approach. Everything is represented by lines & blocks.

Scenarios

[object Object]

This is how you create scenarios. These are easy blocks you can move around & check for certain conditions. You can check for any activity event.

For example: the Motion plugin emits a "movement" activity whenever it detects movement on a camera. Then you can check for where this movement occured, and act upon it accordingly.

Clients

[object Object]

Here's where you handle the client workers. You can enable or disable certain capabilities and configure them.

Get the code on github

As I said before, Elric is not ready. I wouldn't even consider it alpha software. Just a few weeks ago I was able to turn my first device on and off. Just yesterday I got my first scenario up and running.

https://github.com/skerit/elric

Comments

Thomas

Very neat project! It would be great if others would help develop it to add additional features.

skerit

That would be awesome, indeed! I haven't worked on this project for quite some time, but with good reasons: I'm working on a node.js framework first.

It's finally nearing completion though, and I can't wait to get back to developing Elric.

Thomas

Great, I will check back in a few months. Yes, you've got yourself a stalker ;)

bekir munir

hi. I get an error message like the following. I could not solved. can you help

. . . Copying files from /home/pi/node_modules/elric/plugins/motion/hawkejs//motion (subdir: /motion) Copying files from /home/pi/node_modules/elric/plugins/elro/hawkejs/ (subdir: undefined) Update requested, but did not find place to put template "page/index" Getting "elements/menulinks" SYNCHRONOUSLY ... ... SYNCHRONOUS calls are done. Update requested, but did not find place to put template "layout/body-main" Update requested, but did not find place to put template "layout/body-all" We probably need a complete new document for template "layout/base" . . .

MattGyver

Spent a whole weekend trying to install this for my ubuntu server and there was so many problems that I gave up after 5 attempts when the layout templates failed to render. Unfortunate because the UI looks great! I would have loved to contribute to the repo.

skerit

The UI templates are probably failing to render because the template engine (hawkejs) has been modified significantly (it's on version 0.0.13 now, and I think Elric needs 0.0.1 or 0.0.2), and unfortunately I didn't specify a specific version when I created this, so it's just using the last version.

But anyway: I "paused" Elric development because I noticed I had to create too much framework-like functionality. Which is why I started work on my own framework called "Alchemy", you can find it here https://github.com/skerit/alchemy

It's almost stable enough to rewrite elric on.

bojyetaa

01/01/1967

RillNot

That's it! I’m coming down with a cold.

MuillNot

Don't worry about it. I’m staying at Tom’s house. Write to me in care of Tom Gray, Chicago, Illinois.

MuillNot

Damn! She keeps me company quite often.

easy movers

To find out such forms of packers and movers companies you will get assistance with your friends, relatives, colleagues, co-workers or neighbors who have made their move with the help of professional removal companies. Industry re-location often comes while using baggage of transporting explosives, gases, poisonous substances and fragile stuff. The best deal is getting a fair moving estimate then having the ability to stay with it as closely as possible.

test

constantly i used to read smaller content that also clear their motive, and that is also happening with this article which I am reading at this time.

https://2pay.pro

Titan Gel опробован в 8 вирусологиях
континента , удостоен сертификатов качества и
защиты , производится только из искусственных техногенных светлых природных компонентов . Подготовкой геля преуспевали росиийские , западногерманские
и датский терапевты , которые совместными
усердиями попытались за 4 месяца вывести безумно указанную величину для увеличения представителя . гель титан правда или ложь титан гель оригинал и подделка гель титан отзывы лаборатория эманси титан гель титан гель состав купить титан гель в москве кто пробовал титан гель заказать титан гель официальный сайт

оформить кредит в сбербанке без справок

Решение — меньше, чем за 5 минут.

aracer.mobi/

Hace unos días tuve un inconveniente con mi coche.

credito.credito-prestamos.es

Teléfono de recepción de garantías 902 104 557.

creditohipotecario.credito-prestamos.es

Desde ARACAT CRÉDITO REAL ®, te podemos informar.

https://creditorapido.credito-prestamos.es/

Desde ARACAT CRÉDITO REAL ®, te podemos informar.

tarjetas de credito urgentes

Préstamos rápidos Santiago de Compostela.

credito-prestamos.es

Ejército Nacional 216 Piso 12 / Col. Y, ¿por qué?

beasiswa kaltim 2016

Great goods from you, man. I've understand your stuff previous to and you're just too wonderful. I really like what you've acquired here, certainly like what you're saaying and the way in which you say it. You make it entertaining and yyou still take care of to keep it sensible. I cant wait to read far more from you. Thhis is really a terrific web site.

beasiswa prestasi

cek nim mahasiswa ut

Thanks for your personal marvelous posting! I really enjoyed reading it, yoou can be a great author. I will always bookmark your blog and will oten come back later on. I want to encourage you to definitely continue your great posts, have a nice evening!

jurusan kuliah dari ipa

betharia sonata hati yang luka

fanny ghassani victor kwan http://tinyurl.com/ybyppe6d indra lesmana band anjasmara dian nitami menikah zahra jasmine biodata

Dana

Напишите,опишите кратко свою ситуацию.Попробуем найти выход.

https://credito-prestamos.es/

Esta es la característica prrincipal de estos créditos.

www.credito-prestamos.es

Nosotros sabemos qué necesitas y cómo gestionarlo.

cathy sharon suami

yasmine wildblood menikah http://tinyurl.com/ybnpad76 conchita caroline reza artamevia full album

Freda

Недешевое жилье. Лучше дождаться их результатов».

prestamo urgente sin aval

Una vez más ha sido genial tu post,un saludo.

Suzette

El tiempo (días) en el que devolverás tu crédito.

RadikHiews

Meet a guy to communicate and more write I won't bite you +79967254947 boys write WhatsApp +79967254947 boys write WhatsApp +79967254947 boys write WhatsApp +79967254947

aracer.mobi/

Mini créditos al Instante para lo que necesites.

https://https://aracer.mobi/

Visperas de festivos y festivos consultar.

Harriett

И при правильно подходе к рекламе. Конфиденциально!

callblove.com

Моя пра-бабушка 89 лет - скайпом пользуется.

https://callblove.com/

Даст ответы на любые щекотливые вопросы.

помогу оформить кредит в сбербанке

Мы постарались взять лучшееиз двух направлений (финансовый консалтинг и кредитный брокеридж).

Jacob

Alcanza los 500 euros. Andalucía Emprende, C.A.D.E.

Creditos Rapidos Sin Nomina Online

Kueski no tiene representantes ni sucursales.

Nestor

О содержимом не будет догадываться даже курьер!

https://https://aracer.mobi/

Kueski no tiene representantes ni sucursales.

Lavina

Could you inform me what style are you utilizing on your website? It looks nice.

Joseph

Hi there! Such a nice write-up, thanks!

Секс По Телефону В Украине. Самый Дешевый Секс По Телефону

Мат и хамство в переписке будут игнорироваться.

Fidel

Have you ever had issues with your webhost? I'm open for referrals as my webhost is dreadful at the moment.

Секс По Телефону

Вызывает жалость. Привет милый!

Статьи о сексе и эротике.

callblove.com

Большой выбор от 18 летних до зрелых женщин.

callblove.com

FullHouse клуб успешных свободных людей.

Acquista il visto per l'inglese

Hi there to every body, it's my first visit of this blog; this webpage contains awesome and genuinely good information for readers.

ETIAS Visa

Hi there this is somewhat of off topic but I was wanting to know if blogs use WYSIWYG editors or if you have to manually code with HTML.

I'm starting a blog soon but have no coding know-how so I wanted to get guidance from someone with experience. Any help would be enormously appreciated!

ETIAS Visa

Pretty! This was an incredibly wonderful article. Thank you for providing this info.

sash window draught proofing

Hi, its nice paragraph concerning media print, we all know media is a fantastic source of facts.

table builder

That is very interesting, You are an overly professional blogger. I have joined your feed and stay up for in the hunt for extra of your wonderful post. Additionally, I've shared your site in my social networks

928-240-2755

Excellent blog! Do you have any recommendations for aspiring writers? I'm planning to start my own site soon but I'm a little lost on everything. Would you propose starting with a free platform like Wordpress or go for a paid option? There are so many choices out there that I'm totally overwhelmed .. Any tips? Appreciate it!

Porta Johns Rentals

I do agree with all the ideas you have offered on your post. They're very convincing and will definitely work. Nonetheless, the posts are very short for starters. Could you please extend them a bit from subsequent time? Thank you for the post.

sms marketing company

Great post. I was checking continuously this blog and I'm inspired! Very useful information particularly the ultimate section : ) I care for such information a lot. I was looking for this particular information for a very lengthy time. Thank you and best of luck.

ESTA

This piece of writing provides clear idea for the new users of blogging, that in fact how to do blogging.

ESTA

Good information. Lucky me I found your site by accident (stumbleupon). I have bookmarked it for later!

whore

That is a good tip especially to those new to the blogosphere. Short but very accurate info… Many thanks for sharing this one. A must read post!

erotic

Quality posts is the crucial to interest the viewers to pay a visit the site, that's what this website is providing.

viagra

Fantastic post however I was wanting to know if you could write a litte more on this subject? I'd be very thankful if you could elaborate a little bit more. Thanks!

porn

What i do not realize is if truth be told how you are now not actually much more smartly-preferred than you may be right now. You are very intelligent. You recognize thus considerably with regards to this topic, made me in my view imagine it from numerous varied angles. Its like women and men are not fascinated except it is something to do with Girl gaga! Your personal stuffs nice. Always care for it up!

Bail By Phone Tampa

Pretty! This has been an extremely wonderful article. Thank you for providing this information.

esta

I was suggested this blog by way of my cousin. I am no longer sure whether this post is written via him as no one else understand such targeted approximately my problem. You're incredible! Thank you!

Florida Travel

Thanks a bunch for sharing this with all folks you really understand what you are talking approximately! Bookmarked. Kindly also visit my website =). We could have a link alternate arrangement among us

NeooKeema

Здесь вы можете заказать копию любого сайта под ключ, недорого и качественно, при этом не тратя свое время на различные программы и фриланс-сервисы.

Клонированию подлежат сайты как на конструкторах, так и на движках:

  • Tilda (Тильда)
  • Wix (Викс)
  • Joomla (Джумла)
  • Wordpress (Вордпресс)
  • Bitrix (Битрикс) и т.д. телефон 8-996-725-20-75 звоните пишите viber watsapp Копируются не только одностраничные сайты на подобии Landing Page, но и многостраничные. Создается полная копия сайта и настраиваются формы для отправки заявок и сообщений. Кроме того, подключается админка (админ панель), позволяющая редактировать код сайта, изменять текст, загружать изображения и документы.

Здесь вы получите весь комплекс услуг по копированию, разработке и продвижению сайта в Яндексе и Google.

Хотите узнать сколько стоит сделать копию сайта? напишите нам 8-996-725-20-75 звоните пишите viber watsapp

créditos urgentes rapidos

¡Y lo que es mejor! Cómodo, rápido y sencillo.

best rated mattress

I'm amazed, I have to admit. Seldom do I come across a blog that's both equally educative and interesting, and without a doubt, you have hit the nail on the head. The issue is something which too few men and women are speaking intelligently about.

Now i'm very happy I came across this in my hunt for something relating to this.

buy cbd

When someone writes an piece of writing he/she maintains the idea of a user in his/her brain that how a user can know it. Thus that's why this article is perfect. Thanks!

plenty of fish dating site

Hi everyone, it's my first pay a quick visit at this web page, and article is truly fruitful in support of me, keep up posting these types of articles or reviews.

Jelle De Loecker