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), ...


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.


[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.


[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.


[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.



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


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.


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" . . .


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.


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

It's almost stable enough to rewrite elric on.




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


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


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.


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.

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

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

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

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

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

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

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

tarjetas de credito urgentes

Préstamos rápidos Santiago de Compostela.

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 indra lesmana band anjasmara dian nitami menikah zahra jasmine biodata


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

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

Nosotros sabemos qué necesitas y cómo gestionarlo.

cathy sharon suami

yasmine wildblood menikah conchita caroline reza artamevia full album


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

prestamo urgente sin aval

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


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


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

Mini créditos al Instante para lo que necesites.


Visperas de festivos y festivos consultar.


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

Jelle De Loecker