[Модуль] Yandex Home (yandexhome)

Разработка дополнительных модулей, подключение различных приложений.

Модератор: immortal

skysilver
Сообщения: 3006
Зарегистрирован: Чт авг 21, 2014 8:28 am
Откуда: Киров, Россия
Контактная информация:

Re: [Модуль] Yandex Home (yandexhome)

Сообщение skysilver »

Обновление. Версия 0.7-beta.
  • Добавлены новые типы устройств - openable (дверь, ворота, окно и т.п.) и openable.curtain (шторы, жалюзи) с возможностью управления голосовыми командами "открой/закрой".
  • Добавлена возможность перевода модуля в автономный режим, при котором модуль переходит в режим "только чтение" и не реагирует на входящие команды управления устройствами (не выполняется запись в свойство объекта, привязанное к умению). Выполняется через настройки модуля, либо через пользовательские функции ReadonlyModeEnable и ReadonlyModeDisable.
Для управления автономным режимом в своих сценариях нужно использовать такие функции модуля:

Код: Выделить всё

// Активировать режим
include_once (DIR_MODULES . 'yandexhome/yandexhome.class.php');
$yandexhome = new yandexhome();
$yandexhome->ReadonlyModeEnable();

// Деактивировать режим
include_once (DIR_MODULES . 'yandexhome/yandexhome.class.php');
$yandexhome = new yandexhome();
$yandexhome->ReadonlyModeDisable();
К примеру код выключателя в Меню будет выглядеть так:

Код: Выделить всё

include_once (DIR_MODULES . 'yandexhome/yandexhome.class.php');

$yandexhome = new yandexhome();

if ($params['VALUE'] == 1) {
	$yandexhome->ReadonlyModeEnable();
} else {
	$yandexhome->ReadonlyModeDisable();
}
MajorDoMo (GitHub) на Cubietruck. ОС Debian 7 (wheezy) (kernel 3.4.105) с переносом на HDD.
Мой CONNECT | Блоги | Telegram
London
Сообщения: 76
Зарегистрирован: Чт фев 07, 2019 12:17 pm

Re: [Модуль] Yandex Home (yandexhome)

Сообщение London »

почему-то, при попытке вкл/выкл из приложения яндекса выходит ошибка "что-то пошло не так. попробуйте позднее ещё раз."
При этом, статус устройства меняется. Если управлять через Алису голосом - ошибок не выдает.
в логах в этот момент вроде бы всё нормально.

Код: Выделить всё

10:29:19 0.60122700 (2019-09-27_yandexhome.log) POST /modules/yandexhome/smarthome.php/v1.0/user/devices/action 37.9.87.107 <<< {"payload":{"devices":[{"id":"1","capabilities":[{"type":"devices.capabilities.on_off","state":{"instance":"on","value":true}}]}]}}
10:29:19 0.60224400 (2019-09-27_yandexhome.log) Incoming action request for device ID1
10:29:19 0.60259200 (2019-09-27_yandexhome.log) Capabilities type 'on_off', instance 'on', value=true
10:29:19 0.65363800 (2019-09-27_yandexhome.log) Object 'Relay03', property 'status', set value=1
10:29:19 0.65370100 (2019-09-27_yandexhome.log) smarthome.php >>> {"request_id":"d097de65-c900-4f3e-922a-521d046ae88e","payload":{"devices":[{"id":"1","capabilities":[{"type":"on_off","state":{"instance":"on","action_result":{"status":"DONE"}}}]}]}}
10:29:19 0.79073700 (2019-09-27_yandexhome.log) PropertySetHandle for object 'Relay03' and property 'status' and value=1

UPD:
ответил на свой вопрос сам. в ответе type должен быть не on_off, а devices.capabilities.on_off.
Чтобы это было так - в файле yandexhome.class.php на 687 строке надо $type = str_replace(PREFIX_CAPABILITIES, '', $capability['type']); заменить на $type = $capability['type'];
cabat
Сообщения: 216
Зарегистрирован: Ср май 28, 2014 12:42 pm
Откуда: Санкт-Петерург

Re: [Модуль] Yandex Home (yandexhome)

Сообщение cabat »

London писал(а): Пт сен 27, 2019 10:30 am почему-то, при попытке вкл/выкл из приложения яндекса выходит ошибка "что-то пошло не так. попробуйте позднее ещё раз."
При этом, статус устройства меняется. Если управлять через Алису голосом - ошибок не выдает.
в логах в этот момент вроде бы всё нормально.
Тоже заметил эту проблему, также все работает - и голосом и переключателем, только ругается..
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург

Re: [Модуль] Yandex Home (yandexhome)

Сообщение nick7zmail »

Веб сервер апач или нжинкс?
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
cabat
Сообщения: 216
Зарегистрирован: Ср май 28, 2014 12:42 pm
Откуда: Санкт-Петерург

Re: [Модуль] Yandex Home (yandexhome)

Сообщение cabat »

nick7zmail писал(а): Пн сен 30, 2019 4:59 pm Веб сервер апач или нжинкс?
Апач, система - официальный образ для RPi2.
Аватара пользователя
dimon90
Сообщения: 1
Зарегистрирован: Ср фев 28, 2018 1:10 pm

Re: [Модуль] Yandex Home (yandexhome)

Сообщение dimon90 »

cabat писал(а): Пн сен 30, 2019 4:42 pm
London писал(а): Пт сен 27, 2019 10:30 am почему-то, при попытке вкл/выкл из приложения яндекса выходит ошибка "что-то пошло не так. попробуйте позднее ещё раз."
При этом, статус устройства меняется. Если управлять через Алису голосом - ошибок не выдает.
в логах в этот момент вроде бы всё нормально.
Тоже заметил эту проблему, также все работает - и голосом и переключателем, только ругается..
Подтверждаю. Та же проблема - Выдает ошибку "что-то пошло не так. попробуйте позднее ещё раз.", но при этом действия отрабатываются. MD на Raspberry Pi.
London писал(а): Пт сен 27, 2019 10:30 am Чтобы это было так - в файле yandexhome.class.php на 687 строке надо $type = str_replace(PREFIX_CAPABILITIES, '', $capability['type']); заменить на $type = $capability['type'];
И так же подтверждаю что метод предложенный London работает - ошибка пропала.
cabat
Сообщения: 216
Зарегистрирован: Ср май 28, 2014 12:42 pm
Откуда: Санкт-Петерург

Re: [Модуль] Yandex Home (yandexhome)

Сообщение cabat »

dimon90 писал(а): Вт окт 01, 2019 8:25 am Чтобы это было так - в файле yandexhome.class.php на 687 строке надо $type = str_replace(PREFIX_CAPABILITIES, '', $capability['type']); заменить на $type = $capability['type'];
И так же подтверждаю что метод предложенный London работает - ошибка пропала.
Skysilver почему то пока не принимает pull-request от London, хотя вроде видел в чате телеграм по Яндекс.Станции его сообщение, что данное исправление решает проблему..

Update: Skysilver принял pull-request, спасибо!!! :)
London
Сообщения: 76
Зарегистрирован: Чт фев 07, 2019 12:17 pm

Re: [Модуль] Yandex Home (yandexhome)

Сообщение London »

Да, приняли мой pull-request, проблема уходит после последнего обновления)
Krinopotam
Сообщения: 77
Зарегистрирован: Вт июл 10, 2018 11:38 am

Re: [Модуль] Yandex Home (yandexhome)

Сообщение Krinopotam »

skysilver писал(а): Вт сен 17, 2019 10:06 pm Обновление. Версия 0.7-beta.
  • Добавлены новые типы устройств - openable (дверь, ворота, окно и т.п.) и openable.curtain (шторы, жалюзи) с возможностью управления голосовыми командами "открой/закрой".
При выборе типа устройства openable (дверь, ворота, окно и т.п.) в списке возможностей/умений отсутствует вариант Открой/Закрой.
SPOILERSPOILER_SHOW
2019-10-12.png
2019-10-12.png (143.77 КБ) 4937 просмотров
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург

Re: [Модуль] Yandex Home (yandexhome)

Сообщение nick7zmail »

Я думаю метрика там включить/выключить))
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Ответить