Fix logbook domain filter - alexa, homekit (#18790)
parent
ff33d34b81
commit
f1c5e756ff
|
@ -445,6 +445,12 @@ def _exclude_events(events, entities_filter):
|
|||
domain = event.data.get(ATTR_DOMAIN)
|
||||
entity_id = event.data.get(ATTR_ENTITY_ID)
|
||||
|
||||
elif event.event_type == EVENT_ALEXA_SMART_HOME:
|
||||
domain = 'alexa'
|
||||
|
||||
elif event.event_type == EVENT_HOMEKIT_CHANGED:
|
||||
domain = DOMAIN_HOMEKIT
|
||||
|
||||
if not entity_id and domain:
|
||||
entity_id = "%s." % (domain, )
|
||||
|
||||
|
|
|
@ -242,9 +242,11 @@ class TestComponentLogbook(unittest.TestCase):
|
|||
config = logbook.CONFIG_SCHEMA({
|
||||
ha.DOMAIN: {},
|
||||
logbook.DOMAIN: {logbook.CONF_EXCLUDE: {
|
||||
logbook.CONF_DOMAINS: ['switch', ]}}})
|
||||
logbook.CONF_DOMAINS: ['switch', 'alexa', DOMAIN_HOMEKIT]}}})
|
||||
events = logbook._exclude_events(
|
||||
(ha.Event(EVENT_HOMEASSISTANT_START), eventA, eventB),
|
||||
(ha.Event(EVENT_HOMEASSISTANT_START),
|
||||
ha.Event(EVENT_ALEXA_SMART_HOME),
|
||||
ha.Event(EVENT_HOMEKIT_CHANGED), eventA, eventB),
|
||||
logbook._generate_filter_from_config(config[logbook.DOMAIN]))
|
||||
entries = list(logbook.humanify(self.hass, events))
|
||||
|
||||
|
@ -325,22 +327,35 @@ class TestComponentLogbook(unittest.TestCase):
|
|||
pointA = dt_util.utcnow()
|
||||
pointB = pointA + timedelta(minutes=logbook.GROUP_BY_MINUTES)
|
||||
|
||||
event_alexa = ha.Event(EVENT_ALEXA_SMART_HOME, {'request': {
|
||||
'namespace': 'Alexa.Discovery',
|
||||
'name': 'Discover',
|
||||
}})
|
||||
event_homekit = ha.Event(EVENT_HOMEKIT_CHANGED, {
|
||||
ATTR_ENTITY_ID: 'lock.front_door',
|
||||
ATTR_DISPLAY_NAME: 'Front Door',
|
||||
ATTR_SERVICE: 'lock',
|
||||
})
|
||||
|
||||
eventA = self.create_state_changed_event(pointA, entity_id, 10)
|
||||
eventB = self.create_state_changed_event(pointB, entity_id2, 20)
|
||||
|
||||
config = logbook.CONFIG_SCHEMA({
|
||||
ha.DOMAIN: {},
|
||||
logbook.DOMAIN: {logbook.CONF_INCLUDE: {
|
||||
logbook.CONF_DOMAINS: ['sensor', ]}}})
|
||||
logbook.CONF_DOMAINS: ['sensor', 'alexa', DOMAIN_HOMEKIT]}}})
|
||||
events = logbook._exclude_events(
|
||||
(ha.Event(EVENT_HOMEASSISTANT_START), eventA, eventB),
|
||||
(ha.Event(EVENT_HOMEASSISTANT_START),
|
||||
event_alexa, event_homekit, eventA, eventB),
|
||||
logbook._generate_filter_from_config(config[logbook.DOMAIN]))
|
||||
entries = list(logbook.humanify(self.hass, events))
|
||||
|
||||
assert 2 == len(entries)
|
||||
assert 4 == len(entries)
|
||||
self.assert_entry(entries[0], name='Home Assistant', message='started',
|
||||
domain=ha.DOMAIN)
|
||||
self.assert_entry(entries[1], pointB, 'blu', domain='sensor',
|
||||
self.assert_entry(entries[1], name='Amazon Alexa', domain='alexa')
|
||||
self.assert_entry(entries[2], name='HomeKit', domain=DOMAIN_HOMEKIT)
|
||||
self.assert_entry(entries[3], pointB, 'blu', domain='sensor',
|
||||
entity_id=entity_id2)
|
||||
|
||||
def test_include_exclude_events(self):
|
||||
|
|
Loading…
Reference in New Issue