Страница 41 из 42

Re: [BETA] [Модуль] YaDevices (yadevices)

Добавлено: Пн янв 05, 2026 2:08 pm
V.A.S.t
strannik писал(а): Пн янв 05, 2026 12:56 pm Я уже не знаю, что ещё предпринять.
Приветствую! Удали из таблицы yastations колонку TTS_EFFECT. И, если есть TTS_ANNOUNCE, SCREEN_CAPABLE и SCREEN_PRESENT.
Если такой колонки нет, то косяк с БД. Попброуй удалить из схемы. Вот этот запрос показывает колонки в схеме:
SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'yastations'

Re: [BETA] [Модуль] YaDevices (yadevices)

Добавлено: Пн янв 05, 2026 2:28 pm
strannik
V.A.S.t писал(а): Пн янв 05, 2026 2:08 pm
strannik писал(а): Пн янв 05, 2026 12:56 pm Я уже не знаю, что ещё предпринять.
Приветствую! Удали из таблицы yastations колонку TTS_EFFECT. И, если есть TTS_ANNOUNCE, SCREEN_CAPABLE и SCREEN_PRESENT.
Если такой колонки нет, то косяк с БД. Попброуй удалить из схемы. Вот этот запрос показывает колонки в схеме:
SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'yastations'
Огромное спасибо! Всё заработало

Re: [BETA] [Модуль] YaDevices (yadevices)

Добавлено: Пт янв 09, 2026 9:10 am
scorp49
Добрый день. Купил датчик движения и освещёности YNDX-00522. Свойство devices.properties.event.motion не обновляется, а свойство devices.properties.float.illumination обновляется. Но в приложении с Алисой всё хорошо обновляется.

Re: [BETA] [Модуль] YaDevices (yadevices)

Добавлено: Пн янв 12, 2026 8:35 pm
olis
Есть ли готовый механизм для определения ID станции, на которую пришла последняя команда? Мне это нужно для организации диалога, чтобы отвечала именно та станция, которая услышала команду. Ответ будет сформирован уже через 'command'=>'text'. Например, я говорю: «Алиса, открой штору», сценарий в доме яндекса запускает сценарий MajorDoMo на отрытие шторы. В конце сценария в MajorDoMo, когда штора уже будет отрыта, выполняется 'station'=>ID, 'command'=>'text', 'data'=>'Штора открыта!'. Так вот надо получить ID той станции, которая услышала «Алиса, открой штору». Ну или хотя бы ID станции, которая последней вообще что-то услышала.
Если ничего такого не предусмотрено, временно сделаю ацкий колхоз: в конце сценария яндекса добавлю команду «Ничего не говори» для станции, которая активировала сценарий, эти слова появятся в свойстве cloud.aswr_scenario этой станции, там это можно отловить.

Re: [BETA] [Модуль] YaDevices (yadevices)

Добавлено: Вт янв 13, 2026 9:44 am
V.A.S.t
olis писал(а): Пн янв 12, 2026 8:35 pm Есть ли готовый механизм для определения ID станции, на которую пришла последняя команда?
Если ничего такого не предусмотрено, временно сделаю ацкий колхоз: в конце сценария яндекса добавлю команду «Ничего не говори» для станции, которая активировала сценарий, эти слова появятся в свойстве cloud.aswr_scenario этой станции, там это можно отловить.
Нет, команды выполняются с помощью Коннекта или модуля YandexHome. Возможно там и прилетает ID Станции, вызвавшей команду, но маловероятно. Поэтому либо делать сценариями, с "Ничего не делай", либо отвечать на той колонке, на которой логически была вызвана команда. Шторы же находятся в одной комнате с колонкой. Это если открывать шторы из другой комнаты и получать подтверждение, что да, команда выполнена - тогда только костылями.
Проще наверное для таких "особых" команд сделать управление чисто сценариями "Ничего не делай" без Коннектов и YandexHome. В модуль прилетело "НиЧеГо НЕ дЕЛАй" - открыли штору, отчитались )

Re: [BETA] [Модуль] YaDevices (yadevices)

Добавлено: Ср янв 14, 2026 8:10 pm
olis
Спасибо за наводку на фразу "НиЧеГо НЕ дЕЛАй"👍🏼 Схему проверил, сделать несложно, работает быстро и стабильно.

Re: [BETA] [Модуль] YaDevices (yadevices)

Добавлено: Пн мар 02, 2026 10:07 pm
OzzY
Всем доброго времени суток!
MD установлен на RPi4. Пришлось переустанавливать систему. Поставил последнюю Raspberry Pi OS (64-bit). MD устанавливал через скрипт. Настроил все сервисы, а затем восстановил систему из локального бэкапа. Все поднялось, но обнаружил проблему с YaDevices.
Если на странице модуля нажать "Обновить"
2026-03-02_21-37-02.png
2026-03-02_21-37-02.png (130.87 КБ) 454 просмотра
то получаем ошибку
2026-03-02_21-37-02.png
2026-03-02_21-37-02.png (130.87 КБ) 454 просмотра
Загружал модуль заново, отзывал и заново проходил авторизацию - без изменений.
Цикл yadevices - OFFLINE

php_exceptions.log
https://mjdm.ru/forum/download/file.php ... w&id=24026

Re: [BETA] [Модуль] YaDevices (yadevices)

Добавлено: Вт мар 03, 2026 4:16 am
V.A.S.t
OzzY писал(а): Пн мар 02, 2026 10:07 pm Всем доброго времени суток!
то получаем ошибку
Привет! Любопытно... Skill_id - это уникальный ID навыка. Например, все устройства, привязанные через YandexHome имеют одинаковый skill_id.
Возможно, у тебя потерялась связь с каким-то навыком. Проверь все привязки в УДЯ.
Если не поможет, добавь перед строкой 537 в yadevices.class.php строку

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

if(empty($device['skill_id'])) $this->writeLog($device);
Чтоб получилось так:

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

$device_rec['ROOM'] = $device['room_name'] ?? "";
if(empty($device['skill_id'])) $this->writeLog($device);
$device_rec['SKILL_ID'] = $device['skill_id'];
Это не уберёт ошибку, но выведет в лог YaDevices проблемное устройство.
Кстати, а в логе Yadevices что происходит?
З.Ы. Можно убрать ошибку, добавив в строку 537 в конец (перед точкой с запятой) ?? "" ($device_rec['SKILL_ID'] = $device['skill_id'] ?? "";), но как поведёт себя модуль при присутствии устройства с пустым SKILL_ID, я спрогнозировать не могу, поэтому, пока что, не советую так делать.

Re: [BETA] [Модуль] YaDevices (yadevices)

Добавлено: Вт мар 03, 2026 3:48 pm
OzzY
Спасибо за совет, вечером попробую.

По поводу устройств с пустым SKILL_ID - вот выборка из таблицы yadevices:
2026-03-03_15-42-43.png
2026-03-03_15-42-43.png (89.51 КБ) 403 просмотра
Первые две строки - это станции Яндекс, а остальные - это группы устройств в умном доме Яндекса. У остальных устройств это поле заполнено, но не у всех оно одинаковое. Я насчитал 3 разных значения. Кроме того, сами устройства не привязаны к умному дому Яндекса напрямую, а проброшены в него через навык MD. Получается, что SKILL_ID не заполнено как раз у тех устройств, которые созданы именно в Яндексе.

Re: [BETA] [Модуль] YaDevices (yadevices)

Добавлено: Ср мар 04, 2026 12:10 am
OzzY
V.A.S.t писал(а): Вт мар 03, 2026 4:16 am З.Ы. Можно убрать ошибку, добавив в строку 537 в конец (перед точкой с запятой) ?? "" ($device_rec['SKILL_ID'] = $device['skill_id'] ?? "";), но как поведёт себя модуль при присутствии устройства с пустым SKILL_ID, я спрогнозировать не могу, поэтому, пока что, не советую так делать.
Сделал именно так) В итоге цикл запустился, проблем в работе модуля пока не обнаружил. Буду наблюдать.
Спасибо!