Кладём на лопатки 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 или Instagram
Остались вопросы? Мы в Telegram - @Soprut

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

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

  2. Али Османов (Ali)
    Али Османов (Ali) 8 месяцев назад

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

  3. Николай Хардин (Nhardin)
    Николай Хардин (Nhardin) 8 месяцев назад

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

    • (Oblov)
      (Oblov) 8 месяцев назад

      Я тоже не понял

  4. Alex Tiosa (talex2)
    Alex Tiosa (talex2) 8 месяцев назад

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

  5. Артем Симоненко (TopGun)
    Артем Симоненко (TopGun) 8 месяцев назад

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

  6. Артем Симоненко (TopGun)
    Артем Симоненко (TopGun) 8 месяцев назад

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

  7. Артем Симоненко (TopGun)
    Артем Симоненко (TopGun) 8 месяцев назад

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

  8. (Ucoz3000)
    (Ucoz3000) 5 месяцев назад

    Перестали работать быстрые команды, записываются и при нажатии на протестировать действие выполняются. А дольше не работают( может знает кто в чём дело

  9. (zlo82)
    (zlo82) 5 месяцев назад
    Я тут сижу второй день, не могу ладу дать! Спасибо тебе мил человек - та же проблема!
  10. (AlexNick)
    (AlexNick) 29 дней назад

    Подскажите пожалуйста, а вместо телеграмм можно вывести уведомление с триггера на телефон? Уже двое суток пытаюсь)

    Есть триггер - датчик температуры (zeegbee) aqara. в homekit.  как при понижении до определённой темп послать уведомление в iPhone?

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

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

УЮТНЫЙ ДОМ

+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
Способы автоматизации механических ворот
27 октября 2018, 12:20
Нативный Термостат для котла на ESP8266 с поддержкой Apple HomeKit
15 ноября 2018, 13:11
Xiaomi Mi Remote 360 добавляем Apple HomeKit
01 октября 2018, 07:43
Нативный HomeKit на ESP8266
28 августа 2018, 09:48
От голого Raspbian до веб-интерфейса homebridge за четыре команды в терминале.
02 октября 2018, 18:41
Установка SDK для компиляции прошивок под HomeKit
17 июня 2019, 13:00
HomeKit - это программный framework от компании Apple, который позволяет пользователям iOS, macOS, watchOS и tvOS устройств управлять умными аксессуарами в доме, как через приложение "Дом", так и через голосовой ассистент Siri. Тем самым, делая ваш дом умным. При помощи Apple TV (tvOS) и HomePod управление возможно, но пока только на английском языке через Siri.