Another novel (and silly) use for Roomie

I’ve been working (rather obsessively) on Roomie for the past week.  In specific, I have rewritten the XML-based protocol that allows the desktop client to communicate with the web service.  (Say “hi” to it here.)  The new library (which I call WebCommunicator) is sooo much easier to use than my old one, but still has all the nifty (and important) encryption and anti-hacking features.  I will eventually publish the protocol as an independent library.  (Give me a bit to use it more and work out all the kinks.)

But enough technical talk.  Lets get to serious business.  Here I have a little RoomieScript that I wrote, just as a proof of concept.

<RoomieScript>
  <ZWave.PowerOff DeviceName="Coffee Pot" />
  <Core.Loop>
    <ZWave.WaitForChange DeviceName="Coffee Pot" PollInterval="5 Seconds" />
    <ZWave.PowerOff DeviceName="Coffee Pot" />
    <RoomieBot.TextDavid Text="No coffee!" />
  </Core.Loop>
</RoomieScript>

Continue reading

Roomie is getting more powerful!

I’ve been making more improvements to Roomie (which I still haven’t released). Now a RoomieScript can send a RoomieScript to another computer. This makes collaborated scripts much easier. The script below gets two of my computers, the Home Server and Desktop Computer, to wake me up in the morning. The Home Server handles the Z-Wave stuff—turning the lights on and off—and the Desktop Computer handles the music.

Continue reading

RoomieScript demo

I gave a presentation for my ENGE 1104 (Exploration of a Digital Future) class about home automation.  My team members talked about X10, Z-Wave, ControlThink’s SDK, and some project ideas.  I gave a brief overview of a project that I have been working on sporadically for a couple years, Roomie.  In doing so, I for created some documentation, so I figured I’d publish some of it here.  Here is an example of RoomieScript and it’s execution:
RoomieScript sample