Add doorbell event to google_assistant (#97123)
* First attempt async_report_state_all * Move notificationSupportedByAgent to SYNC response * Make notificationSupportedByAgent conditional * Add generic sync_options method * Report event * Add event_type as ID * User UUID, imlement query_notifications * Refactor query_notifications * Add test * MyPy * Unreachable code * Tweak * Correct notification message * Timestamp was wrong unit, it should be in seconds * Can only allow doorbell class, since it's the only type * Fix test * Remove unrelated changes - improve coverage * Additional tests --------- Co-authored-by: Joakim Plate <elupus@ecce.se>
This commit is contained in:
parent
6387263007
commit
c5b32d6307
11 changed files with 390 additions and 13 deletions
|
@ -345,14 +345,16 @@ class CloudGoogleConfig(AbstractConfig):
|
|||
assistant_options = settings.get(CLOUD_GOOGLE, {})
|
||||
return not assistant_options.get(PREF_DISABLE_2FA, DEFAULT_DISABLE_2FA)
|
||||
|
||||
async def async_report_state(self, message: Any, agent_user_id: str) -> None:
|
||||
async def async_report_state(
|
||||
self, message: Any, agent_user_id: str, event_id: str | None = None
|
||||
) -> None:
|
||||
"""Send a state report to Google."""
|
||||
try:
|
||||
await self._cloud.google_report_state.async_send_message(message)
|
||||
except ErrorResponse as err:
|
||||
_LOGGER.warning("Error reporting state - %s: %s", err.code, err.message)
|
||||
|
||||
async def _async_request_sync_devices(self, agent_user_id: str) -> int:
|
||||
async def _async_request_sync_devices(self, agent_user_id: str) -> HTTPStatus | int:
|
||||
"""Trigger a sync with Google."""
|
||||
if self._sync_entities_lock.locked():
|
||||
return HTTPStatus.OK
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue