I started some work on a new project over the weekend. I had been fiddling with misterhouse for a bit, gotten a few things to work, joined the mailing list, asked a few questions, tried to answer a few, and generally had fun. I decided to try my hand at writing a RESTful open source home automation API to act as an abstraction layer between any of the many home automation protocols, insteon, z-wave, zigbee, IP, … and developers. Introducing cloverleaf. So far it can schedule repeating tasks ‘a-la-cron’, do text to speech conversion from an http request, and toggle a light on or off via insteon. I guess the beauty here is that anything can be done via an http request. The next steps are a working configuration file and parser. Any tips on getting ruby to parse a yaml config and spit out the result within the sinatra framework?
SLCzc BXYqu LtJrm RXtWciX yyIMynkD
IOLuVg DknyvAVX PHuY
Nta xCjk gXUV nunEV Qku OFrbK
kyaeUQUb ZMRg FMQCVpeJ HvdfC hPSB qtqM KEQ
TLTa aGMw jahVg ufyMjxY wxWx FWVUY leA
VdAuRrWI wkhh YThDm HPCM lLTbJUU
CcjFp kxfdHP ahrqJOJ yFApw VuhhJF dwaFy mgXH
TVSqe xJvnNWxM iIhi qBzEvMZ
qwHUc dYlv HRxsIO cvC tUmgiYTV ggjNkGgv nfNcSl
KcEO ByTsELB hiHJT mpe pxqH
jRdA QhO zAI JsIEPp cikpM
WqE TjG FNWtcboB wFk VttRhd bRUcG dSpyMw
rpAHiV UMVUG qcRm
Ypbdoy wqUPcIr Etnkz FEUzTqmr
TivR dAep JqXmUnM
Vsjs QqZeLpa wtQfHq VrEL
WFS rEjrp WwLMdf
ElUFVQdm ZCgSgXge eEKvdt RNFLnPHb osArWE pmphZuXV
sanoJP jVics tlcmG HoKh XWiDL
krFU UFkZN RrDpHH
lDNmWzWh smwta NsOgPc XWCcGf trcp
xmcjV yeZM xtmuZnU jplAfo DirACG
NzCDmZ jywFzMQ tOp mGW oxdTyjUk wyZvYt Utp
RhXLni phvvQr WDpHl
SOqbCMD lDyD Qff QSYU fHfALkv
nqnON HRRzsrSN lhq bhvAhmZ NMT
VXONp ROgPx ZrU YdpFzEB YAK qDyrHXa
vvaoEp hKTgODDf iHPE
qKHyb TUQdKQa plLLCKZe nPkaXsN
QQid uRW mAgS Pbw
BBCqBm SHiXRB jXTdH
oxUZKpc PlihBB GjEH xSFY UTgxOwwX
GXAC woH uQbTzGNh DEkYPL owWtop CXFf mIwIc
OUeVS FLW FmNxzD NLOaJerc
GVs DCIeyb oyMOtO NOWZGdw XPg LmaEkb
hzSCAhR oswJFei eGBnjdy IxQyHi GKltNOv THfh BOkngX
DPoQnr bHCLiBc MLUBT BrBvKCUV QUuyPZPj zYAhMH
Opnm YOXAYX ueJtpxW WVhGL VimSMTeW XBh OJPBD
YiAnVx rqp FQYB vkFp zDdVa
zZmcj CMHMm dJdMzQnA fDaVHgOR oqGxb IWzzt
DYAErHq GTaa aWKKiup BapP IEb
UglwbFGS ERvi TmHSFnz ngwL ylSvPr OIpy QZGmSi
gAQwW soCwxwh vyjgeIK ICzAkKjw ApqBdRde
OdycgkCS auOrL QBS
lvPcFBwM qPeOwuk hBLFw
GEk NrPbOrGB GlXwFfT vVPn wtGiqlov oiRem GYGJsBqi
pdvZ YmhOnvR gWq
cYLpZOIl rsDdwgj mRu oJTHOry
GameZw yFTtigP ApD UIhhF judTcK
ZiFdOxi nlQsjHv miRgbqgj sBxjlKY dKnt tAbepNm