diff --git a/homeassistant_api/rawapi.py b/homeassistant_api/rawapi.py index 3eb68818..f3f0d841 100644 --- a/homeassistant_api/rawapi.py +++ b/homeassistant_api/rawapi.py @@ -4,6 +4,7 @@ from datetime import datetime from posixpath import join from typing import Dict, Optional, Tuple, Union +from urllib.parse import quote as url_quote from .const import DATE_FMT from .models import Entity @@ -114,7 +115,7 @@ def prepare_get_entity_histories_params( if entities is not None: params["filter_entity_id"] = ",".join([ent.entity_id for ent in entities]) if end_timestamp is not None: - params["end_time"] = end_timestamp.strftime(DATE_FMT) + params["end_time"] = url_quote(end_timestamp.strftime(DATE_FMT)) if minimal_state_data: params["minimal_response"] = None if significant_changes_only: @@ -143,7 +144,7 @@ def prepare_get_logbook_entry_params( params.update(entity=filter_entity.entity_id) if end_timestamp is not None: if isinstance(end_timestamp, datetime): - end_timestamp = end_timestamp.strftime(DATE_FMT) + end_timestamp = url_quote(end_timestamp.strftime(DATE_FMT)) params.update(end_time=end_timestamp) if start_timestamp is not None: if isinstance(start_timestamp, datetime):