mirror of
https://github.com/XiaoMi/ha_xiaomi_home.git
synced 2026-01-14 05:10:44 +08:00
Merge f60143b477 into 310029d8ed
This commit is contained in:
commit
2d8e9759b6
@ -46,7 +46,6 @@ off Xiaomi or its affiliates' products.
|
||||
Notify entities for Xiaomi Home.
|
||||
"""
|
||||
from __future__ import annotations
|
||||
import json
|
||||
import logging
|
||||
from typing import Optional
|
||||
|
||||
@ -54,6 +53,8 @@ from homeassistant.config_entries import ConfigEntry
|
||||
from homeassistant.core import HomeAssistant
|
||||
from homeassistant.helpers.entity_platform import AddEntitiesCallback
|
||||
from homeassistant.components.notify import NotifyEntity
|
||||
from homeassistant.util import yaml
|
||||
from homeassistant.exceptions import HomeAssistantError
|
||||
|
||||
from .miot.miot_spec import MIoTSpecAction
|
||||
from .miot.miot_device import MIoTDevice, MIoTActionEntity
|
||||
@ -103,13 +104,16 @@ class Notify(MIoTActionEntity, NotifyEntity):
|
||||
self.name, self.entity_id)
|
||||
return
|
||||
try:
|
||||
in_list: list = json.loads(message)
|
||||
except json.JSONDecodeError:
|
||||
in_list: list = yaml.parse_yaml(message)
|
||||
except HomeAssistantError:
|
||||
_LOGGER.error(
|
||||
'action exec failed, %s(%s), invalid action params format, %s',
|
||||
self.name, self.entity_id, message)
|
||||
return
|
||||
|
||||
if isinstance(in_list, str):
|
||||
in_list = [in_list]
|
||||
|
||||
if not isinstance(in_list, list) or len(in_list) != len(self.spec.in_):
|
||||
_LOGGER.error(
|
||||
'action exec failed, %s(%s), invalid action params, %s',
|
||||
|
||||
Loading…
Reference in New Issue
Block a user