diff --git a/homeassistant/components/alexa/capabilities.py b/homeassistant/components/alexa/capabilities.py index 26d07760747..c2698211241 100644 --- a/homeassistant/components/alexa/capabilities.py +++ b/homeassistant/components/alexa/capabilities.py @@ -503,6 +503,10 @@ class AlexaColorController(AlexaCapability): """Return what properties this entity supports.""" return [{"name": "color"}] + def properties_proactively_reported(self): + """Return True if properties asynchronously reported.""" + return True + def properties_retrievable(self): """Return True if properties can be retrieved.""" return True @@ -548,6 +552,10 @@ class AlexaColorTemperatureController(AlexaCapability): """Return what properties this entity supports.""" return [{"name": "colorTemperatureInKelvin"}] + def properties_proactively_reported(self): + """Return True if properties asynchronously reported.""" + return True + def properties_retrievable(self): """Return True if properties can be retrieved.""" return True @@ -590,6 +598,10 @@ class AlexaPercentageController(AlexaCapability): """Return what properties this entity supports.""" return [{"name": "percentage"}] + def properties_proactively_reported(self): + """Return True if properties asynchronously reported.""" + return True + def properties_retrievable(self): """Return True if properties can be retrieved.""" return True diff --git a/homeassistant/components/alexa/entities.py b/homeassistant/components/alexa/entities.py index d6fa0415640..b14bebb3302 100644 --- a/homeassistant/components/alexa/entities.py +++ b/homeassistant/components/alexa/entities.py @@ -255,6 +255,9 @@ class AlexaEntity: def serialize_properties(self): """Yield each supported property in API format.""" for interface in self.interfaces(): + if not interface.properties_proactively_reported(): + continue + for prop in interface.serialize_properties(): yield prop