mirror of
https://github.com/home-assistant/core.git
synced 2025-07-23 13:17:32 +00:00
Merge pull request #1020 from kennedyshead/dev
Adding service for logbook
This commit is contained in:
commit
d6bb6a0777
@ -6,6 +6,7 @@ Parses events and generates a human log.
|
|||||||
For more details about this component, please refer to the documentation at
|
For more details about this component, please refer to the documentation at
|
||||||
https://home-assistant.io/components/logbook/
|
https://home-assistant.io/components/logbook/
|
||||||
"""
|
"""
|
||||||
|
import logging
|
||||||
from datetime import timedelta
|
from datetime import timedelta
|
||||||
from itertools import groupby
|
from itertools import groupby
|
||||||
import re
|
import re
|
||||||
@ -17,6 +18,7 @@ from homeassistant.const import (
|
|||||||
import homeassistant.util.dt as dt_util
|
import homeassistant.util.dt as dt_util
|
||||||
from homeassistant.components import recorder, sun
|
from homeassistant.components import recorder, sun
|
||||||
from homeassistant.helpers.entity import split_entity_id
|
from homeassistant.helpers.entity import split_entity_id
|
||||||
|
from homeassistant.util import template
|
||||||
|
|
||||||
DOMAIN = "logbook"
|
DOMAIN = "logbook"
|
||||||
DEPENDENCIES = ['recorder', 'http']
|
DEPENDENCIES = ['recorder', 'http']
|
||||||
@ -27,6 +29,8 @@ QUERY_EVENTS_BETWEEN = """
|
|||||||
SELECT * FROM events WHERE time_fired > ? AND time_fired < ?
|
SELECT * FROM events WHERE time_fired > ? AND time_fired < ?
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
_LOGGER = logging.getLogger(__name__)
|
||||||
|
|
||||||
EVENT_LOGBOOK_ENTRY = 'logbook_entry'
|
EVENT_LOGBOOK_ENTRY = 'logbook_entry'
|
||||||
|
|
||||||
GROUP_BY_MINUTES = 15
|
GROUP_BY_MINUTES = 15
|
||||||
@ -53,8 +57,22 @@ def log_entry(hass, name, message, domain=None, entity_id=None):
|
|||||||
|
|
||||||
def setup(hass, config):
|
def setup(hass, config):
|
||||||
""" Listens for download events to download files. """
|
""" Listens for download events to download files. """
|
||||||
hass.http.register_path('GET', URL_LOGBOOK, _handle_get_logbook)
|
# create service handler
|
||||||
|
def log_message(service):
|
||||||
|
""" Handle sending notification message service calls. """
|
||||||
|
message = service.data.get(ATTR_MESSAGE)
|
||||||
|
name = service.data.get(ATTR_NAME)
|
||||||
|
domain = service.data.get(ATTR_DOMAIN, None)
|
||||||
|
entity_id = service.data.get(ATTR_ENTITY_ID, None)
|
||||||
|
|
||||||
|
if not message or not name:
|
||||||
|
return
|
||||||
|
|
||||||
|
message = template.render(hass, message)
|
||||||
|
log_entry(hass, name, message, domain, entity_id)
|
||||||
|
|
||||||
|
hass.http.register_path('GET', URL_LOGBOOK, _handle_get_logbook)
|
||||||
|
hass.services.register(DOMAIN, 'log', log_message)
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user