[Home automation] IoT set a scene

Skill name: set-the-IoT-scene

User story:

  • As a home automation enthusiast, I want to speak a phrase and have Mycroft set an entire IoT scene for me, including
    • lights
    • any ambient sounds
    • any movable physical objects such as blinds

to a pre-configured setting, so that I can set up a space for a particular activity

What third party services, data sets or platforms will the Skill interact with?

  • This Skill would likely interact with _several third party IoT type platforms such as Wemo, LIFX, Wink, and so on. It may also interact with hardware devices such as keyboards or mice.

Are there similar Mycroft Skills already?

There are some IoT home automation type Skills;

What will the user Speak to trigger the Skill?

  • "Hey Mycroft, set up the {{room}} for {{preset}}

  • “Hey Mycroft, set up the STUDY for GAMING” (Yeah! 24 hours straight of Stellaris, my intergalactic minions!)

  • “Hey Mycroft, set up the KITCHEN for COOKING”

  • “Hey Mycroft, set up the BEDROOM for SLEEPING”

  • “Hey Mycroft, set up the PATIO for a BARBECUE”

What phrases will Mycroft Speak?

  • "Now setting up the {{room}} for {{activity}}

What Skill Settings will this Skill need to store?

The Skill will probably need to keep cross-matching or aggregate data from multiple Skills, such as:

  • Which rooms correlate to rooms on different IoT systems
  • Which ‘scene’ settings correlate to on different IoT systems
  • Which ‘scenes’ are used at what time of day - ie for future automation)

Other comments?

This Skill is quite advanced - it will need to co-ordinate API calls with several other Skills. That said, it would really illustrate what Mycroft is capable of - taking the best from different APIs to allow the end user to be able to customize their experience.