Ayla (previously known as Jarbas) is my own custom personal assistant and home / office automation system, running on top of a Node.js server and controlled via a Windows Phone app or the via web.
I'm publishing its source code here for anyone who's interested in getting some ideas, but please note that I'm not coding Ayla to be a "generic" software. It is tailored to my personal needs, although it should be quite easy to customize
it as you wish.
What she does
Ayla will download, parse and act upon data from a multitude of services and devices. Facebook, Netatmo, Ninja Blocks, Outlook.com, Philips hue, Strava, Toshl, Weather Underground... to name a few.
What can she do (or will do in a near future)
- Identifies that I just arrived home. If it's already dark she will turn on the lights automatically. When I leave the house, if there's no one home anymore, turn off the lights.
- Check that my house door was opened on a time it shouldn't (for example weekdays during working hours), so it turns on the webcam on the entrance and sends a screenshot to my mobile phone.
- Monitors house temperature, humidity and CO2 levels and control heatings and fans individually to keep house climate on the desired levels.
- Keep track of my sleep and tell me if I haven't slept enough recently. Time to take a break maybe?
- Plans my cycling schedule based on the weather. If forecast is sunny on a Saturday afternoon, she'll ask me on my phone if I want to take some hours for cycling.
- Fetch invoices and general documents sent to my email. If relevant, send a copy of the invoice to my Shoeboxed account to be parsed.
- Fetch pictures and images sent to my email. If coming from a friend, automatically save these pictures to my OneDrive account.
List of integrated services and devices
- D-Link DIR-860L (admin html scraper)
- Electric Imp (Hannah dev board and website API)
- Facebook (website API)
- Fitbit (Flex and website API)
- Garmin Connect (html scraper)
- Garmin Edge 510
- Garmin vivofit
- GitHub (website API)
- Microsoft Surface RT
- Netatmo (weather station and website API)
- Ninja Blocks (block, various RF 433 sensors and website API)
- Nokia Lumia 720
- OneDrive (website API)
- Outlook.com (IMAP)
- Philips hue (bridge API)
- StatusCake (website API)
- Strava (website API)
- The Ubi (website API)
- Toshl (app and website API)
- Weather Underground (website API)
- Withings (Smart Body Scale and website API)
Please note that I can stop working on integration with some of these services / devices in case I don't use them any longer. For example Fitbit, I don't plan to do anything new on it.
Want more info?