Fixed the YAML template.  Forgot to update it.  It is not as elegant as I wish it was (sensors are now using dictionnaries.  it is easier to maintain since the sets used to depend on the order)
Working version.
Supporting MotionSensor.  Redesiged Sensor class into multiple: AbstractSensor, Sensor (GPIO), FireSensor, and Motion Sensor.  It attempts to separate concerns.  Conceptually, it could be improved.  However, I'm unsure what kind of expansions we'll be doing.  It would make sense to add GPIOSensor and IntrusionSensor would inherit from this class.  It essentially means Sensor would be broken into 2 separate class.  TemperatureSensor could be useful to monitor temperature.