Григорий Ситнин z-wave.me
DESCRIPTION
TRANSCRIPT
Несколько знакомых названий
Sigma Designs, Dune HD, LG, Mitsumi, Motorolla, NEC, Sharp, Technicolor, Verizon,
ZyXEL, D-Link...
...и ещё более 200
Почему Z-Wave?
Не требует ремонта для установки
Устройства хорошо выглядятили не видны вовсе
Сертифицированнаяв России частота 869MHz
Конкуренты
443MHz — тотальный vendor lock,слабая маршрутизация
EnOcean — “набитая” частота 2.4MHz,нет подтверждения доставки
ZigBee — стандарт толькодо транспортного уровня
(несовместимость оборудования)
Контроллеры Z-Wave
Fibaro Home Center 2 — 27,500MiCasa Verde Vera 3 — 12,500
MiCasa Verde Vera Lite — 7,900
Raspberry Pi + RaZberry — 6,600Z-Way для Windows — 4,400
Z-Way для Windows
USB-стик и ПО, позволяющие сделать из любого компьютера Z-Wave контроллер
(пт-с-с... секрет...) стик прекрасно работаети на других платформах ;)
RaZberry
Полноценный контроллер домашней автоматизации на базе Raspberry Pi, оснащённый GPIO-модулем Z-Wave
...по лучшей цене
Самое интересное — внутри
3 публичных API
5 демонстрационных UI с открытым кодом, в том числе, для iOS
Как устроена сеть Z-Wave
Ноль или больше контроллеров
До 232 устройств в одной сети
Большинство устройств — ретрансляторы
Как “видно” устройства сети
1 физическое устройство (device)
1 и больше логических устройств (instance)
несколько классов команд(command classes)
Дерево Z-Wave
JSON-дерево, содержащее актуальную информацию о сети Z-Wave и доступное
из любого нашего API
{ "controller": {...} "devices": { "0": { "instances": { "0": { "commandClasses": { "64": {...}, ... } }, ... } }, ... }}
API #1 — JavaScript-движокна базе v8
позволяет написать собственный движок автоматизации и манипулировать деревом
Z-Wave напрямую
работает на контроллере
может управляться через API #2
API #2 — ZWaveAPI
REST-like API (http), экспортируещее дерево, обновления к нему и позволяющее запускать
javascript-код, переданный “снаружи”, в том числе, в виде callback-ов
http://host:8083/ZWaveAPI/*
API #2 — /ZWaveAPI
/Data/<0|$ts>
/Run/devices[$D].instances[$I].commandClasses[$C].<Get()|Set()>
/Run/
API #2 — Mini UI
http://github.com/Z-Wave-Me/z-way-mini-ui
Открытый код, использующий ZWaveAPI
Легко разобраться и начать экспериментировать
API #3 — Z-Way Home Automation Engine
Высокий уровень абстракции, практическине связанный с “физикой” сети
Коммуникация через асинхроннуюшину сообщений
Собственные сообщения разработчика
API #3 — Z-Way Home Automation Engine
Сделан на базе API #1,как пример собственногоскрипта автоматизации
Расширяемая открытаямодульная система
JavaScript
API #3 — Z-Way Home Automation Engine
Постоянно пополняемая коллекция работающих модулей-примеров
AutoOff, BatteryPolling, Cron...
API #3 — Z-Way Home Automation Engine
http://github.com/Z-Wave-Me/home-automation
Полностью открытый код
Пулл-реквесты и энтузиасты — Welcome!