Open Source Home Automation (Raspberry)
-
@bjornhallberg Agree, I just looked at 'The thing system' but I cant even get the freakin thing to work (never used nodejs before...) but they do have a well documented tcp protocol ( http://thethingsystem.com/dev/Simple-Thing-Protocol.html ) and there are even some arduino examples too ( http://thethingsystem.com/dev/Thing-Sensor-Reporting-Protocol.html ). But it seams to be a bit much work to get it compatible with mysensors (and I dont even know if I like TTS yet.. :) )
@Damme TTS caught my eye the first time around, but I sort of dismissed it because it was node.js, immature, unheard of, and seemed reluctant to show much of its web gui. Seemed more like a concept and a bunch of techno babble. Also, support for a bunch of expensive commercial stuff that I'll never buy (Tesla cars anyone?). And, no smartphone apps (yet). I guess they're the sort of hipsters that like to run things in their smartphone browsers. But I can see the potential here. The web ui seems pretty snappy from their vimeo demo, and like you say, they have basically served up a functioning example of how to interface with an Arduino.
They sort of shut me up about user interfaces also. Their web ui is so different it seems to be from the future ;-)
http://vimeo.com/88873020#t=240 -
Anyone familiar with MQTT (Mqtt.org)? This is not a home automation system but functions as middleware that stores data. Clients can subscribe to topics or publish topics.
Topics are ordered in a directory-like structure, e.g /mysensors/node123/sensor6/temperature.I built a simple software gateway that routes sensor readings from a mysensors network to an MQTT broker, and routes actuator values from a MQTT broker back to the mysensors nodes.
Powerful rules can be created easily, like subscribe to a light sensor and a motion sensor and publish a light-switch-on when it is dark and motion is detected.
It might sound complex, but in reality is quite simple, super lightweight (runs easy peasy on RPI, see mosquito.org) and very scalable (brokers can be publish/subscribe to other brokers).
Only thing I still need is some UI to manually control sensors/actuators and edit rules ;-)
@Yveaux openHAB has binding for MQTT and it has GUI (html5 and mobile app).
https://github.com/openhab/openhab/wiki/MQTT-Binding
https://github.com/cdjackson/HABmin
https://www.youtube.com/watch?v=IlEa-R0VZ-c -
@Yveaux openHAB has binding for MQTT and it has GUI (html5 and mobile app).
https://github.com/openhab/openhab/wiki/MQTT-Binding
https://github.com/cdjackson/HABmin
https://www.youtube.com/watch?v=IlEa-R0VZ-c -
I have a little experience with it. I have it installed and running on a virtual machine. So far only sonos and xbmc binding started. Which works fine. Will add ZWave and rfxcom as soon as I get the time.
Learning threshold is a bit high at beginning but once you got the hang of it, it feels really smooth and you have full control. Im migrating from ver lite. -
Those that did try openHAB (and felt it was slow), what version of java did you use? Did changing versions make any difference?
I see that they recommend a very aggressive memory split also, leaving nothing for the GPU on the RPi. That is obviously impossible for those of us that also run the camera module.
Edit: Perhaps someone would be daring enough to try openHAB 2.0 if and when it works:
http://kaikreuzer.blogspot.com/2014/06/openhab-20-and-eclipse-smarthome.html
Includes HABmin, and ...A second major design goal of openHAB 2.x is the optimization for embedded platforms. Although openHAB 1.x works on a Raspberry Pi, it sometimes feels a bit sluggish at startup or with huge installations - this is due to the fact that openHAB had never been specifically optimized for embedded systems and thus uses libraries such as Xtext, which are not meant to be used in constrained environments. In consequence, we will try to provide a minimal openHAB runtime that will work with alternatives or strategies such as pre-compilation etc.
-
Maybe I'll leave the topic a bit, because I don't use raspberry myself but a linux server for my 'brain' so I don't have any problem with 'slowness'.
I tried out openhab and actually likes it now, it is a bit ass to start up the configuration but then you learn it you'll easy put in new stuff. I might do a tutorial later on..But right now I'm looking at the communication between mysensors and openhab and yes I know there is one script written but I was thinking of making a new gateway software for the arduino.
using mqtt protocol that is supported in openhab, and has a arduino library http://knolleary.net/arduino-client-for-mqtt/ ( https://github.com/knolleary/pubsubclient )an alternative to mqtt is to write something completely new using tcp binding or so, but I think its inventing the wheel all over again.
-
Maybe I'll leave the topic a bit, because I don't use raspberry myself but a linux server for my 'brain' so I don't have any problem with 'slowness'.
I tried out openhab and actually likes it now, it is a bit ass to start up the configuration but then you learn it you'll easy put in new stuff. I might do a tutorial later on..But right now I'm looking at the communication between mysensors and openhab and yes I know there is one script written but I was thinking of making a new gateway software for the arduino.
using mqtt protocol that is supported in openhab, and has a arduino library http://knolleary.net/arduino-client-for-mqtt/ ( https://github.com/knolleary/pubsubclient )an alternative to mqtt is to write something completely new using tcp binding or so, but I think its inventing the wheel all over again.
@Damme I use a standard Ethernet gateway for mysensors and convert the mysensors messages using a quite simple Perl script running on my server (also not using RPI, so who cares about performance ;-) ).
This script automatically publishes and subscribes to the mosquito MQTT broker, also running on the server. Works quite well! -
@Damme I use a standard Ethernet gateway for mysensors and convert the mysensors messages using a quite simple Perl script running on my server (also not using RPI, so who cares about performance ;-) ).
This script automatically publishes and subscribes to the mosquito MQTT broker, also running on the server. Works quite well! -
@Yveaux do you want to share? I am still waiting for my ethernet sheild so I cant do much programming there yet but would be fun to try out the mqtt protocol.. :)
-
@Damme Ok, take a look at https://github.com/Yveaux/MySensors_MQTTGateway
No documentation or getting started yet, no time :-1: Sorry... -
@hek Thanks! But I really need to start on my blog to document all the stuff I do... I'm afraid it isn't really self-documentary...
@Yveaux I made it work but with lots of changes, first I use serial and not ethernet on the arduino, and then I didnt find the AnyEvent::MQTT, I use Net:MQTT instead. So basically its not much left of your original script, but it was just for testing MQTT a bit.
I think it would direcly in arduino..
-
@Damme Ok, take a look at https://github.com/Yveaux/MySensors_MQTTGateway
No documentation or getting started yet, no time :-1: Sorry...@Yveaux I have the classic one : https://github.com/empierre/domoticz?files=1
but since you're perling I can contribute... and maybe add/create the imperihome rest intetface on top... but You'll have to overcome some isdues related to the absence of UI
-
@Yveaux I have the classic one : https://github.com/empierre/domoticz?files=1
but since you're perling I can contribute... and maybe add/create the imperihome rest intetface on top... but You'll have to overcome some isdues related to the absence of UI
-
@epierre I'm afraid I don't get you...
So you're on domoticz, and you already have a gateway to mysensors?
Why do you want to switch to MQTT then? -
@Yveaux I made it work but with lots of changes, first I use serial and not ethernet on the arduino, and then I didnt find the AnyEvent::MQTT, I use Net:MQTT instead. So basically its not much left of your original script, but it was just for testing MQTT a bit.
I think it would direcly in arduino..
@Damme I did start with an arduino implementation buy as MQTT is text-based I needed quite some flash to store all the strings to convert the mysensors variable names and stuff.
This filled up my atmega328 almost completely and I got tired of all the trickery required to stay within the 32kb. I just wanted to prove and test the cooperation of my sensors and MQTT.
Then I realized the MQTT broker had to run on a 'heavier' platform anyway and decided that also my gateway could -- I see no use to stuff everything into an arduino.If you're interested I can share the arduino implementation, but I no longer see the use for it.
If your changes improved my implementation then please share them with us :+1:
-
@Damme I did start with an arduino implementation buy as MQTT is text-based I needed quite some flash to store all the strings to convert the mysensors variable names and stuff.
This filled up my atmega328 almost completely and I got tired of all the trickery required to stay within the 32kb. I just wanted to prove and test the cooperation of my sensors and MQTT.
Then I realized the MQTT broker had to run on a 'heavier' platform anyway and decided that also my gateway could -- I see no use to stuff everything into an arduino.If you're interested I can share the arduino implementation, but I no longer see the use for it.
If your changes improved my implementation then please share them with us :+1:
@Yveaux My script is not better than yours, I kind of broke it.. :)
I had a thought that the atmega328 isn't enough, one option is to have external flash but no program code can be stoored there. The 32kb is still very limiting.
I had a thought of atmega2560, there is one model with build in ethernet and some with external, total cost ~30USD. It has 256KB flash memory.
So, yes I would be interessed in yout arduino code.. I might be able to slim the program down.. :) -
Hello
go Jeedom
the project progresses faster
and I motivated to make a plugin for MySensors
there will be more people motivate
faster plugin advance -
@Yveaux My script is not better than yours, I kind of broke it.. :)
I had a thought that the atmega328 isn't enough, one option is to have external flash but no program code can be stoored there. The 32kb is still very limiting.
I had a thought of atmega2560, there is one model with build in ethernet and some with external, total cost ~30USD. It has 256KB flash memory.
So, yes I would be interessed in yout arduino code.. I might be able to slim the program down.. :)