Unfortunately and fortunately, I have been super busy with work projects but I am excited about some of the personal projects I have been messing with. Most of this site’s traffic is focused on open-zwave projects and Raspberry Pi Projects, so if you are one of those people and you are interested in anything I am working on, feel free to ask for the latest code or contribute your thoughts.
While I went with a wireless thermostat that is working great, I really want to add thermostat functionality to my open-zwave tcp server. I have started with a Z-Wave USNAP module added to my existing Filtrete thermostat. I have both the Z-wave and WiFi radio plugged in at the same time and I have not had any issues.
Pairing it with my Aeon Lab Z-stick S2 was easy from the on screen menu on the thermostat. I clicked on the radio icon to get started on the thermostat and pushed the include button on the Z-stick.
So far, it looks like information is flowing back and forth with a couple of exceptions. When the thermostat is in “auto” mode for heating and cooling, I see “Off”. Here is an example of the values I currently receive:
[name] = Undefined [node] = 3 [group] = [type] = General Thermostat V2 [status] = On [Mode] = Off [Unused 3] = 0.0 [Library Version] = 3 [Protocol Version] = 2.78 [Application Version] = 7.04 [Cooling 1] = 72 [Basic] = 255 [Temperature] = 70.0 [Operating State] = Idle [Fan Mode] = Auto Low [Battery Level] = 100 [Indicator] = 0
I have been able to switch modes and set cooling set point. I also added a very basic display to the basic open-zwave client. Still a long way to go.
Open-zwave “Cloud” Service
Yes, I said ‘cloud’ and that is annoying. Naturally, people want to control their devices when they are gone. With our Raspberry Pi implementation, I want to make it simple and as secure as possible without making the user worry about firewall / port forwarding concerns. What I envision and have been testing is a simple process that connects to the cloud mother-ship every 10 minutes and “drops off” the statuses of the devices and “grabs” waiting commands. At worse case, the device you are trying to control doesn’t get the update for 10 minutes which I think is acceptable initially. I have been sending the requests signed with a shared key over SSL but I am not sure on the best way to exchange initial/updated keys and link it to an account automagically.
Part of this project is cleaning up the open-zwave tcp server. I want it to communicate with easier more mainstream messages that don’t rely on delimiters that are not properly escaped.
Counting ‘Blue’ Cars
While researching how I could make Bluetooth walkie talkies for bike riding, I stumbled onto Dream Green House’s bluetooth proximity project. They had luck detecting if someone was home by pinging their Bluetooth device. During the setup, they noticed that they could see several ‘discoverable’ Bluetooth devices beyond their home (and then later ping them to see if they were home – creepy). Now, I want my walkie talkies to also try to pair with other devices that are set to discoverable so the message ‘Bicycle Close to You’ wants to pair. I am not sure if any research studies have been completed on the subject, but I feel the people with discoverable devices are more likely to hit me while I am riding. So far, I have only played with the range of my Bluetooth dongle and the hcitool.