Fix group integration with py3.11 (#88089)

In py3.11 `Passing coroutines is forbidden, use tasks explicitly`
This commit is contained in:
J. Nick Koston 2023-02-14 09:24:10 -06:00 committed by GitHub
parent d8ee60ee44
commit f11ba1b7cb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -2,7 +2,7 @@
from __future__ import annotations
import asyncio
from collections.abc import Coroutine, Mapping
from collections.abc import Mapping
from copy import deepcopy
from typing import Any
@ -68,14 +68,16 @@ class GroupNotifyPlatform(BaseNotificationService):
payload: dict[str, Any] = {ATTR_MESSAGE: message}
payload.update({key: val for key, val in kwargs.items() if val})
tasks: list[Coroutine[Any, Any, bool | None]] = []
tasks: list[asyncio.Task[bool | None]] = []
for entity in self.entities:
sending_payload = deepcopy(payload.copy())
if (data := entity.get(ATTR_DATA)) is not None:
update(sending_payload, data)
tasks.append(
self.hass.services.async_call(
DOMAIN, entity[ATTR_SERVICE], sending_payload
asyncio.create_task(
self.hass.services.async_call(
DOMAIN, entity[ATTR_SERVICE], sending_payload
)
)
)