February 2, 2024

Бюджетный умный дом, часть девятая: платформы умного дома с точки зрения слепошарика

Поговорим сегодня об особенностях различных платформ умного дома. Для
начала, чтобы мне было меньше писать, введу несколько сокращений:
УДЯ - умный дом Яндекса;
УДВК - умный дом VK с тупой Марусей;
УДС - Умный дом Сяоми (приложение MiHome/XiaomiHome);
ХК хоумкит от эпл.
Намеренно не говорю о ХА (Home Assistant), там вы ограничены только
присутствующими у вас донглами и полётом вашей фантазии.
У меня, к сожалению, нет никакой информации об умном доме Google, он же Google
Home.

Сначала о ХК, но совсем немного.
Чтобы ХК начал работать вообще, у вас должны быть либо Apple TV четвёртого
поколения, либо умная колонка HomePod, или HomePod mini. Предпочтительнее
последнее, стоит дешевле, по звуку вполне ничего, но сири тупая до безобразия. Единственной прелестью ХК лично для меня, кроме геотаггинга, разумеется, являются напоминания.
Привет сири, напомни мне завтра в девятнадцать ноль ноль посмотреть хоккейный матч.
Привет сири, напомни мне при уходе с работы купить молоко и яйца.
Привет, сири, напомни мне при приходе домой забрать платёжки из почтового ящика.
Все эти уведомления придут на ваш айфон, что очень удобно. Если у вас и у вашей второй половинки по айфону, она тоже может просить сири ей напомнить. Сири на хоумпод узнает её по голосу и создаст напоминание именно на её айфоне.
Даже Маруся кладёт её на лопатки особо не напрягаясь.
Если у вас уже есть эпл тиви, или хоум под, вам еще потребуется хаб с
поддержкой ХК. Самое дешёвое и функциональное, это Xiaomi Gateway 3. Алгоритм
действий:
1. Подключаете хаб в приложении MiHome;
2. Открываете приложение Дом на айфоне, создаёте ваш первый дом, после чего
жмёте добавить устройство. Айфон вам предложит отсканировать код. Он есть в
документации на хаб, или на его внутренней поверхности, на той, которая, когда
хаб стоит, смотрит на поверхность опоры. Проще говоря, переверните хаб и на
внутренней поверхности нащупайте кружочек, это и есть искомое. Направьте
камеру примерно туда и все получится.
После сопряжения хаба с ХК все устройства, добавленные в УДС автоматически
появятся и в ХК, но добавлять устройства надо будет в приложении MiHome.
Фишкой ХК являются автоматизации по геотаггингу. Например, вы уходите из дома
и у вас автоматически отключаются все электроприборы. Или, когда вы подходите
к дому, у вас включается кофемашина и готовит вам бодрящий эспрессо. Фишка тут
в том, что у Эпла геотаггинг реализован на системном уровне, тогда, как
сторонние приложения, например для того же ХА iOS просто убьёт рано, или
поздно. На Андроиде есть исключение из оптимизации энергопотребления, но тогда
смартфон начинает выжирать батарейку, как сумасшедший. И да, ХК на Андроиде не
работает от слова совсем.

УДЯ и особенности его сценариев.
Самой ужасной особенностью сценариев в УДЯ является то, что триггером для
срабатывания сценария может быть только одно условие. Например, если датчик
движения уловил движение, тогда включить свет. Если температура в комнате выше
26 градусов, тогда включить кондиционер. Сценарий вида, если температура выше
26 градусов и ни одно из окон не открыто в УДЯ реализовать неудастся. UPD: Сейчас в УДЯ стали доступны сценарии со множественными условиями, но работает это всё пока кривовато.
В УДЯ есть так называемое время работы сценария, например, мы не хотим, чтобы
кондиционер включался ночью, тогда мы можем ограничить время выполнения
сценария, например с 6 утра до 8 вечера, но тут нас ждёт другая засада. Если
на момент начала выполнения сценария значение было выше порога срабатывания,
сценарий уже не сработает. Допустим, с 6 утра до 8 вечера у нас будет
включаться кондей, если температура в комнате выше 26 градусов. Но, если в 6
утра в комнате уже 26 и одна десятая, или выше, сценарий не сработает. То есть
надо, чтобы во время работы сценария был переход через указанное значение.
Например, если в 5 утра было 25 градусов, а к 7 утра потеплело до 27 градусов,
тогда сценарий сработает.
Настройка сценариев в УДЯ, к сожалению, плохо доступна для скринридеров.
Например, всё, что связано со временем и задержками настраивается только с
помощью такой-то матери. Интерфейс установки времени в УДЯ ужасен, писано в
поддержку было по этому поводу уже писем овер9000, а Всероссийское Общество
Слепых и ныне там. UPD: яндекс поправил интерфейс установки времени, теперь там обычные контролы и всё регулируется, во всяком случае с айфона и огнелиса на компухтере.
любой сценарий УДЯ выполняется до первой ошибки. Давайте
напишем тестовый сценарий:
Если дверь в холодильник открыта более минуты,
Тогда,
Колонка на кухне скажет проверьте дверь холодильника,
Колонка в зале скажет проверьте дверь холодильника,
Колонка в спальне скажет проверьте дверь холодильника,
Колонка в ванной скажет проверьте дверь холодильника,
Колонка в туалете скажет проверьте дверь холодильника.
А теперь допустим, что наша вторая половина затеяла уборку в квартире и
выключила колонку, стоящую на кухонном подоконнике из розетки, да так и забыла
её включить. Что произойдёт с нашим сценарием? Правильно, на первом же шаге он
словит ошибку, потому что колонка на кухне недоступна, следовательно,
остальные колонки нас не предупредят, что мы забыли закрыть дверь
холодильника.
Чтобы исключить подобное, в сценариях УДЯ есть настройка, что делать, если
один из пунктов сценария вызвал ошибку:
* Продолжить в любом случае;
* Завершить и выдать сообщение об ошибке.
При этом, как я уже писал выше, активен по умолчанию второй пункт.
Беда тут в том, что пока эта настройка не очень хорошо озвучивается, но
проблему уже передали в добрые руки. Чтобы её найти, эту настройку, надо
сделать следующее:
1. Начать создавать новый сценарий, или открыть на редактирование
существующий;
2. Задать условие сценария, то есть триггер, по которому он сработает, будь то
фраза, время, или устройство;
3. В блоке действий найти слово "Тогда" после чего просто нажать стрелку вниз;
4. Нажать enter;
5. искать табом открывшийся диалог.
Это работает только на компьютере, проверял с последней NVDA в Firefox и
Microsoft Edge. В приложении "Дом с Алисой" как на Android, так и на iOs этот
элемент невидим и следовательно скринридер не может его активировать. UPD: теперь и на айфоне этот элемент доступен, как кнопка без названия, видимо подписать её было очень трудно.

Особенности сценариев в УДВК.
Опять-таки, всё, что связано со временем в УДВК настраивается через одно
место, например, настроить задержку выполнения у меня так и не получилось,
только точное время срабатывания, но самое нехорошее, что в УДВК
пробрасываются не все устройства, иначе говоря, УДВК "не знает" о многих типах
устройств. Например в УДВК ни в какую не пробрасываются кнопки, а между тем у
меня на кнопках много, что завязано, начиная от музыкальной кнопки, про
которую тут я уже писал, заканчивая отключением сигнализации по хитрой
последовательности нажатия умных кнопок.

Особенности УДС с точки зрения Accessibility.
В MiHome реализуется достаточно богатый набор автоматизации: это и
множественные условия, и интервалы срабатывания, и даже геотаггинг, с которым,
однако, есть проблемы, но всегда следует понимать, что для полноценной работы
с MiHome в идеале у вас должен быть и айфон, и смартфон на Андроиде.
1. С айфона вы не сможете выставить никакой интервал времени, не смотря на
стандартные контролы, эти диалоги для войсовера недоступны, тогда, как с
Андроида всё выставляется отлично;
2. Если у вас много автоматизаций, то их пролистывание на Андроиде превратится
в квест, будет постоянно слетать фокус и подвисать скринридер, тогда, как на
айфоне можно спокойно идти по списку смахиванием вправо одним пальцем и всё
будет озвучиваться;
3. В режиме редактирования автоматизации на Айфоне у вас не получится удалить
какое-либо действие внутри автоматизации. Кнопка Удалить рядом с каждым
действием будет, но нажать на неё, используя войсовер, не получится, тогда,
как на Андроиде с этим всё в порядке;
4. Перетаскивать элементы внутри автоматизации на Андроиде получится только
при помощи такой-то матери, тогда, как на айфоне это работает, озвучивается,
и может выполняться, как обычным способом, двойное касание с удержанием, а
дальше тянем вверх, или вниз, так и через меню действий, которое вызывается
смахиванием одним пальцем вверх, или вниз, в котором будут пункты переместить
выше, переместить ниже.