На Geektimes о HomeKit для RaZberry



Тема интернета вещей сейчас как никогда наиболее популярна. Каждый день выходят новые интересные устройства способные общаться друг с другом через интернет. Пока различные производители договариваются о общем протоколе общения, Apple решила взять дела в свои руки и выпустила Framework HomeKit стандартизирующий способы управления устройствами различных производителей. В перспективе с помощью мобильного приложения HomeKit можно будет управлять различными лампочками, термостатами, розеточными модулями по wifi или bluetooth. Но это все в ближайшем будущем, хотя нет, постойте…
Вы уже сейчас можете работать более чем с 1000 HomeKit устройствами или создавать свои HomeKit совместимые устройства!!!
http://razberry.z-wave.me/.
RaZberry — это программно-аппаратный комплекс поддерживающий протоколы Z-Wave, HTTP, TCP и возможность запуска системных команд, например Bash. ПО автоматизации RaZberry называется Z-Way и благодаря поддержке HTTP API можно создать, датчик температуры, взяв данные с OpenWeather, который можно использовать в различных правилах автоматизации. Z-Way распространяется бесплатно и доступен для многих платформ, более того проект является OpenSource, за исключением части работы с Z-Wave, т.к. подписан NDA с Sigma Designs, владелицей протокола Z-Wave. В состав Z-Way входит модуль для работы с HomeKit, который и позволяет транслировать Z-Wave и HTTP устройства из RaZberry в HomeKit приложение на iOS.

Установка ПО автоматизации Z-Way


Скачайте Z-Way http://razberry.z-wave.me/z-way-server/ на ваш компьютер, есть различные сборки под Linux x86, Raspberry и Windows. Для Raspberry можно воспользоваться инсталлятором, который ко всему прочему установит еще и сервис удаленного доступа, позволяющий попасть в панель управления умным домом через сервис find.z-wave.me, используя RaZberry ID и пароль:
wget -q -O - razberry.z-wave.me/install/v2.0.1-rc24 | sudo bash 

Для различных версий Linux скаченный архив нужно просто распаковать и запустить z-way-server:
LD_LIBRARY_PATH=./libs ./z-way-server & 

Создание датчика температуры из данных OpenWeather и Реле из GPIO Raspberry


После запуска нужно перейти в Web интерфейс настройки автоматизации IP_ADDRESS:8083.


Выберите интерфейс Z-Way Home Automation UI.


Теперь нужно создать устройства, которыми будем управлять. Если используется плата RaZberry или USB Z-Wave Stick, то у вас уже есть устройства, иначе давайте создадим датчик температуры и подключим реле к GPIO выходам Raspberry.

Для создания датчика температуры перейдите на вкладку Preferences-->Modules-->Environment и выберите модуль OpenWeather.


Проводим не сложную настройку.


И получаем датчик температуры.


Далее добавляем реле. Управлять GPIO будем командой echo, поэтому системе автоматизации нужно разрешить использовать внешнюю программу. В папке где находится z-way-server создаем скрытый файл.syscommands и прописываем в него команду echo:
echo "echo" >> .syscommands 

Возвращаемся в интерфейс автоматизации и переходим на вкладку Preferences-->Modules-->Devices, здесь нужно выбрать модуль CodeDevice.


Указываем тип: SwitchBinary
Команда включить:
system('echo "1" > /sys/class/gpio/gpio24/value'); 

Команда выключить:
system('echo "0" > /sys/class/gpio/gpio24/value'); 



При старте системы автоматизации нужно настроить GPIO порт на выход, для этого переходим на вкладкуPreferences-->Modules-->Scripting и выбираем модуль CustomUserCode, в текстовое поле пишем код:
system('echo "24" > /sys/class/gpio/export'); system('echo "out" > /sys/class/gpio/gpio24/direction'); 



Теперь у нас есть 2 работающих устройства.


Далее нужно активировать модуль HomeKit. Для сопряжения устройства с приложением HomeKit требуется ввести код, в Z-Way этот код можно посмотреть в логе, запускаем просмотр лога в консоле:
tail -f /var/log/z-way-server.log 



И теперь запускаем модуль HomeKitGate на вкладке Preferences-->Modules-->Peripherals.


Из настроек, только имя которое будет отображаться при поиске на iOS устройстве.


После запуска модуля смотрим в лог и видим код сопряжения HomeKit PIN:249-01-266.

Приложение HomeKit для iOS из примеров Apple


В AppStore есть одно работающее приложение HomeKit — MyTouchHome (на момент написания статьи), стоит 1.99$.


Для iOS разработчиков компания Apple охотно делится примерами, поэтому мы сами можем скачать исходники и скомпилировать себе приложение на iOS устройство. Исходники примера HomeKit берем здесь:
https://developer.apple.com/library/ios/samplecode/HomeKitCatalog/HomeKitCatalog.zip
Для сборки приложения требуется аккаунт разработчика, без него приложение сообщало об ошибке, что не может подключиться.
После запуска приложения находим наш контроллер, добавляем его в наш дом, и видим список наших устройств, которыми можем управлять.


Состояния устройств полностью синхронизированы, управлять можно и из Web панели и из приложения HomeKit.


Надеюсь в скором времени появится много функциональных приложений с поддержкой HomeKit, ну а мы уже готовы!

Статья Iridium на Geektimes о Z-Wave

Z-Wave: надёжный протокол беспроводной связи для умных домов

Знакомясь с миром домашней автоматизации, невозможно обойти вниманием один из самых важных её элементов — беспроводного соединения. Как именно должны общаться между собой стиральная машинка, холодильник, термостат и пульт управления всем этим хозяйством? Очевидные ответы вроде Wi-Fi или Bluetooth имеют свои серьёзные минусы, делающие их не очень подходящими для такой работы: загруженность диапазона 2,4 ГГц приводит к помехам, совершенно лишним в домашней автоматизации. Одним из решений этой проблемы стала разработка низкочастотного протокола Z-Wave, специально заточенного под дистанционное управление и передачи простых управляющих команд (включить свет, запустить стирку, уменьшить громкость) с минимальными задержками.


Пульт управления на 4 устройства, USB-стик Z-Wave.Me, контроллер RaZberry на базе Raspberry Pi и Z-Way, уличный датчик движения, настенный двухклавишный выключатель на батарейках
Z-Wave.me – являются партнерами iRidium mobile в разработке интерфейсов и устройств для умных домов с Ноября 2014 года. Так же Z-Wave.me являются одной из трехсот компаний альянса Z-Wave Alliance, наряду с такими гигантами индустрии как Samsung, LG, Bosch, Dlink и многие другие. Это первый и крупнейший на данный момент дистрибьютор устройств основанных на Z-Wave технологии в России. Помимо импортирования забугорных устройств, Z-wave.me разрабатывают свои примочки для умного дома.



Z-Wave.me выпускают различные устройства для умных домов на технологии Z-wave: от обычных выключателей на батарейках до платы RaZberry, которая превращает простой компьютер в полноценный контроллер Z-Wave, с помощью которого можно настраивать автоматизацию любой сложности и управлять любыми Z-wave устройствами. Есть версии в виде USB-стика и готовый контроллер с этой платой внутри. Плата RaZberry продается в более чем 10 странах по всему миру.



Z-Wave.me и iRidium mobile


Z-Wave.me и iRidium mobile являются технологическими партнерами с осени 2014 года. Z-Wave.Me создали драйвер, позволяющий с помощью iRidium GUI Editor создавать приложения для панелей с поддержкой Z-Wave. iRidium владеет мощным инструментом визуализации и возможностью объединять разные технологии автоматизации на одной панели управления, Z-Wave.me имеют контроллер RaZberry, позволяющий работать с более чем 1000 Z-Wave устройств.

По отзывам разработчиков Z-Wave.me, разработка модуля не составила проблем благодаря базе видоуроков и богатой Wiki iRidium. При написании драйвера для iRidium используются стандартные приемы программирования, поэтому у человека немного знакомого с JavaScript не должно возникнуть трудностей. Разработка драйвера заняла всего неделю, из которой один день был потрачен на написание драйвера и еще 4 — на отлов мелких ошибок.

С помощью драйвера Z-Wave, iRidium получил доступ к управлению еще 1000 устройств, а Z-Wave.Me, в свою очередь, получил инструмент для создания панелей управления для своего оборудования и возможность работать с другими технологиями умного дома через панель iRidium.


iRidium mobile — Z-Wave starter kit

Модуль разрабатывался при помощи инструмента iRidium Script API — cобытийно ориентированные скрипты, позволяющие решить различные задачи:

  • Работа с графическими объектами (страницы, попапы, итемы). Возможно создание, изменение свойств и удаление элементов.
  • Работа со звуком.
  • Работа с драйверами: отправка команд, приём данных
  • Работа с системными тегами
  • Работа с токенами (системными, драйверными, внутренними переменными проекта)


Инструменты iRidium являются мультиплатформенными — однажды созданный скрипт или драйвер будет одинаково работать на любой поддерживаемой iRidium операционной системе (iOS/Windows/Android/OS X).

При помощи iRidium Script API, любой желающий и знающий Java Script может написать свои скрипты к любому оборудованию. Именно это и позволяет говорить, что с iRidium можно управлять любыми устройствами, в том числе и устройствами на базе Z-Wave.


Редактор iRidium GUI Editor и настройка проекта на Z-wave

Благодаря инструменту от iRidium mobile были созданы модули для Sonos, Philips HUE, Samsung Smart TV, iTunes и многих других. С появлением Bongo, модули станут типизированными, что позволит добавлять их в любые проекты без лишних настроек.

Чтобы попробовать Z-Wave с iRidium самостоятельно, нужно скачать модуль Z-Wave и воспользоватьсяпошаговой инструкцией.

Выключателей начальник и стиралок командир

На московском рынке появился новый интернет-провайдер mediaDom.

mediaDom предлагает не только стнадартный набор услуг интернет + ТВ + видео по запросу, но и услуги видеонаблюдения, удаленного управления бытовыми электроприборами и «Умный Дом» на базе протокола Z-Wave.

В решении mediaDom все цифровое окружение человека объединено в одну коробку, видео-контент доступен на всех видах экранов: ТВ, компьютере, смартфоне и планшете, — а единое мобильное приложение позволяет управлять одновременно медиа-контентом и «Умным Домом».

Мобильные приложения для платформ Google Android и Apple iOS уже доступны в магазинах Google Play и Apple Store.

Будующее уже сегодня!

Новинка от компании «НЕВОТОН»

Модуль сбора данных DCM-5.1.1-Z

  • Расширяет возможности «Умного дома».
  • Позволяет использовать промышленные датчики в домашней автоматизации.
  • Обработка до 5 датчиков с различными электрическими выходами:

Особенности DCM-5.1.1-Z

  • 0-10 В
  • 4-20 мА
  • «Сухой контакт»
  • Термосопротивления
  • Термопары
  • Управляемое выходное реле.
  • Крепление на DIN-рейка
  • Питание от 12В

В интерфейсе Z-Way отображается как 2 реле и 5 датчиков:

  • Для каждого из 5 входных каналов выбирается тип подключенного датчика из списка.
  • Возвращаемое устройством значение приводится к измеряемым величинам (градусы, вольты, миллиамперы).
  • Настраиваются частота опроса, чувствительность канала, граничные условия для сухого контакта.

Модуль сбора данных DCM-5.1.1-Z — это

  • расширение возможностей домашних сетей стандарта Z-Wave
  • интеграция сетей Z-Wave с другими системами автоматизации.
  • замена ранее установленной автоматики на Z-Wave без смены измерительного оборудования.
  • автоматизация жилых, промышленных и офисных помещений с широким диапазоном контролируемых параметров.


Пример применения — управление газовой котельной частного дома



По всем вопросам можно обращаться по телефону +7 (812) 327-49-56
http://nevoton.ru

Z-Wave являктся достуным и удобным протоколом домашней автоматизации. Однако разработка Z-Wave устройств крайне непроста.

Нередко спрашивают, насколько сложно сделать своё устройство Z-Wave. Многим хотелось бы видеть создание нового устройства подобно тому, как выглядит разработка на Arduino. Увы, это невозможно из-за сложности внутреннего устройства протокола Z-Wave и ограничений, связанных с соглашениями о неразглошении (NDA) с компанией Sigma Designs.

Немного об Arduino.

Проект Arduino — это аппаратно-программная платформа для построения простых систем автоматики и робототехники, ориентированная на непрофессиональных пользователей. Данный проект был создан как образовательный и широко используется в обучении школьников и студентов.

Arduino — это

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

Проект Z-Uno

Компании Z-Wave.Me удалось найти компромисс между сложностью Z-Wave и простотой Arduino. Теперь у вас есть возможность создавать собственные Z-Wave устройства!

Совместимо с оригинальной Arduino средой.

Полностью готовая и сертифицированная по Z-Wave Plus прослойка между Z-Wave составляющей и пользовательской программой.

Совместимость с большим количеством уже написанных библиотек для Arduino.

Неограниченный простор для творчества

Возможности:
  • 28 kB кода для ваших программ
  • 4 kB оперативной памяти
  • полная совместимость с протоколом Z-Wave Plus
  • 22 пина общего назначения (некоторые функции могут занимать несколько пинов)
  • 4 АЦП
  • 5 пинов с ШИМ
  • 2 порта UART
  • USB
  • 64 kB энергонезависимой памяти
  • 1 порт SPI
  • возможность управлять ИК техникой
  • 1 прерывание
  • 2 таймера
  • I2C протокол
  • 1-wire протокол
  • поддержка клавиатуры 8х6 кнопок
  • 2 сервисных LED, 1 сервисная кнопка
  • 1 пользовательский LED
  • питание от батарейки / USB / 3.3 В / 4-18 В

Какие устройства можно сделать?

  • сенсорный выключатель
  • выключатель/клавиатуру на батарейках
  • поворотный диммер
  • датчики влажности почвы/влажности/СО2/давления/качества воздуха/т.д.
  • счетчики
  • слаботочные переключатели
  • устройства ИК управления
  • устройства управления светодиодами или моторами
  • переходник с любого протокола на Z-Wave (используя SPI/UART/I2C/1-wire протоколы)

а также

  • управление елочными украшениями
  • автокормушку для питомца
  • добавить робот-пылесос в экосистему Z-Wave
  • светодиодные дисплеи
  • и многое другое

Z-Uno — всё, чего вам не хватало ранее!

 

Как создать Z-Wave устройство в четыре шага

  1. Собираем макет будущего устройства
  2. Пишем код для будущего устройства и используя заготовки отправляем отчеты и доклады на контроллер.
  3. Прошиваем устройство по USB, проверяем
  4. Оформляем в законченное решение

Приглашаем протестировать Z-Uno, задать вопросы или оформить предзаказ на Модуль сбора данных DCM-5.1.1-Z


Прочитать обзор iXBT.

REM_ZXT120 - устройство управления кондиционерами. Это шлюз, способный переводить язык Z-Wave в язык ИК, причем обучаемый. На примере Fibaro Home Center 2 рассмотрим возможность использования REM_ZXT120 для управления мультимедиа.

Функционал устройства определяется списком поддерживаемых классов команд.

    Для управления Remotec используются следующие классы команд:
  • Thermostat Mode (режим)
  • Basic (общая совместимость)
  • Thermostat Setpoint (требуемая температура)
  • Thermostat Fan(обдув)
  • Multilevel Sensor (текущая температура)
    для настройки:
  • Association (связь с устройствами)
  • Version (информационный)
  • Configuration (настройка)
  • Manufacturer Specific (доп. класс)
  • Node Naming and Location (доп. класс)
  • Battery (заряд батарейки)

Для управления медиа приставкой это не подходит, поэтому ставим задачи:
  • обучить Remotec командам;
  • сделать виртуальное устройство.
    Чтобы обучить Remotec командам;
  • параметр 27 выставляем на "0";
  • определяемся с нужным нам значением параметра 25;
  • отправляем значение параметра 25;
  • обучаем Remotec с пульта;
  • 2 раза моргание - успешно;
  • 6 раз - неуспешно.
  • Проверяем, что устройство выполняет обученную команду
  • Создаем новое виртуальное устройство
  • Создаем набор кнопок
  • Используя функцию fibaro:call(id, "setThermostatSetpoint", "", ""), посылаем нужную температуру для нужного режима.

К сожалению, родное SMS оповещение работает только на территории Польши. Для решения этой проблемы можно прибегнуть к сторонним сервисам. Таким как sms.ru

Для того чтобы начать работу с этим сервисом, нужно

зарегистрироваться на сайте sms.ru и получить уникальный ключ
скачать с нашего сайта виртуальное устройство и ипортировать его в Home Center 2
отредактировать номер телефона и уникальный ключ
и проверить
Все готово.

В настоящий момент ни одна система «Умный дом» не имеет сертификатов МЧС и МВД для использования в пожарно-охранных системах, а контроллеры не имеют функции передачи сигнала тревоги на пульт центрального наблюдения.
Для интеграции ОПС в систему Z-Wave на контроллере FIBARO HC-2 необходима интеграция пожарно-охранных систем в систему «Умный дом».
Дополнительной сложностью является то, что нельзя вмешиваться в схемотехнику объектового блока сигнализации.

Как объединить Z-Wave с ОПС на примере системы объектового блока охранно-пожарной сигнализации «Гранит».
Cистема Z-Wave будет:
  • подключаться к штатным разъемам объектового блока;
  • позволит ставить/снимать систему с охраны как в штатном порядке, так и с помощью системы Z-wave, передавать сигналы тревоги на пульт центрального наблюдения как от датчиков ОПС, так и от датчиков Z-Wave используя протокол объектового блока «Гранит»;
  • передавать сигналы от ОПС в систему Z-Wave для дальнейшей обработки и управления исполнительными устройствами.
  • На примере реле Fibaro FGS221 и универсального датчика Fibaro Universal Sensor рассмотрим схему подключения системы Z-Wave к объектовому блоку «Гранит»:


    Сокращения
    ПЦН1, ПЦН2 – контакты реле Гранит
    GND – земля
    TM – touch memory
    X2, Х3 – контакты реле Гранит
    Ш1, Ш2… – подключение охранных шлейфов
    R1, R2– контакты реле Fibaro
    N1,N2 – контакты ун. датчика Fibaro
    КоМ- сопротивление 3,9 кОм
    Считыватель – считыватель touch memory
    Схема подключения системы Z-Wave к объектовому блоку «Гранит»
    Экран контроллера Fibaro HC-2 c интегрированной ОПС
    Порядок подключения Z-Wave к блоку «Гранит»
  • в минимальной конфигурации будет использовано сдвоенное реле Fibaro FGS221 и универсальный датчик Fibaro Universal Sensor:
    R1 подключено к 1 шлейфу ОПС (контакты Ш1, Ш2, Ш3……. Шлейфы для подключения датчиков) и будет использоваться для передачи тревоги от датчиков Z-Wave в ОПС

  • R2 подключено к считывателю ключа ОПС и служит для постановки и снятия с охраны из системы Z-Wave.

  • N1 универсального датчика подключен к разъему X1 (контакты реле срабатывает при попытке включить сигнализацию) блока «Гранит» и контролирует постановку/снятие с охраны блока «Гранит»

  • N2 подключен к контактам ПЦН1 и ПЦН2 (контакты реле срабатывают при нарушении цепи охранных шлейфов) блока «Гранит» и служит для передачи сигнала тревоги в систему Z-Wave от стандартных датчиков ОПС

    Контроллер Fibaro постоянно отслеживает состояние R1, R2, N1, N2 и в зависимости от комбинации состояний определяет в каком режиме находится ОПС.
    Постановка(снятие) на охрану из системы Z-Wave вызывается срабатыванием R2 на одну секунду, который замыкает цепь ключа (аналогично прикосновению ключа к считывателю).
    Если произошла постановка на охрану замыкаются контакты разъема X1 и ПЦН1, ПЦН2 на землю и начинается проверка шлейфов системы. Если в течении заданного времени от шлейфов не поступило сигнала аварии, то система встает на охрану и передает свое состояние (постановку на охрану) на пульт центрального наблюдения и контроллер Fibaro также отслеживает состояние ОПС и сообщает владельцу об успешной постановке на охрану.
    Если шлейфы не в порядке контакты ПЦН1, ПЦН2 разомкнуться и система перейдет в режим аварии, Fibaro пошлет сигнал на снятие и сообщит владельцу о том, что система не встала на охрану.
    В режиме охраны при срабатывании стандартных датчиков контакты ПЦН1 или ПЦН2 разомкнуться и сигнал тревоги будет, отправлен на пульт центрального наблюдения, Fibaro также увидит сигнал тревоги, т.к. сработает универсальный датчик и в зависимости от программы выполнит определенные действия, при этом уведомив владельца.
    Если в режиме охраны сработает датчик Z-Wave, то разомкнется R1, тем самым имитируя срабатывание шлейфа №1 и сигнал тревоги будет отправлен на пульт центрального наблюдения.
    Таким образом были связаны системы Z-Wave и пожарно-охранная сигнализация с использованием стандартных клемм ОПС.

    • Объектовые блоки могут быть разные,
    • количество охранных шлейфов может любое (их можно разделить на зоны, группы датчиков и т.д.)
    • в зависимости от их комбинации можно решить практически любую задачу пультовой охраны.
    Автором решения является ООО «СМАРТ ХАУС САМАРА»

Начиная с прошивки 4.033, Fibaro Home Center 2 решили некоторые проблемы с поддержкой устройств относящихся к климатическому оборудованию. Теперь в HC2 добавлена поддержка термостатов.
ZMR_FT v1.3 и выше Remotec ZXT-120 Danfoss LC Secure

Термостаты поддерживают следующие классы команд

    Управление:
  • Thermostat Mode (режим)
  • Basic (общая совместимость)
  • Thermostat Setpoint (требуемая темп-ра)
  • Multilevel Sensor (текущая темп-ра)
    Настройка:
  • Association (связь с устройствами)
  • Version (информационный)
  • Configuration (настройка)
  • Manufacturer Specific (доп класс)
  • Protection (защита от детей)
  • Node Naming and Location (доп класс)

Поэтому для работы с этими устройствами контроллер должен уметь работать с данными классами.

Правильное развитие событий

Неправильное развитие событий

Именно это и происходит в текущей версии HC2 (v4.032), поэтому в термостате ZMR_FT добавлен тот же формат что и у HC2.
Поддержка термостатов стала возможной благодаря последней прошивке Fibaro, с которой появилась поддержка необходимых классов команд:

  • Шифрование
  • Работа с замками
  • Работа с термостатами
  • Поддержка ZW Plus
  • другие улучшения.
Именно из-за добавления поддержки новых классов команд новые термостаты выглядят не так как прежние.

Термостат теплого пола:

  • виджет текущей температуры
  • виджет для задания требуемой температуры для конкретного режима
  • виджет смены режима

Danfoss:

  • виджет для задания требуемой температуры

  • Естественно, что с поддержкой новых устройств, появились и новые вызовы в LUA.