dext0r / yandex_smart_home Goto Github PK
View Code? Open in Web Editor NEWAdds support for Yandex Smart Home (Alice voice assistant) into Home Assistant
Home Page: https://docs.yaha-cloud.ru
License: MIT License
Adds support for Yandex Smart Home (Alice voice assistant) into Home Assistant
Home Page: https://docs.yaha-cloud.ru
License: MIT License
При попытке включать/выключать кондиционер я получаю такое:
2019-06-06 19:11:11 ERROR (MainThread) [custom_components.yandex_smart_home.smart_home] Unexpected error
Traceback (most recent call last):
File "/home/homeassistant/.homeassistant/custom_components/yandex_smart_home/smart_home.py", line 48, in _process
result = await handler(hass, data, message)
File "/home/homeassistant/.homeassistant/custom_components/yandex_smart_home/smart_home.py", line 178, in handle_devices_execute
capability.get('state', {}))
File "/home/homeassistant/.homeassistant/custom_components/yandex_smart_home/helpers.py", line 175, in execute
await cpb.set_state(data, state)
File "/home/homeassistant/.homeassistant/custom_components/yandex_smart_home/capability.py", line 160, in set_state
}, blocking=True, context=data.context)
File "/srv/homeassistant/lib/python3.5/site-packages/homeassistant/core.py", line 1150, in async_call
self._execute_service(handler, service_call))
File "/usr/lib/python3.5/asyncio/futures.py", line 380, in __iter__
yield self # This tells Task to wait for completion.
File "/usr/lib/python3.5/asyncio/tasks.py", line 304, in _wakeup
future.result()
File "/usr/lib/python3.5/asyncio/futures.py", line 293, in result
raise self._exception
File "/usr/lib/python3.5/asyncio/tasks.py", line 239, in _step
result = coro.send(None)
File "/srv/homeassistant/lib/python3.5/site-packages/homeassistant/core.py", line 1172, in _execute_service
await handler.func(service_call)
File "/srv/homeassistant/lib/python3.5/site-packages/homeassistant/helpers/entity_component.py", line 194, in handle_service
required_features
File "/srv/homeassistant/lib/python3.5/site-packages/homeassistant/helpers/service.py", line 316, in entity_service_call
future.result() # pop exception if have
File "/usr/lib/python3.5/asyncio/futures.py", line 293, in result
raise self._exception
File "/usr/lib/python3.5/asyncio/tasks.py", line 241, in _step
result = coro.throw(exc)
File "/srv/homeassistant/lib/python3.5/site-packages/homeassistant/helpers/service.py", line 337, in _handle_service_platform_call
await getattr(entity, func)(**data)
File "/usr/lib/python3.5/asyncio/futures.py", line 380, in __iter__
yield self # This tells Task to wait for completion.
File "/usr/lib/python3.5/asyncio/tasks.py", line 304, in _wakeup
future.result()
File "/usr/lib/python3.5/asyncio/futures.py", line 293, in result
raise self._exception
File "/usr/lib/python3.5/concurrent/futures/thread.py", line 55, in run
result = self.fn(*self.args, **self.kwargs)
File "/srv/homeassistant/lib/python3.5/site-packages/homeassistant/components/climate/__init__.py", line 480, in turn_on
raise NotImplementedError()
NotImplementedError
2019-06-06 19:11:11 ERROR (MainThread) [custom_components.yandex_smart_home.smart_home] Error handling message {'payload': {'devices': [{'id': 'climate.living_room_hvac', 'capabilities': [{'state': {'value': True, 'instance': 'on'}, 'type': 'devices.capabilities.on_off'}]}]}}: {'error_code': 'INTERNAL_ERROR'}
Кондиционер управляется платформой MQTT, кстати. Не уверен, есть ли там поддержка on_off (там для этого просто используется режим "off").
Originally posted by @ginkage in #11 (comment)
Не подскажете на какой версии ХА должен работать этот кастомный компонент? Или как можно дальше диагностировать причину моей ошибки?
Описание возникающей ошибки:
после переноса файлов с гитхаба в папку yandex_smart_home в custom_components и добавления нескольких строк в конфиг у меня в ХА версии 0.92.2 в докере на synology даже проверка конфигурации не проходит :( . причем веб морда ХА зависает на этом и приходится перегружать контейнер средствами докера. Если же пробовать запустить, то получаю в логе следующую ошибку (про атрибут медиа плеера):
2019-05-30 00:26:05 ERROR (MainThread) [homeassistant.setup] Error during setup of component cloud
Traceback (most recent call last):
File "/usr/local/lib/python3.7/asyncio/runners.py", line 43, in run return loop.run_until_complete(main)
File "uvloop/loop.pyx", line 1451, in uvloop.loop.Loop.run_until_complete
File "/usr/src/app/homeassistant/main.py", line 283, in setup_and_run_hass
log_no_color=args.log_no_color)
File "/usr/src/app/homeassistant/bootstrap.py", line 180, in async_from_config_file
config_dict, hass, enable_log=False, skip_pip=skip_pip)
File "/usr/src/app/homeassistant/bootstrap.py", line 91, in async_from_config_dict
await _async_set_up_integrations(hass, config)
File "/usr/src/app/homeassistant/bootstrap.py", line 394, in _async_set_up_integrations
for domain in domains_to_load
File "/usr/src/app/homeassistant/setup.py", line 50, in async_setup_component
return await task # type: ignore
File "/usr/src/app/homeassistant/setup.py", line 126, in _async_setup_component
hass, config, integration)
File "/usr/src/app/homeassistant/config.py", line 756, in async_process_component_config
component = integration.get_component()
File "/usr/src/app/homeassistant/loader.py", line 130, in get_component
cache[self.domain] = importlib.import_module(self.pkg_path)
File "/usr/local/lib/python3.7/importlib/init.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "", line 1006, in _gcd_import
File "", line 983, in _find_and_load
File "", line 967, in _find_and_load_unlocked
File "", line 677, in _load_unlocked
File "", line 728, in exec_module
File "", line 219, in _call_with_frames_removed
_File "/config/custom_components/yandex_smart_home/init.py", line 12, in
from .const import (_
_File "/config/custom_components/yandex_smart_home/const.py", line 73, in
(media_player.DOMAIN, media_player.DEVICE_CLASS_TV): TYPE_MEDIA_DEVICE_TV,_
AttributeError: module 'homeassistant.components.media_player' has no attribute 'DEVICE_CLASS_TV'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/src/app/homeassistant/setup.py", line 153, in _async_setup_component
hass, processed_config)
File "/usr/src/app/homeassistant/components/cloud/init.py", line 156, in async_setup
await prefs.async_initialize()
File "/usr/src/app/homeassistant/components/cloud/prefs.py", line 25, in async_initialize
prefs = await self._store.async_load()
File "/usr/src/app/homeassistant/helpers/storage.py", line 81, in async_load
return await self._load_task
concurrent.futures._base.CancelledError
Установлено все по инстукции, перепроверенно 10 раз.
Выходит ошмбка при публикации Диалога:
Ошибки валидации:
— Endpoint URL: Ошибка реализации протокола умного дома:
availability: Request Timeout
devices: Request Timeout
devices_action: Request Timeout
devices_query: Request Timeout
user_unlink: Request Timeout
Docker
HA version 0.105.5
Для обновления более автоматического может подойдет вариант создания собственного "кастомного" репозитория?
https://developers.home-assistant.io/docs/en/hassio_addon_index.html
Как я понимаю, там нужно будет создать докер-контейнер, настроить его, а также сам репозиторий, чтобы из HA можно было к нему обращаться.
Это было бы очень удобно, так как Ваш компонент уже несколько раз обновлялся с добавлением интересных и важных функций.
Для устройств типа "cover" (жалюзи, ворота, двери) по команде "Закрой ворота" присылается OPEN команда и наоборот. HASSIO, mqtt. При этом от выключателя на сцене все поступает как надо по нажатию. Нужно поменять местами команды от Алисы.
Интеграция скриптов сделана несколько нелогичо. Т.е. мы даем команду, "Алиса, включи мой скрипт". Скрипт запускается в HA, всё прекрасно. Но теперь у него в yandex home статуc "включен". Если мы повторно просим "Алиса, включи мой скрипт" ничего не произойдет,
нужно сперва попросить "Алиса, выключи мой скрипт", а затем снова попросить включить, только тогда скрипт запуститься повторно. Думаю по окончанию выполнения скрипта в HA нужно сбрасывать его статус в сотояние "выключено"?
Пытаюсь объединить аккаунты из приложения яндекса формирует такую ссылку
https://[мой домен].duckdns.org:8123/auth/authorize?state=https%3A%2F%2Fsocial.yandex.ru%2Fbroker2%2Fauthz_in_app%2Fe357c70e949045c8a4b6e5c217693754%2Fcallback&redirect_uri=https%3A%2F%2Fsocial.yandex.net%2Fbroker%2Fredirect&response_type=code&client_id=DrDooM%20Home
На что HA отвечает
Logging in with Home Assistant Local.
Error: invalid client id or redirect uri
Делал по мануалу настройку, у других людей такая ошибка пропадала при пересоздании диалога яндекса, у меня повторяется. Не пойму куда копать)
Дмитрий, добрый день!
В приложении Яндекс при действии "Объединить аккаунты", штатно редиректит на Home Assistant на форму авторизации.
При вводе логина/пароля, редиректит на social.yandex.ru, с ошибкой(скрин в приложении).
Пробовал с разных телефонов ios/anroid, пробовал переустановку home assistant.
Так же в логе вижу, что плагин, инициализацию проходит:
2019-06-13 18:15:42 WARNING (MainThread) [homeassistant.loader] You are using a custom integration for yandex_smart_home which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you do experience issues with Home Assistant.
Пожалуйста, посоветуйте, как решить данную проблему!
Большое спасибо!
Вот настройки навыка:
Endpoint URL: https://dacha.bestcons.su:65222/api/yandex_smart_home
Идентификатор приложения: https://social.yandex.net/
URL авторизации: https://dacha.bestcons.su:65222/auth/authorize
URL для получения токена: https://dacha.bestcons.su:65222/auth/token
URL для обновления токена: https://dacha.bestcons.su:65222/auth/token
Get such logs in HA server.
Error doing job: SSL handshake failed Traceback (most recent call last): File "uvloop/sslproto.pyx", line 500, in uvloop.loop.SSLProtocol._on_handshake_complete File "uvloop/sslproto.pyx", line 484, in uvloop.loop.SSLProtocol._do_handshake File "/usr/local/lib/python3.7/ssl.py", line 763, in do_handshake self._sslobj.do_handshake() ssl.SSLError: [SSL: SSLV3_ALERT_BAD_CERTIFICATE] sslv3 alert bad certificate (_ssl.c:1056)
Get it after syncing devices in Yandex Smart Home.
Setup:
HA on synology in docker.
input_number использую как таймеры для устройств, было бы неплохо, если бы Алиса умела устанавливать эти таймеры.
Добрый день!
Во первых, ОГРОМНОЕ СПАСИБО за Ваш проект.
У меня возникла такая проблема, как только настроил интеграцию было все хорошо на спустя неделю Алиса перестали делать свет ярче или тусклее а так же перестала менять температуру света, отвечает , что "Устройств для регулирования яркости не найдено проверьте настройки умного дома" но если я меняю яркость через интерфейс мой дом - устройства (в приложении яндекс) то таких проблем нет. В какую сторону посмотреть?
Спустя некоторое время слетает авторизация, поэтому приходится каждый час-два "Объединять аккаунты" в настройках Яндекса, иначе ничего не работает.
В логах home assistant пусто.
Привет не работает mute/unmute на телеке
В логе ha:
2019-06-06 17:18:47 ERROR (MainThread) [custom_components.yandex_smart_home.smart_home] Unexpected error
Traceback (most recent call last):
File "/home/den/.homeassistant/custom_components/yandex_smart_home/smart_home.py", line 48, in _process
result = await handler(hass, data, message)
File "/home/den/.homeassistant/custom_components/yandex_smart_home/smart_home.py", line 178, in handle_devices_execute
capability.get('state', {}))
File "/home/den/.homeassistant/custom_components/yandex_smart_home/helpers.py", line 174, in execute
if type == cpb.type and state['instance'] == cpb.instance:
TypeError: 'NoneType' object is not subscriptable
2019-06-06 17:18:47 ERROR (MainThread) [custom_components.yandex_smart_home.smart_home] Error handling message {'payload': {'devices': [{'id': 'media_player.lg_tv', 'capabilities': [{'type': 'devices.capabilities.toggle', 'state': None}]}, {'id': 'media_player.living_room_tv', 'capabilities': [{'type': 'devices.capabilities.toggle', 'state': None}]}]}}: {'error_code': 'INTERNAL_ERROR'}
2019-06-06 17:19:01 ERROR (MainThread) [custom_components.yandex_smart_home.smart_home] Unexpected error
Traceback (most recent call last):
File "/home/den/.homeassistant/custom_components/yandex_smart_home/smart_home.py", line 48, in _process
result = await handler(hass, data, message)
File "/home/den/.homeassistant/custom_components/yandex_smart_home/smart_home.py", line 178, in handle_devices_execute
capability.get('state', {}))
File "/home/den/.homeassistant/custom_components/yandex_smart_home/helpers.py", line 174, in execute
if type == cpb.type and state['instance'] == cpb.instance:
TypeError: 'NoneType' object is not subscriptable
2019-06-06 17:19:01 ERROR (MainThread) [custom_components.yandex_smart_home.smart_home] Error handling message {'payload': {'devices': [{'id': 'media_player.lg_tv', 'capabilities': [{'type': 'devices.capabilities.toggle', 'state': None}]}, {'id': 'media_player.living_room_tv', 'capabilities': [{'type': 'devices.capabilities.toggle', 'state': None}]}]}}: {'error_code': 'INTERNAL_ERROR'}
Как на счёт новых кухонных типов?
https://yandex.ru/dev/dialogs/alice/doc/smart-home/concepts/device-type-cooking-docpage/
Добавите?
Будет ли реализована поддержка остальных "умений", таких как:
Куда отправлять пожертвования для ускорения процесса разработки? ;)
Looks like script
domain is already in the domain->yandex_type map but still not supported.
Scripts should be exported as simple switches and executed when the switch is on.
It's implemented the same way in HA homekit component.
Imagine exporting "Good night" scene as a "Good night" switch and then making a Yandex scene (user side) named "Good night" also that will toggle "Good night" switch...
So "Alice, good night" will trigger the night script.
Добавьте пожалуйста возможность переключение ТВ каналов по номеру канала.
Хотелось бы иметь возможность вызова HomeAssistant сцен через Алису. Возможно, самое простое было бы дать возможность переназначать тип entity в entity_config, отдавая Алисе сцены, скажем, как скрипты.
Попробовал подключить HASS.IO к Яндекс Алисе:
При выборе "Объединить аккаунты" в Яндекс выпадает окно с ошибкой 404. Пробовал папку custom_components пихать в разные каталоги - и внутрь /root/.homeassistant, и в /config, и в /config/.homeassistant - безрезультатно.....
Хотя, согласно доке, сейчас это должно все быть в /config/custom_components/<имя_компонента> где оно сейчас и находится.
HASS.IO установлен в докере.
Посмотрев в файл http.py обнаружил, что вместо URL https://[внешний_адрес_HA]/api/yandex_smart_home откликается URL https://[внешний_адрес_HA]/api/yandex_smart_home/v1.0
С таким URL получается авторизваться и объединить аккаунты, но при попытке обновить список устройств вываливается ошибка.....
авторизовал HA как устройство в "Моем доме". Примерно через 1 час все синхронизированные устройства становятся недоступными и надо проходить авторизацию заново. Куда копать?
PS. HA стоит за отельным nginx reverse proxy. После пропадания связи nginx выводит в лог только такое:
5.255.199.168 - - [11/Nov/2019:22:08:21 +0300] "POST /auth/authorize HTTP/1.1" 405 23 "-" "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/536.5 (KHTML, like Gecko) YaB$
77.88.46.153 - - [11/Nov/2019:22:08:21 +0300] "POST /auth/authorize HTTP/1.1" 405 23 "-" "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/536.5 (KHTML, like Gecko) YaBr$
77.88.46.155 - - [11/Nov/2019:22:08:22 +0300] "POST /auth/authorize HTTP/1.1" 405 23 "-" "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/536.5 (KHTML, like Gecko) YaBr$
Приложение яндекса не синхронизирует целевую температуру термостата. При инициализации устройства, яндекс не получает информацию о целевой температуре и выставляет 15. Соответственно, яндекс не знает об изменениях целевых температур в ХА.
В режиме тестирования видно, что целевая температура уходит на сервер яндекса, но не обрабатывается.
Добавьте пожалуйста поддержку сенсоров "sensors" как у google assistant https://www.home-assistant.io/integrations/google_assistant#available-domains
Ура, наконец то можно выводить звуки,голос,музыку на Yandex Station колонку,
Взято отсюда https://github.com/AlexxIT/YandexStation/
Пример настройки:
script:
yandex_tts:
alias: TTS на Яндекс.Станции
sequence:
- service: tts.yandex_station_say
data_template:
entity_id: media_player.yandex_station_12345678901234567890
message: Температура в комнате {{ states("sensor.temperature_hall")|round }} градуса.
yandex_play_album:
alias: Включить Би-2 на Станции
sequence:
- service: media_player.play_media
data:
entity_id: media_player.yandex_station_12345678901234567890
media_content_id: 60062 # ID альбома в Яндекс.Музыка
media_content_type: album # album, track or playlist
При объедение аккаунтов, после ввода login/password (в диалоге от home assistance, тоесть связь с сервисом есть), выводиться ошибка:
Произошла ошибка
Произошла ошибка в процессе получения данных от сервиса
Вылезает такая ошибка:
Error handling message {'payload': {'devices': [{'id': 'switch.socket1', 'capabilities': [{'type': 'devices.capabilities.on_off', 'state': {'instance': 'on', 'value': True}}]}, {'id': 'light.fibaro_system_fgd212_dimmer_2_level_4', 'capabilities': [{'type': 'devices.capabilities.on_off', 'state': {'instance': 'on', 'value': True}}]}, {'id': 'light.kitchen_glass', 'capabilities': [{'type': 'devices.capabilities.on_off', 'state': {'instance': 'on', 'value': True}}]}, {'id': 'light.gateway_light_7811dcdedfff', 'capabilities': [{'type': 'devices.capabilities.on_off', 'state': {'instance': 'on', 'value': True}}]}, {'id': 'light.fibaro_system_fgd212_dimmer_2_level_3', 'capabilities': [{'type': 'devices.capabilities.on_off', 'state': {'instance': 'on', 'value': True}}]}, {'id': 'light.fibaro_system_fgd212_dimmer_2_level', 'capabilities': [{'type': 'devices.capabilities.on_off', 'state': {'instance': 'on', 'value': True}}]}, {'id': 'light.hall_enter', 'capabilities': [{'type': 'devices.capabilities.on_off', 'state': {'instance': 'on', 'value': True}}]}, {'id': 'light.fibaro_system_fgd212_dimmer_2_level_6', 'capabilities': [{'type': 'devices.capabilities.on_off', 'state': {'instance': 'on', 'value': True}}]}, {'id': 'light.hall_rooms', 'capabilities': [{'type': 'devices.capabilities.on_off', 'state': {'instance': 'on', 'value': True}}]}, {'id': 'light.sofa_right', 'capabilities': [{'type': 'devices.capabilities.on_off', 'state': {'instance': 'on', 'value': True}}]}, {'id': 'light.kitchen', 'capabilities': [{'type': 'devices.capabilities.on_off', 'state': {'instance': 'on', 'value': True}}]}, {'id': 'light.fibaro_system_fgd212_dimmer_2_level_2', 'capabilities': [{'type': 'devices.capabilities.on_off', 'state': {'instance': 'on', 'value': True}}]}, {'id': 'light.fibaro_system_fgd212_dimmer_2_level_5', 'capabilities': [{'type': 'devices.capabilities.on_off', 'state': {'instance': 'on', 'value': True}}]}, {'id': 'light.gostinnaya', 'capabilities': [{'type': 'devices.capabilities.on_off', 'state': {'instance': 'on', 'value': True}}]}, {'id': 'media_player.2', 'capabilities': [{'type': 'devices.capabilities.on_off', 'state': {'instance': 'on', 'value': True}}]}, {'id': 'light.shower', 'capabilities': [{'type': 'devices.capabilities.on_off', 'state': {'instance': 'on', 'value': True}}]}]}}: {'error_code': 'INTERNAL_ERROR'}
Что это значит?
Привет.
Как насчет перевода этого компонента из статуса кастомного мода в полноценный официальный компонент?
Хотел сам писать этот компонент, а тут твой нашел. Может помочь с вкладом в официальный HA?
Добрый день,
в HA есть компонент remote, пример:
remote:
можно как то замепить как выключатель в Алисе?
Вот так не работает:
include_entities:
- remote.nad
entity_config:
remote.nad:
name: NAD
Здравствуйте! Имеется ли техническая возможность использовать устройство, на котором выполняется Home Assistant как устройство с Алисой? Конкретно, интересует Ubuntu server, без GUI.
Здравствуйте, у меня HA установлен Docker, будет работать yandex_smart_home в нем или нет?
Дмитрий, вопрос. У меня не добавляются шторы. Домен cover в конфиге прописан. Возможно состояния там не on/off а open/close? Штор у яндекса в типах устройств нет, только other.
Originally posted by @SeNike in #5 (comment)
homeassistant : 0.101.3
yandex_smart_home самый последний через git pull
2019-11-12 11:51:32 ERROR (MainThread) [homeassistant.components.hassio] Invalid config for [yandex_smart_ho me]: [entity_config] is an invalid option for [yandex_smart_home]. Check: yandex_smart_home->yandex_smart_ho me->filter->entity_config. (See /config/configuration.yaml, line 66). Please check the docs at https://home- assistant.io/integrations/yandex_smart_home/
конфиг:
yandex_smart_home:
filter:
include_domains:
- switch
- light
exclude_entities:
- switch.rfbridge_0
- switch.rfbridge_1
- switch.rfbridge_2
- switch.rfbridge_3
- switch.rfbridge_4
- switch.rfbridge_5
- switch.rfbridge_6
- switch.rfbridge_7
- switch.fan_small
entity_config:
switch.sonoff:
name: свет возле окна
room: спальня
Попытка подключить компонент терпит фиаско со следующей ошибкой:
2019-10-08 21:42:37 WARNING (MainThread) [homeassistant.loader] You are using a custom integration for yandex_smart_home which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you do experience issues with Home Assistant.
2019-10-08 21:42:37 ERROR (MainThread) [aiohttp.server] Error handling request
Traceback (most recent call last):
File "/usr/local/lib/python3.7/site-packages/aiohttp/web_protocol.py", line 418, in start
resp = await task
File "/usr/local/lib/python3.7/site-packages/aiohttp/web_app.py", line 458, in _handle
resp = await handler(request)
File "/usr/local/lib/python3.7/site-packages/aiohttp/web_middlewares.py", line 119, in impl
return await handler(request)
File "/usr/src/homeassistant/homeassistant/components/http/real_ip.py", line 40, in real_ip_middleware
return await handler(request)
File "/usr/src/homeassistant/homeassistant/components/http/ban.py", line 73, in ban_middleware
return await handler(request)
File "/usr/src/homeassistant/homeassistant/components/http/auth.py", line 231, in auth_middleware
return await handler(request)
File "/usr/src/homeassistant/homeassistant/components/http/view.py", line 128, in handle
result = await result
File "/usr/src/homeassistant/homeassistant/components/config/core.py", line 29, in post
errors = await async_check_ha_config_file(request.app["hass"])
File "/usr/src/homeassistant/homeassistant/config.py", line 818, in async_check_ha_config_file
res = await check_config.async_check_ha_config_file(hass)
File "/usr/src/homeassistant/homeassistant/helpers/check_config.py", line 113, in async_check_ha_config_file
component = integration.get_component()
File "/usr/src/homeassistant/homeassistant/loader.py", line 223, in get_component
cache[self.domain] = importlib.import_module(self.pkg_path)
File "/usr/local/lib/python3.7/importlib/__init__.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
File "<frozen importlib._bootstrap>", line 983, in _find_and_load
File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 728, in exec_module
File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
File "/config/custom_components/yandex_smart_home/__init__.py", line 16, in <module>
from .http import async_register_http
File "/config/custom_components/yandex_smart_home/http.py", line 14, in <module>
from .smart_home import async_handle_message
File "/config/custom_components/yandex_smart_home/smart_home.py", line 13, in <module>
from .helpers import RequestData, YandexEntity
File "/config/custom_components/yandex_smart_home/helpers.py", line 11, in <module>
from . import capability
ValueError: source code string cannot contain null bytes
Добавьте пожалуйста новый тип устройства:
https://yandex.ru/dev/dialogs/alice/doc/smart-home/concepts/device-type-openable-docpage/
Столкнулся с проблемой, что у меня на айпишнике уже ретранслируется 443 порт на другой сайт. Как в таком случае можно подключить этот плагин к диалогам?
В обновлении Умного Дома Яндекс от 16.09.2019 завезли поддержку открывающихся устройств: жалюзи, штор, ворот и т. д.
devices.types.openable
devices.types.openable.curtain
В списке голосовых команд не нашел команды выключить кондиционер. На пробу Алиса ответила что пока не умеет) остальное работает
Здравствуйте, Дмитрий!
Подскажите, пожалуйста, собираетесь ли вы продолжать развивать проект? Добавлять новые функции, совершенствовать проект?
Просто, на текущий момент, Ваш проект является наиболее удобным из всего, что есть для связи Умного Дома Яндекс и НА....
Огромное Вам спасибо и хотелось бы, чтобы проект продолжался.....
@dmitry-k
Правильно понимаю, что команды воспроизведения/остановки сейчас не работают/ограничено работают на ряде устройств?
У меня Sonos Play 1, который в HA зарегистрирован как media_player.kitchen, mute/unmute из Алисы работают как надо, а вот включение/остановка - нет
По коду не нашел в capabilities media_player.media_play, а вызовы media_player.turn_on/turn_off не работают, если вызывать из консоли разработчика явно
Добрый день Дмитрий.
Есть такие замечательные светильники - Nanoleaf Aurora которые помимо прочего умеют воспроизводить разные динамические сцены. В Home Assistant есть поддержка этих панелей, но при интеграции их с Алисой они работают как цветные лампочки: можно включить/выключить, поменять яркость, цвет. Но хотелось бы иметь возможность включить голосом нужную сцену по ее имени. Что-то типа "Алиса, включи [сцену] Камин на светильнике в спальне".
Такое технически возможно реализовать или тут будут ограничения на стороне Яндекса?
При связывании аккаунтов происходит ошибка "Произошла ошибка в процессе получения данных от сервиса"
Не могли бы вы проверить, что по указанным в инструкции шагам всё продолжает работать?
Если это только у меня такое, буду ещё пробовать что-нибудь шатать.
Использую fan.xiaomi_miio
у меня есть zhimi.airpurifier.ma2 и zhimi.humidifier.ca1
алиса умеет их разделять https://yandex.ru/dev/dialogs/alice/doc/smart-home/concepts/device-type-purifier-docpage/
в коде нашёл
TYPE_PURIFIER = PREFIX_TYPES + 'purifier'
но в DOMAIN_TO_YANDEX_TYPES все fan.DOMAIN: TYPE_HUMIDIFIER
если ли возможность их как-то разделить? или в HA они все один класс - вентиляторы?
Просьба или пожелание реализовать добавление/исключение определенных устройств , например как в homkit
:
filter:
include_entities:
- light.living_room_chandelier
exclude_entities:
- light.living_room_lamp
А так все работает отлично! Спасибо за компонент!
на шаге:
For account linking add configuration on https://dialogs.yandex.ru/developer/settings/oauth
открывается не пойми что, не связанное с API authorization endpoint и прочим.
при создании диалога Create dialog via https://dialogs.yandex.ru/developer/
требуется верификация сайта с добавлением meta, кода html или DNS записи в домене :(
это что то новое от яндекса или что с этим можно поделать?
Роботы-пылесосы, кофеварки, увлажнители и очистители воздуха выделены в отдельные типы устройств. Для них доступен расширенный набор команд: в приложении Яндекс и через Алису можно не только включить или выключить устройства, но и управлять их работой и настройками.
Если вы — разработчик навыка для умного дома и хотите добавить в него новые устройства, используйте для них следующие типы: devices.types.purifier, devices.types.vacuum_cleaner, devices.types.cooking.coffee_maker, devices.types.humidifier.
Тоже столкнулся с проблемой, не получается обновить список устройств. Изначально все получилось и все управлялось, после обновления HA, привязка слетела, объединить аккаунты получается а при обновлении списка устройств выскакивает "Internal server error". Проверил с endpoint url все впорядке, слэша нет вконце, ограничить список устройств тоже не помогает, оставил только свичи и та же ошибка. Подскажите что можно еще попробовать?
Приветствую, Дмитрий можете подсказать если открыть ссылку согласно мануала https://SITE:PORT/api/yandex_smart_home выдаст ли какой-либо ответ, а то я получаю ошибку 404 not found.
Я разместил плагин в папке config/custom_components.
Есть ли у вас инструкция по разворачиванию плагина если HA работает в Docker
Привет, ХА после обновления до 0.96 перестает запускаться пока не удален yandex_smart_home: из конфига. После удаления прекрасно запускается.
Просьба обновить компонент под новые требования ХА для поддержки новой версии.
После авторизации устройства не добавились. Обновление не помогает.
На проксирующий nginx приходят вот такие запросы:
93.158.156.96 - - [29/May/2019:20:04:44 +0700] "POST /api/yandex_smart_home HTTP/1.1" 401 17 "-" "YaAlice/1.0.0.0 Chrome/19.0.1084.5409 Safari/536.5"
77.88.10.81 - - [29/May/2019:20:07:43 +0700] "POST /api/yandex_smart_home HTTP/1.1" 401 17 "-" "YaAlice/1.0.0.0 Chrome/19.0.1084.5409 Safari/536.5"
77.88.10.81 - - [29/May/2019:20:07:45 +0700] "POST /api/yandex_smart_home HTTP/1.1" 401 17 "-" "YaAlice/1.0.0.0 Chrome/19.0.1084.5409 Safari/536.5"
77.88.46.153 - - [29/May/2019:20:08:22 +0700] "POST /api/yandex_smart_home HTTP/1.1" 401 17 "-" "YaAlice/1.0.0.0 Chrome/19.0.1084.5409 Safari/536.5"
В одном из форков этого репо реализован, или только заявлен в ридми новый функционал. Можно назначать скрипты на кнопки громкости , Номера каналов и источников. Удобно кмк. Почему бы не реализовать тут.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.