Новое поколение apple tv станет управляющим центром для «умного» дома — все про apple устройства

Как Apple может сделать ваш дом умнее

Умные лампочки, термостаты, дверные замки — всё это давно существует. Каждое устройство имеет своё приложение, c помощью которого ей можно управлять. Задача Apple — заставить всё это работать вместе, причём максимально просто и безопасно для пользователя.

Для этого и была создана платформа HomeKit. С её помощью можно подключить, объединить и контролировать всю умную технику в доме, имея под рукой iOS-девайс или Apple TV. HomeKit представили на WWDC-2014, за два года количество аксессуаров выросло, а Apple допилила технологию. Расскажу, как это всё работает и можно ли самостоятельно собрать умный дом от Apple.

HomeKit: что это такое

pocket-lint.com

Вот купили вы несколько умных лампочек, всё классно работает, ими можно управлять с помощью приложения для iOS. «И зачем мне этот HomeKit?» — спросите вы.

А что, если у вас будут не только лампочки, но ещё жалюзи и термостат, например? Без HomeKit это будет всего лишь набор железок, которыми не получится управлять с помощью единого интерфейса. Они не смогут взаимодействовать друг с другом, а значит, их не удастся настроить на определённый сценарий работы.

Например, каждый день в 9 часов вечера должен включаться свет, а жалюзи закрываться. Вместо этого вам придётся заходить в приложение каждого девайса и оттуда вручную всё включать и выключать. И ладно, если таких устройств пара, а если их штук по шесть в каждой комнате? Это как минимум неудобно.

С HomeKit все устройства могут легко взаимодействовать друг с другом.

Здорово, что в управление девайсами вовлечена Siri. Ассистента можно попросить включить свет в гараже или, сказав «Доброе утро», запустить выполнение множества действий, завязанных на эту фразу. Откроются жалюзи, начнёт вариться кофе и так далее.

При этом Siri не отправляет вас в приложение кофеварки, всё происходит в привычном интерфейсе ассистента.

Важно, что протокол, по которому соединяются умные вещи, автоматически шифруется, а значит, никто не сможет добраться до ваших данных и получить контроль над смарт-техникой в доме.

Это уже работает

gigaom.com

Уже более 50 брендов выпускают гаджеты с поддержкой HomeKit. Сейчас любой производитель может сделать своё устройство совместимым с этой платформой. Apple должна одобрить девайс, после чего им можно будет управлять с помощью iOS-устройств и Apple TV.

На WWDC-2016 компания показала более совершенную систему управления умным домом, в iOS 10 появилось новое приложение «Дом» (о нём позже). Сейчас возможности HomeKit стали ближе как пользователям, так и разработчикам, так что к выходу новой iOS стоит ждать больше умных устройств.

Какие продукты Apple работают с HomeKit

video.foxbusiness.com

HomeKit работает с iPhone, iPad или iPod touch под управлением iOS 8.1 и старше. Также умным домом можно управлять со своих Apple Watch, начиная с watchOS 2. Имея Apple TV 3-го поколения или более новой модели, можно контролировать все девайсы на расстоянии с помощью Siri. Достаточно просто войти в iCloud со своим Apple ID.

Какие умные девайсы можно купить прямо сейчас

Официально поддерживающие HomeKit устройства поступили в продажу в июне 2015 года. На их упаковке должен быть изображён такой значок.

Доступно уже много девайсов, им посвящена отдельная страничка на сайте Apple. Я отобрал наиболее любопытные, на мой взгляд.

August Doorbell Cam

uncova.com

Умный звонок со встроенной камерой. Даже находясь вдали от дома, вы увидите, кто к вам приходил, причём девайс запишет дату и время.

Schlage Sense Smart Deadbolt

sandandsisal.com

Дверной замок, который, помимо привычного нам ключа, открывается с помощью iPhone или кода. Кроме того, замком можно управлять при помощи Siri, попросив, например, запирать дверь каждый вечер.

Withings Aura

withings.com

Интеллектуальная система, которая отслеживает и улучшает качество сна. Девайс собирает данные о вашем сне (фазы, продолжительность), а также анализирует внешнюю обстановку: температуру воздуха, уровень шума, освещённость. Работает как умный будильник — разбудит в фазу быстрого сна.

Philips Hue

theverge.com

С этими лампочками вы сможете создать собственную интеллектуальную систему освещения, объединив до 50 ламп. Соответственно, с помощью Siri можно управлять освещением во всём доме и в гараже, создавать сценарии, настраивать цвет ламп и так далее.

Eve Energy

imore.com

Сам по себе Eve Energy не является смарт-девайсом, но превращает в такое устройство розетку. Во-первых, он позволяет экономить, контролируя потребление электроэнергии и отправляя детальную статистику на iPhone. Во-вторых, можно удалённо прекратить потребление тока. То есть, если забыли выключить утюг, это можно сделать даже на расстоянии.

Зачем нужно приложение «Дом»

tech.firstpost.com

С выходом iOS 10 управление умным домом станет ещё проще и удобнее. На WWDC-2016 Apple сделала то, чего от неё давно ждали поклонники HomeKit, — представила приложение «Дом». Это хаб, который позволяет подключать и контролировать все умные устройства в доме.

В приложении можно управлять как одним девайсом, так и группой, настраивать сценарии и многое другое. Например, сценарий «Я дома» открывает дверь, а «Спокойной ночи» выключает свет и закрывает жалюзи. Причём необязательно даже запускать приложение или просить Siri: сценарий может активироваться в зависимости от вашей геопозиции: дверь откроется, как только вы к ней приблизитесь.

Фирменные приложения больше не нужны, управление на себя берут «Дом» и Siri. HomeKit превратилась из интересной, но непонятной платформы в систему, которой может воспользоваться каждый желающий.

Что дальше

На мой взгляд, Apple движется в верном направлении.

После презентации компании на WWDC-2016 появилось понимание, каким Apple видит умный дом, и уже ясно, что она собирается сделать взаимодействие пользователя и девайсов максимально комфортным.

Сейчас доступна лишь первая бета iOS 10, поэтому сложно оценивать возможности приложения «Дом». Однако до релиза осталось ждать всего два месяца: посмотрим, что получится в результате.

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

Источник: https://lifehacker.ru/apple-homekit/

HomeKit: все, что вы должны знать о системе «умного дома» от компании Apple

Аксессуары с поддержкой системы «умного дома» HomeKit начинают выходить на рынок и самое время рассказать о новой технологии Apple подробнее.

Что такое HomeKit?

HomeKit — система «умного дома» от компании Apple, позволяющая управлять различными бытовыми устройствами при помощи специальных приложений для iPhone и iPad. Связываясь со смартфоном или планшетом по Bluetooth или Wi-Fi, устройства с поддержкой HomeKit могут регулироваться пользователями, позволяя сделать множество бытовых процессов более простыми.

Как работает HomeKit?

Связывая iPhone или iPad с устройством, имеющим поддержку HomeKit, пользователь получает возможность регулировать все его параметры.

Например, если в комнате установлена «умная лампочка», то хозяин дома может настроить расписание ее включения или выключения, отрегулировать яркость или задать какие-то другие настройки, причем сделать все это можно при помощи удобного приложения для мобильного устройства.

Зачем нам нужен HomeKit?

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

Это означает, что ваша «умная лампочка» не сможет передавать данные «умной розетке» и в конце месяца вы не получите информации об использовании электроэнергии конкретным устройством. И это лишь небольшой пример.

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

Поддерживает ли HomeKit Siri?

Да! И это одно из главных отличий устройств с поддержкой HomeKit от прочих «умных» приборов. Представьте, что вы можете управлять всеми домашними приборами, даже не прикасаясь к ним. Лень вставать с дивана и терять сладостное пред сонное состояние? Просто скажите своей «умной» лампочке кодовую фразу и устраивайтесь поудобнее. Опять-таки, это лишь первый пример, что приходит в голову.

Как узнать, что устройство поддерживает HomeKit?

Любой производитель аксессуаров, желающий выпускать устройство с поддержкой HomeKit, должен присоединиться к программе компании Apple под названием Made for iPhone. Таким образом, готовое устройство с поддержкой HomeKit будет содержать на коробке надпись Made for iPhone (MFi).

Читайте также:  Как добавлять в «сторис» instagram любые старые видео и фото - все про apple устройства

Как работает программа MFi?

Производители, планирующие выпускать устройства с поддержкой HomeKit, должны получить одобрение со стороны компании Apple.

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

Также в Apple убеждаются, в том, что связанные с устройством «умного дома» приложения соответствуют правилам App Store.

Если все эти шаги производитель проходит успешно, то прототип одобряется и компания может начинать массовое производство.

Если есть HomeKit, то где тогда приложение Home?

На текущий момент приложение для управления всеми устройствами «умного дома» еще не представлено. Однако у аналитиков существуют предположения, что его анонс состоится одновременно с публичным выходом iOS 9.

С какими устройствами Apple работает HomeKit?

Для управления устройства HomeKit нужно иметь iPhone, iPad или iPod Touch с установленной iOS 8.1 или выше.

Источник: https://applemix.ru/2015/06/18/homekit-vse-chto-vy-dolzhny-znat-o-sisteme-umnogo-doma-ot-kompanii-apple.html

Apple TV 5

Apple TV 5 скорее всего выпустят в этом году — пишет Bloomberg. Здесь мы в одном месте соберем всё, что на данный момент известно о грядущем обновлении телеприставки Apple.

Apple TV 5 скорее всего выйдет в 2017 году

Новая Apple TV пятого поколения (кодовое название J105), согласно заявлению Bloomberg будет иметь более живые цвета.

Скорее всего, новый ТВ-бокс представят в сентябре, одновременно с новыми моделями iPhone 8.

Ожидается, что одновременно представят и iOS 11, которая и будет базовой для новых устройств, включая Apple TV 5. Новое железо позволит по полной использовать весь потенциал OS 11.

Однако, самая первая Apple TV была представлена публике в марте 2007 года. Не исключено, что в честь десятилетнего юбилея, Apple сочтет уместным показать новую приставку весной.

Устройство получит большой прирост производительности для 4K

Визуально устройство скорее всего не изменится, оставшись в лаконичном черном корпусе. Пульт, в прошлом поколении претерпервший серьезную эволюцию, сейчас в изменениях тоже не нуждается. Все улучшения будут «под капотом».

В первую очередь, конечно, все ожидают, наконец, поддержки 4K. Тот же Bloomberg пишет об этом прямо в заголовке статьи. До сих пор было очевидно, почему Apple не идет на такой шаг — большинство видео в iTunes ограничены 1080p.

Айфоны тоже только недавно научились снимать видео в 4K, а ассортимент UHD-телевизоров был серьезно ограничен. Кроме того, для воспроизведения 4K-видео требовался порт HDMI 2.0, а он отсутствовал как в самой Apple TV, так и в большинстве телевизоров.

К тому же, для онлайн-просмотра таких роликов нужен приличный интернет-канал со стабильно высокой скоростью, а для их хранения требовались огромные объемы на жестком диске, а объем Apple TV был ограничен всего 64ГБ.

И наконец, главная причина — количество 4K-контента было ужасающе мало, поэтому 4K оставалось лишь дорогой игрушкой для избранных, и не было никакой нужды его поддерживать в массовом устройстве.

Сейчас ситуация изменилась — каждый второй фильм выходит на 4K, а UHD-телевизоры встречаются даже в бюджетном ценовом сегменте. Все говорит в пользу того, что и в Apple TV 5 поддержка 4K будет реализована.

Соответственно, для хранения 4K-контента потребуются большие объемы данных, а это значит, что и объем жесткого диска будет увеличен — минимум до 128ГБ, и наверняка будет версия с 256ГБ памяти.

Обработка 4K явно потребует и более мощного процессора. Предыдущее поколение Apple TV использует тот же процессор A8, что и iPhone 6. Логично будет предположить, что Apple TV 5 получит процессор как минимум A10 Fusion, или выше.

Появится поддержка Blueooth-наушников

На сентябрьской презентации 2016 года, вместе с iPhone 7 были представлены и наушники нового поколения — AirPods. Будет логично, если новая Apple TV 5 получит полную поддержку этих наушников, включая быструю регистрацию и вызов Siri.

AirPort не будет встроен в Apple TV

Также в прошлом году стало известно, что Apple отказывается от дальнейшего развития роутеров AirPort, что породило множество домыслов, в частности, что роутер будет встроен в Apple TV. Учитывая размеры роутеров, и отсутствие явных плюсов такого объединения, можно с высокой вероятностью предполагать, что этого не произойдет

Будут программные улучшения

На отчетной конференции первого квартала 2017 года, Тим Кук сказал: «В прошлом году мы запустили новый Apple TV, и мы рады тому, как платформа развивается. Мы многое планируем для нее, но это будет длинный путь в течение года, что дает нам большое поле для созидания.

Мы уже имеем 150 миллионов платных подписчиков, и есть ряд сторонних сервисов, в работе которых мы принимаем участие, предлагая нашу платформу для продажи и распространения. Этот пробный камень показывает, что мы многому научились в деле цифровой дистрибуции, и мы подумаем, как это использовать.

» Другими словами, с помощью новой версии устройства, Apple всерьез надеется оттянуть часть рынка у Amazon и Netflix. Это означает, что понадобятся нововведения в программной части Apple TV.

Вместе с предыдущей Apple TV была анонсирована и tvOS 10 — отдельная версия iOS для телеприставки. Логичным шагом будет обновление tvOS вместе с родительской операционной системой. Новая версия должна быть оптимизирована для ультравысоких разрешений, поддерживать HDMI 2.0, а также предоставлять из коробки все возможности для покупки и аренды цифрового контента.

Будет ли новая Apple TV сразу оснащена tvOS 11 пока неизвестно, и зависит от даты выхода устройства. Если приставку представят весной, то скорее всего она будет оснащена tvOS 10 с минорным обновлением, а мажорное обновление до tvOS 11 состоится осенью.

Однако, если анонс устройства состоится в сентябре, вместе с iPhone 8, то можно утверждать, что Apple TV 5 будет сразу поставляться с tvOS 11.

Apple также намеревается серьезно поработать над приложением TV app. Более чем годовой опыт его использования показал множество его недостатков. Например тот же Bloomberg пишет, что TV app является значительно урезанной версией того, чем он должен быть.

Приложение должно было дать пользователю доступ к живым шоу и прямым эфирам, но с большинством производителей контента Apple не удалось договориться. Теперь Apple и сама снимает ТВ-шоу, и приставка станет способом их посмотреть.

Тем не менее, сам факт появления TV app доказывает, что рынок цифрового контента важен для Apple, а значит улучшения неизбежно последуют.

Siri расширит свои возможности

Источник: https://sluhipro.ru/apple-tv-5/

Умный дом от Apple: преимущества, недостатки, функциональные возможности

Умный дом – это система, позволяющая беспроблемно и в лёгком режиме управлять собственной недвижимостью. Благодаря простому приложению от Apple появляется возможность в одно мгновение раздать всем устройствам определённые задачи, даже не вставая с дивана. Однако эта система имеет ряд определённых нюансов, которые следует учитывать.

Разберём основные преимущества и недостатки системы. Их в принципе не обязательно учитывать (каждый решает сам), но знать о существовании таковых – бесспорно необходимо. Итак, для начала разберёмся с минусами:

  1. Основной особенностью системы «Умный дом» является её совместимость.

Прежде всего, стоит разобраться, подойдёт ли Умный дом от компании Apple именно к Вашим конкретным аксессуарам и устройствам.

Он может испытывать сложности или вовсе отказаться работать с уже существующими приборами.

Для более подробного изучения вопроса можно ознакомиться с технической документацией устройств либо поискать список поддерживаемой аппаратуры на официальном сайте компании Apple.

У рядового владельца может возникнуть вполне разумный и резонный вопрос: а какие устройства для Умного дома идеально подойдут к системе от Apple? Собственно, те самые, которые компания рекомендует приобрести согласно списку совместимой аппаратуры (перечень устройств огромен, на любой вкус). Они будут превосходно работать, никаких сложностей в настройке не возникнет, но из данной ситуации плавно вытекает второй минус.

Сразу нужно подметить, что цены за устройства для Умного дома – весьма впечатляющие для обычного гражданина. При желании, допустимо найти что-то близкого по характеристикам типа, но значительно дешевле. Однако нет гарантий, что такой прибор окажется совместимым с приложением HomeKit (система «Умный дом» от Apple).

Единственным и крайне серьёзным минусом является малый перечень самих устройств Apple: система освещения в одном экземпляре, пара датчиков и термостат.

Сторонние приборы присутствуют в гораздо большем количестве, но вряд ли список создаваемых устройств от Apple долго будет таковым оставаться.

Многие производители поспешили внедрить в свою продукцию поддержку системы HomeKit, и это – продолжающийся по сей день процесс.

В ближайшем будущем большинство новых устройств будет распознавать и успешно работать с приложением. А компания Apple начнёт более основательно расширять список предлагаемой продукции в качестве производителя, но пока что мы имеем, что имеем.

Читайте также:  Как бесплатно отслеживать перемещение самолетов на iphone, ipad и mac os x - все про apple устройства

Умный дом не будет работать, если у пользователя отсутствует iPhone, iPad или AppleTV (устройство, подключающееся к телевизору). Только через данные приборы можно взаимодействовать с приложением Умного дома и осуществлять действия с прочими «умными» устройствами.

Как пример, смартфон с операционной системой не iOS, а, например, Android, не поддерживается HomeKit приложением. Необходимо устройство именно от компании Apple. Данная ситуация считается в кругу обывателей весьма серьёзным минусом. Мириться ли с этим? Каждый решает лично.

Существует немало компаний, которые производят приборы для Умного дома, совместимые с приложением от Apple. Но если что-то выйдет из строя, направлять своё недовольство нужно будет соответствующему разработчику.

Компания Apple не несёт никакой ответственности за сторонние устройства. Поэтому для человека, у которого одновременно из строя вышло сразу несколько приборов от разных производителей, жизнь мёдом не покажется.

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

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

Разберём плюсы Умного дома от Apple подробнее:

Глупо указать на неподдерживаемую продукцию, но не упомянуть немалый список устройств, которые идеально подходят к HomeKit. С огромной скоростью увеличивается количество приборов от сторонних компаний, которые легко и быстро распознаются Умным домом от Apple. Подключение происходит крайне быстро, а интерфейс приложения максимально интуитивен и понятен даже ребёнку.

  1. Простота в использовании.

Как уже было подмечено, любое подходящее устройство идеально легко подключается к интерфейсу системы и с ним тут же можно начинать работу:

Это стандартный результат после подключения устройства к сети (в данном случае использовалась умная розетка ElgatoEveEnergy). Не требуется даже совершать поиск устройств – всё осуществляется в автоматическом режиме. Технический прогресс в самом расцвете сил.

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

Источник: http://sovetexpert.ru/umnyy-dom-ot-apple.html

«Привет, Siri. Включи обогреватели» — Интеграция умного дома на базе NooLite с Apple HomeKit

В своей первой статье я описал предысторию появления системы удаленного управления отоплением в загородном доме через Telegram-бота, которым я и моя семья пользовались долгое время.

С выходом iOS 10, Apple представила пользователям приложение Дом — свою реализацию интерфейса управления умным домом через HomeKit.

Меня весьма заинтересовала данная тема и, потратив несколько вечеров на изучение доступного материала, я решил реализовать интеграцию данного продукта с моей системой.

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

Содержание

Первой задачей был поиск готовых свободных решений в автоматизации домашнего оборудования с поддержкой HomeKit. Тут я сразу вспомнил несколько статей об open source продукте OpenHab.

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

Последней доступной версией на тот момент была beta4, которую и решил использовать.

Процесс интеграции можно разделить на 4 этапа:

  1. Установка и настройка OpenHab
  2. Подключение NooLite к OpenHab
  3. Установка и настройка HomeKit для OpenHab
  4. Настройка приложения «Дом»

В итоге должна была получится следующая схема:

Установка и настройка OpenHab

У OpenHab 2 есть довольно подробная документация, где помимо основных платформ есть и туториал по установке на Raspberry Pi. Не буду копировать сюда все шаги, так как никаких проблем с установкой не возникло.

После установки web-интерфейс OpenHab был доступен в браузере по адресу: http://:8080.

Сразу были доступны:

  1. Basic UI, Classic UI — панели управления устройствами подключенными к OpenHab
  2. Rest API — собственно rest API
  3. Paper UI — интерфейс администирования OpenHab, через который его можно настроить

Пока Basic UI был пустой:

Подключение NooLite к OpenHab

Исходя из документации, для подключения нового устройства к OpenHab нужно было:

  1. Добавить его в items
  2. Добавить в sitemap, чтобы оно отображалось в OpenHab панели управления умным домом (Basic UI, Classic UI). Данный шаг можно пропустить, к работе с HomeKit он не относится, но с его помощью можно проверить, что OpenHab видит NooLite и правильно с ним работает.
  3. Добавить правила в rules, если нужна автоматизация или дополнительная логика обработки событий

Items

В items мы описываем конечные управляемые устройства, к примеру силовой блок NooLite и «учим» OpenHab работать с ним:

itemtype itemname [«labeltext»] [] [(group1, group2, …)] [{bindingconfig}]

где:

  • itemtype — тип устройства (Switch, Dimmer и т.д.)
  • itemname — имя устройства
  • labeltext — текстовое отображение. К примеру для датчика: «Температура [%.1f °C]», для блока просто «Обогреватели»
  • iconname — отображаемая иконка
  • group1 — группы
  • bindingconfig — то, как управлять этим устройством

Самое интересное здесь — это биндинг. То, каким образом будет осуществляться взаимодействие с управляемым устройством. Немного поискав информацию по работе OpenHab с NooLite, нашел готовый вариант.

Но он был написан для работы с NooLite USB адаптерами PC и RX серий. В моей же системе управление силовыми блоками работало через ethernet-шлюз PR1132, поэтому нужно было искать другие варианты работы.

Посмотрев на доступные биндинги, нашел универсальные Http binding и Exec binding, с помощью которых можно было реализовать общение с NooLite:

  1. Http binding позволяет выполнять сетевой запрос при возникновении какого-либо события (включение/выключение, получение информации с датчика). Используя API в PR1132, можно было реализовать прямое общение OpenHab с NooLite.
  2. Exec binding — на событие выполняется какая-либо команда.

На тот момент я думал, что будет необходима дополнительная логика пре/пост обработки запросов к NooLite, поэтому выбрал второй вариант.

NooLite CLI

При разработке Telegram-бота, предыдущей реализации интерфейса общения с умным домом, я уже написал простенький класс-обертку над API вызовами к NooLite:

noolite_api.py«»»
NooLite API wrapper
«»» import requests
from requests.auth import HTTPBasicAuth
from requests.exceptions import ConnectTimeout, ConnectionError
import xml.etree.ElementTree as ET class NooLiteSens: «»»Класс хранения и обработки информации, полученной с датчиков Пока как таковой обработки нет «»» def __init__(self, temperature, humidity, state): self.temperature = float(temperature.replace(',', '.')) if temperature != '-' else None self.humidity = int(humidity) if humidity != '-' else None self.state = state class NooLiteApi: «»»Базовый враппер для общения с NooLite»»» def __init__(self, login, password, base_api_url, request_timeout=10): self.login = login self.password = password self.base_api_url = base_api_url self.request_timeout = request_timeout def get_sens_data(self): «»»Получение и прасинг xml данных с датчиков :return: список NooLiteSens объектов для каждого датчика :rtype: list «»» response = self._send_request('{}/sens.xml'.format(self.base_api_url)) sens_states = { 0: 'Датчик привязан, ожидается обновление информации', 1: 'Датчик не привязан', 2: 'Нет сигнала с датчика', 3: 'Необходимо заменить элемент питания в датчике' } response_xml_root = ET.fromstring(response.text) sens_list = [] for sens_number in range(4): sens_list.append(NooLiteSens( response_xml_root.find('snst{}'.format(sens_number)).text, response_xml_root.find('snsh{}'.format(sens_number)).text, sens_states.get(int(response_xml_root.find('snt{}'.format(sens_number)).text)) )) return sens_list def send_command_to_channel(self, data): «»»Отправка запроса к NooLite Отправляем запрос к NooLite с url параметрами из data :param data: url параметры :type data: dict :return: response «»» return self._send_request('{}/api.htm'.format(self.base_api_url), params=data) def _send_request(self, url, **kwargs): «»»Отправка запроса к NooLite и обработка возвращаемого ответа Отправка запроса к url с параметрами из kwargs :param url: url для запроса :type url: str :return: response от NooLite или исключение «»» try: response = requests.get(url, auth=HTTPBasicAuth(self.login, self.password), timeout=self.request_timeout, **kwargs) except ConnectTimeout as e: print(e) raise NooLiteConnectionTimeout('Connection timeout: {}'.format(self.request_timeout)) except ConnectionError as e: print(e) raise NooLiteConnectionError('Connection timeout: {}'.format(self.request_timeout)) if response.status_code != 200: raise NooLiteBadResponse('Bad response: {}'.format(response)) else: return response # Кастомные исключения
NooLiteConnectionTimeout = type('NooLiteConnectionTimeout', (Exception,), {})
NooLiteConnectionError = type('NooLiteConnectionError', (Exception,), {})
NooLiteBadResponse = type('NooLiteBadResponse', (Exception,), {})
NooLiteBadRequestMethod = type('NooLiteBadRequestMethod', (Exception,), {})

Читайте также:  Замена лиц на фото и видео для iphone (эффекты и маски) 20 лучших приложений - все про apple устройства

Используя его, в несколько строк python кода я набросал NooLite CLI, с помощью которого появилась возможность управлять NooLite из командной строки:

noolite_cli.py«»»
NooLite PR1132 command line interface
«»»
import os
import json
import logging
import argparse import yaml from noolite_api import NooLiteApi SCRIPT_PATH = os.path.dirname(os.path.realpath(__file__)) # Logging config
logger = logging.getLogger()
formatter = logging.Formatter( '%(asctime)s — %(filename)s:%(lineno)s — %(levelname)s — %(message)s'
)
stream_handler = logging.StreamHandler()
stream_handler.setFormatter(formatter)
logger.addHandler(stream_handler) def get_args(): «»»Получение аргументов запуска :return: словарь вида {название: значение} для переданных аргументов. :rtype: dict «»» parser = argparse.ArgumentParser() parser.add_argument('-sns', type=int, help='Получить данные с указанного датчика') parser.add_argument('-ch', type=int, help='Адрес канала') parser.add_argument('-cmd', type=int, help='Команда') parser.add_argument('-br', type=int, help='Абсолютная яркость') parser.add_argument('-fmt', type=int, help='Формат') parser.add_argument('-d0', type=int, help='Байт данных 0') parser.add_argument('-d1', type=int, help='Байт данных 1') parser.add_argument('-d2', type=int, help='Байт данных 2') parser.add_argument('-d3', type=int, help='Байт данных 3') return {key: value for key, value in vars(parser.parse_args()).items() if value is not None} if __name__ == '__main__': # Получаем конфиг из файла config = yaml.load(open(os.path.join(SCRIPT_PATH, 'conf_cli.yaml'))) # Создаем объект для работы с NooLite noolite_api = NooLiteApi( config['noolite']['login'], config['noolite']['password'], config['noolite']['api_url'] ) # Получаем аргументы запуска args = get_args() logger.debug('Args: {}'.format(args)) # Если есть аргумент sns, то возвращаем информацию с датчиков if 'sns' in args: sens_list = noolite_api.get_sens_data() send_data = sens_list[args['sns']] print(json.dumps({ 'temperature': send_data.temperature, 'humidity': send_data.humidity, 'state': send_data.state, })) else: logger.info('Send command to noolite: {}'.format(args)) print(noolite_api.send_command_to_channel(args))

Аргументы имеют такие же названия, как и в API ethernet-шлюза PR1132, единственное, что добавил — аргумент sns для получения информации с датчиков.

# Помощь
$ python noolite_cli.py -h
usage: noolite_cli.py [-h] [-sns SNS] [-ch CH] [-cmd CMD] [-br BR] [-fmt FMT] [-d0 D0] [-d1 D1] [-d2 D2] [-d3 D3] optional arguments: -h, —help show this help message and exit -sns SNS Получить данные с указанного датчика -ch CH Адрес канала -cmd CMD Команда -br BR Абсолютная яркость -fmt FMT Формат -d0 D0 Байт данных 0 -d1 D1 Байт данных 1 -d2 D2 Байт данных 2 -d3 D3 Байт данных 3 # Включение силового блока, привязанного к 0 каналу
$ python noolite_cli.py -ch 0 -cmd 2
OK # Выключение силового блока, привязанного к 0 каналу
$ python noolite_cli.py -ch 0 -cmd 0
OK # Получение информации с датчика, привязанного к 0 каналу
$ python noolite_cli.py -sns 0
{«state»: «Датчик привязан, ожидается обновление информации», «temperature»: 21.1, «humidity»: 56} # Посложнее — задать RGB-контроллеру SD111-180 (3 канал) соответствующую яркость # на каждый из цветовых каналов: d0 — красный, d1 — зеленый, d2 — синий
$ python noolite_cli.py -ch 3 -cmd 6 -fmt 3 -d0 247 -d1 255 -d2 247

Теперь я мог описать все силовые блоки NooLite в items:

# /etc/openhab2/items/noolite.items Number FFTemperature «Температура [%.1f °C]» {exec=»[ON:python noolite_cli.py -ch 0 -cmd 2]»} Switch Light1 «Освещение» { exec=»>[OFF:python noolite_cli.py -ch 2 -cmd 0] >[ON:python noolite_cli.py -ch 2 -cmd 2]»} Color RGBLight «Светодиодная лента»

где:

  • FFTemperature, FFHumidity — температура и влажность датчика первого этажа. OpenHab для получения информации каждые 5 секунд выполняет python noolite_cli.py с параметром -sns 0 и извлекает значения temperature из json ответа. Аналогично для влажности
  • Heaters1 — линия обогревателей первого этажа. Для включения (команда «ON») OpenHab должен выполнить python noolite_cli.py -ch 0 -cmd 2, для выключения (команда «OFF») — python noolite_cli.py -ch 0 -cmd 0.
  • Light1 — уличный прожектор, команды аналогичные обогревателям, только на втором канале -ch 2
  • RGBLight — светодиодная лента.

Rules

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

# /etc/openhab2/rules/noolite.rules import org.openhab.core.library.types.* var HSBType hsbValue
var String redValue
var String greenValue
var String blueValue rule «Set RGB value»
when Item RGBLight changed
then val hsbValue = RGBLight.state as HSBType val brightness = hsbValue.brightness.intValue val redValue = ((((hsbValue.red.intValue * 255) / 100) * brightness) / 100).toString val greenValue = ((((hsbValue.green.intValue * 255) / 100) * brightness) / 100).toString val blueValue = ((((hsbValue.blue.intValue *255) / 100) * brightness) / 100).toString var String cmd = «python noolite_cli.py -ch 3 -cmd 6 -fmt 3 -d0 » + redValue + » -d1 » + greenValue + » -d2 » + blueValue executeCommandLine(cmd)
end

Я описал одно правило, которое срабатывало при изменении состояния RGBLight, где получал значения каждого канала (0-255), формировал строку python noolite_cli.py -ch 3 -cmd 6 -fmt 3 -d0 redValue -d1 greenValue -d2 blueValue и выполнял ее.

Sitemap

Теперь, когда OpenHab «видел» все мои силовые блоки и умел ими управлять, оставалось описать, как нужно их отображать в панели управления OpenHab (Basic UI, Classic UI). Делается это в sitemap:

# /etc/openhab2/sitemap/noolite.sitemap sitemap noolite label=»Дача» { Frame label=»Первый этаж» { Text item=FFTemperature Text item=FFHumidity Switch item=Heaters1 Switch item=Light1 } Frame label=»Второй этаж» { Colorpicker item=RGBLight icon=»colorwheel» label=»Светодиодная лента» } }

После сохранения этого файла в Basic UI появились все устройства:

Также протестировал работу с умным домом через приложение OpenHab для iOS устройств, где тоже все отлично работало:

Установка и настройка HomeKit для OpenHab

Установку HomeKit аддона для OpenHab я произвел в пару кликов через Paper UI (интерфейс администрирования):

Для его корректной работы, следуя документации, для каждого элемента items прописал тип (Lighting, Switchable, CurrentTemperature, CurrentHumidity, Thermostat). После этого файл noolite.items имел следующий вид:

Number FFTemperature «Температура [%.1f °C]» [ «CurrentTemperature» ] {exec=»[ON:python noolite_cli.py -ch 0 -cmd 2]»} Switch Light1 «Освещение» [ «Switchable» ] { exec=»>[OFF:python noolite_cli.py -ch 2 -cmd 0] >[ON:python noolite_cli.py -ch 2 -cmd 2]»} Color RGBLight «Светодиодная лента» [ «Lighting» ]

Затем в настройках аддона прописал локальный адрес устройства c OpenHab (в моем случае Raspberry Pi) и посмотрел pin-код сопряжения:

После этого с настройками OpenHab было закончено, и я приступил к конфигурированию умного дома на iphone в приложении «Дом».

Настройка приложения «Дом»

Первый запуск приложения «Дом»

Нажал «Добавить аксессуар»

iPhone увидел в локальной сети устройство с поддерждок HomeKit

Ввести код вручную

При добавлении указал pin-код из настроек HomeKit аддона

Все устройства

iPhone увидел все мои устройства, описанные в items. Далее я переименовал некоторые устройства, создал «комнаты» (первый этаж, второй этаж, улица) и раскидал все устройства по ним.

Здесь я хочу пояснить один момент. На скриншоте выше виден элемент «Температура на улице» (первый элемент с показателем 2 градуса), находящийся в комнате «Улица». Этот элемент реализован с использованием биндинга YahooWeather Binding — по сути просто прогноз погоды от yahoo для конкретного места.

К NooLite он не относится, поэтому я не затронул подробности его установки и настройки. Сделать это можно опять же через Paper UI, все подробно изложено в документации.

Удаленный доступ и автоматизация

В моей локальной сети находился Apple TV, который без дополнительных настроек сам определился как «Домашний центр». Как я позже выяснил, домашний центр необходим для удаленного доступа к умному дому и настройки автоматизации (действия по расписанию, действия на основе вашей геопозиции и т.д.).

В качестве домашнего центра может выступать Apple TV 3 или 4 поколения (в 3 поколении работает только удаленный доступ, для автоматизации нужно 4 поколение) или iPad с iOS 10. Это устройство должно быть постоянно включено и находится в локальной сети умного дома.
Приятно порадовало то, что никаких дополнительных настроек с Apple TV я не делал.

Все, что нужно — это войти в iCloud под своей учетной записью.

Результат

Источник: https://habr.com/post/312668/

Ссылка на основную публикацию