Кладём на лопатки NodeRed и HomeAssistant с помощью iOS 13.1 & HomeKit

06 сентября 2019, 17:03

Многие используют HomeKit, но ещё многие ругают его за куцые автоматизации, и с гордо поднятой головой рассказывают (-ли), как они умеет включать свет через 3 часа 33 минуты после рассвета, или мигать лампочками, ну и ещё всякими бесполезными вещами. Нет, может оно и полезно, и зачастую нужно, но хотите ли вы вникать синтаксис nodeJS или JavaScript? А может вы хотите написать автоматизацию в блокноте (ниже, как пример, автоматизация HomeAssistant)?

- alias: 'ESP Button Lights'
trigger:
- platform: state
entity_id: binary_sensor.matt_lights
to: 'on'
- platform: state
entity_id: binary_sensor.matt_lights
to: 'off' 
action:
service: switch.toggle
entity_id:
- switch.matts_bed_lamp
- switch.matts_desk_light

Думаю, что у большинства простых обывателей, накупивших недорогих HomeKit аксессуаров, волосы встанут от количества нужных статей (например, 10 штук), которые им необходимо будет прочитать, не считая других мануалов и примеров, чтобы только установить и настроить одну/две автоматизации в HomeAssistant.  

Или сутками «торчать» в чате NodeRed, чтобы задать ещё кучу вопросов, получив пример от другого, более опытного пользователя в чате. Безусловно, NodeRed хорош, если нужно из реле сделать ворота, или из геркон - датчик движения. А ещё он хранит переменные (значения, которые можно передавать между автоматизациями). Но на этом основные преимущества для HomeKit заканчиваются. 

В iOS 13 Apple дала возможность использовать Shortcuts, или Быстрые Команды, в связке с HomeKit. Возможно, кто-то уже был ранее с ними знаком. Кто-то писал свои, или использовал написанные другими. На их основе сделано множество отличных «приложений», от простых, вроде скачать видео с YouTube, или планировщика Cron внутри iOS. 

Но сегодня мы научимся писать свои сложные автоматизации, используя только HomeKit, тратя на это в десятки раз меньше времени и сил, чем в других системах. Также не потребуется больше ничего, кроме этой статьи. Если же это покажется вам сложным, я рекомендую вам погрузиться в дебри HomeAssistant и зайти сюда вновь через месяц, когда вы освободитесь.

Итак. Любая автоматизация включает в себя такие базовые вещи, как:

  • Триггер. Событие, после которого будет стартовать наша автоматизация.
  • Условия. Некие ограничения, которые не будут давать старт нашей автоматизации, если не соблюдены все условия.
  • Сценарии. Само действие, например - включить свет.

С триггерами в HomeKit по-прежнему все плохо. Программа Дом даёт ограниченный набор, а чтобы, к примеру, триггером выступало любое изменение температуры/влажности/освещённости или изменение уровня Воды в каком-нибудь горшке, то придётся использовать программы по типу Home. По сути, она нужна лишь для того, чтобы в созданной автоматизации поменять триггер. Со всем остальным справиться программа Дом.

Теперь придумаем первый «сложный» (ранее недоступный в HomeKit) сценарий. Например.

Хотим, чтобы вытяжка в ванной комнате включалась при превышении влажности 75%, при условии, что закрыта дверь. Отключалась - при условии, когда влажность ниже 75%, или открыта дверь. Также хотим получить в телеграмм уведомление о том, что кто-то начал и закончил мыться.

  • Создавайте автоматизацию, выбираете любой триггер, на выборе аксессуаров в самый низ - Преобразовать в быструю команду.
  • А далее - просто посмотрите видео. Не нужно описывать такие простые действия, как создание автоматизации в HomeKit. Посмотрите один раз и попробуйте создать свою. У вас должно получиться:

Посмотрели? Теперь пройдёмся по важным моментам.

После изменения триггера в программе Home, автоматизация будет запускаться каждый раз, как будет изменятся влажность. Первое условие Если - проверяет, включена вытяжка или нет, и если включена, переходит к проверке следующего условия - закрыта ли дверь. Если и дверь закрыта, останется проверить влажность. Если она опустилась ниже 75, то остаётся выключить вытяжку и отправить уведомление в Telegram.

Если же вытяжка выключена, опять проверим условие влажности. Если значение больше 75, проверим дверь, и если она закрыта - запустим вытяжку и отправим уведомление в Telegram. Если у вас есть Sonoff iFAN, можно усложнить сценарий, включая разные режимы, в зависимости от нужных вам порогов влажности.

На видео не хватает некоторых данных, а именно, URL и chat_id. Последнее - это ID чата, или ваш ID (ник), в зависимости от того, куда вы хотите получать уведомления.

URL - https://api.telegram.org/botTOKEN/sendMessage, где слово TOKEN замените на токен, который вы получите от @BotFather для созданного вами бота (для создания нужно указать имя и ник) и все, токен у вас.

Отличительная особенность выполнения быстрой команды - последовательное выполнение всех действий. Добавляя новые условия, вы каждый раз сможете запускать ее для проверки и смотреть на результат (да, не нужно читать логи и мануалы, что означает та или иная ошибка). Действие или будет выполнятся, или нет, с паузой на том моменте, с которым возникают проблемы.

Теперь немного поговорим о возможностях. Если вы хотите включать вашу вытяжку в зависимости от влажности в Зимбабве, то на это действие у вас уйдёт не более 5 минут, без изучения различных языков программирования. Воспользуйтесь компонентами - Получить содержимое URL, получить словарь, получить значение словаря (расположите их последовательно), а ещё лучше, воспользуйтесь приведённым ниже примером:

https://www.icloud.com/shortcuts/3e6c78475f86443599ca93417bb863b2В 

В нем мы в несколько действий извлечём влажность для нужного с API Яндекс Погоды, и далее, на основе ее, вы сможете построить свой сценарий.

Также есть множество вариантов работы с геопозицией, подробным прогнозом погоды, перевода текста, обработки фотографий, и многое, многое другое. У вас даже получится диммировать лампу, просто нажимая простую круглую кнопку Xiaomi.

Конечно, это самая малая часть новых автоматизаций в HomeKit, и мы попробуем уложить все самые сложные сценарии в три статьи, и при этом, больше будем говорить о глобальных вещах, чем о рутине, чем не могут похвастать монструозные HomeAssistant и NodeRed.

Также в качестве примера посмотрите ещё пару видео, где демонстрируются возможности быстрых команд, которые вы с легкостью сможете внедрить в свои автоматизации HomeKit. 

Опрос камеры в комнате на наличие людей (лиц) и выдача результата:

Опрос счетчика и отправка всех расчетов в Telegram:

Если Вам интересны примеры этих команд, обращайтесь в сообщество, я пришлю вам доработанные под ваши условия команды!


Все новости мира умных домов - t.me/SprutAI_News

Остались вопросы? Мы в Telegram - t.me/soprut

Хочешь умный дом но нет времени разбираться?
Посмотри примеры работ и выбери себе интегратора.
  1. Евгений Лузин (EvLuz)
    Евгений Лузин (EvLuz) 12 дней назад

    Хорошая статья, найдутся последователи. Но насчет Node Red так и не переубедил, но тем не менее Спасибо.

  2. Али Османов (Ali)
    Али Османов (Ali) 11 дней назад

    😱наконец-то.  Отличная статья. Подписался на канал

  3. Николай Хардин (Nhardin)
    Николай Хардин (Nhardin) 11 дней назад

    Приложения Home и Дом - это одно и тоже?

  4. Alex Tiosa (talex2)
    Alex Tiosa (talex2) 11 дней назад

    Супер статья, а то не знал с какой стороны подходить к этим автоматизациям.

  5. Артем Симоненко (TopGun)

    Супер. У вас ссылка на icloud не рабочая. А можно забубенить сценарий чтоб включался свет при срабатывании датчиков но в определенной последовательности, например с начала датчик открытия двери, а потом датчик движения? Жду не дождусь ios 13, не хочу бету ставить. 

  6. Артем Симоненко (TopGun)

    А еще вопрос, а как вы Sonoff iFAN в homekit пробросили, прошивка? Какая?

  7. (Brain)
    (Brain) 11 дней назад

    Уважаемый автор, ежели вы на тракторе не смогли рыбы наловить, это вовсе не означает, что моторная лодка положила несчастный трактор на лопатки.

  8. Артем Симоненко (TopGun)

    И похоже нужна уже отдельный чат в telegram для автоматизаций через команды в ios13. Чтоб там все делились

К списку статей

Скидки для сообщества

УЮТНЫЙ ДОМ

+7 495 797-21-74
Промокод:
SPRUT
Размер скидки:
5%

Интернет-магазин yourhomekit.ru

+7 914 550-51-11
Промокод:
SPRUT-BLG
Размер скидки:
8%
Cамый большой ассортимент в России аксессуаров Apple HomeKit

Похожие статьи

09 ноября 2018, 20:54
Кейс создания умного дома без каких либо прокладок в виде Raspberry pi
04 сентября 2018, 12:14
Интеграция RGB ленты на ESP8266 с прошивкой tasmota в систему HomeBridge (HomeKit)
15 октября 2018, 09:05
Прошивка для Sonoff c нативным HomeKit
15 ноября 2018, 09:42
Способы автоматизации механических ворот
15 ноября 2018, 13:11
Xiaomi Mi Remote 360 добавляем Apple HomeKit
27 октября 2018, 12:20
Нативный Термостат для котла на ESP8266 с поддержкой Apple HomeKit
01 октября 2018, 07:43
Нативный HomeKit на ESP8266
15 июня 2018, 12:13
Охранная система в гараж на ESP8266 с интеграцией в Apple HomeKit
02 октября 2018, 18:41
Установка SDK для компиляции прошивок под HomeKit
28 августа 2018, 09:48
От голого Raspbian до веб-интерфейса homebridge за четыре команды в терминале.