Как стать автором
Обновить

Комментарии 68

Штука классная, но я очень не уверен в слове «бюджетных».
Бюджет у каждого свой. У кого щи пустые, а кого жемчуг мелкий :)
Я только интересуют темой «умный дом» но те законченные готовые решения со сравнимой гибкостью которые я видел стоят в разы дороже.
И если уж развивать тему «бюджетности» — то умный дом это излишек что слабо совместимо с низким доходом. Да и если человек может собрать и настроить себе «умный дом» и у него мало денег — возможно ему просто надо сменить работу.
Возможно собрать, не самая большая проблема.
Еще больше трудностей возникает — это все запрограммировать, особенно когда результат нужен вчера.
Так как «умный дом» это аппаратно программный комплекс — то под «собрать» подразумевалось в том числе и «запрограммировать» и «настроить».
Именно тем и интересно данное решение, что используется весьма популярный JavaScript для работы с оборудованием автоматизации Z-Wave. Да, тут нет (пока) визуального редактора (но ведь на хабре все работают только в терминале, не так ли? ;) Но гибкость очень большая.
Бюджет — штука относительная. Удобным критерием сравнение здесь скорей выступает не абсолютная стоимость, а относительная: сколько стоит контроллер относительно остальных устройств сети. Многие хабрапользователи уже имеют RPi, и для них контроллер обойдётся почти во столько же, во сколько одно конечное устройство. На фоне 20-30 устройств для дома это 3% стоимости. Сравните с Fibaro HomeCenter 2 для того же Z-Wave (в 8 раз дороже и менее гибкий, но коробочный и сразу готов к бою). Про всякие KNX, AMX, ModBus,… я вообще молчу! За 100 баксов там ничего нет ;)
Сам модуль ZM3102 кстати стоит $14 в рознице.
А себестоимость этого razberry получается где-то $8-$10 по прикидкам. Неплохая наценка в 800%.
Ну, продолжая вашу тему, стоимость CD-ROM с дистрибутивом MS Office 2007 составляет менее 10 центов, а стоил он более 130 баксов. Видимо, не только за материальные вещи платить надо ;)

Себестоимость самого железа больше ваших прикидок, т.к. чип стоит > 5$ в объёме 10 000, остальной обвес ещё почти столько же, сборка и PCB стоят ещё более 5$ каждая. Далее работа по написанию прошивки для ZW0301 и ПО Z-Way стоит по прикидкам более 50 000 баксов. А теперь учтите НДС, транспорт, пошлины и увеличения цены в 2 раза при попадании в retail.

Видимо, вы не знакомы с процессом вывода продукта на рынок ;)
Допустим от тысячи штук чип стоит $6.50, eeprom — $1, кварц $1, остальное копейки. PCB и сборка такой платы стоит меньше $10, даже если её в России собирать. Про остальные затраты вы правы конечно, тут одна стоимость разработки софта вполне могла превосходить всё остальное, я не берусь судить.

Единственное, что производителю стоит быть готовым к тому, что если продукт будет популярным, то китайцы всё-таки сделают то же самое за $10.

Ну и для кого-то может быть альтернативой купить сам модуль за $14, собрать на макетке и использовать с бесплатным ПО.
RaZberry сделана в Германии (см. описание на сайте). Это оправдано при производстве объёмов менее 5000 штук, а качество сильно выше. Если китайцы сделают такую плату за 10$, то будет здорово!

Если говорить о самостоятельной сборке модуля на макетной плате, то здесь всё упирается в прошивку. Где её взять бесплатно? Чем заливать? Покупка DevKit или программатора убьёт всю выгоду.
Кстати, о качестве. В моем RaZberry одна нога EEPROM (правая нижняя, если смотреть на рис. в этой статье) жестоко припаяна такой большой каплей припоя поверх платы к CMD компоненту возле нее. Это все платы такие или мне просто повезло? На всех фотографиях, что смог найти в сети, этого нет.
Возможно, повезло… Такие объёмы делаются отчасти вручную, особенно первые 200 штук. Если есть нарекания на работу платы, то, уверен, её быстро заменят.
Нет, плата работает нормально, просто было интересно.
конченых устройств


Вы точно это слово имели ввиду?
спасибо, исправил ;)
Подскажите кто недавно заказывал raspberry pi, где? На rscomponents России вообще в списке нет, а farnell ведёт на терраэлектроника с заоблачной ценой.
В Украине на аукционе аукро.юа брал. Там их навалом в наличии, но где-то баксов по 45-48 + доставка по стране (зато за 1 день).
А что на счет самой платки RaZberry в Украине?
Не нашел, заказал в Британии.
А можно по хотя бы ссылку?
adafruit — пришла через 2 недели обычной почтой
с rs не связывайтесь, я заказал и оплатил в январе и до сих пор глухо, заказ снять тоже не дают
Кстати, adafruit покупают у farnell, но дешевле выйдет купить в штатах, потому что у европейских раселлеров farnell цены в евро, причем у некоторых и в евро цена выше, и доставка из европ дороже. Мне доставка обошлась в 12$, причем в посылке была еще всякая ерунда, кроме rpi.
На adafruit нет в наличии. с farnell заказать я вообще способ не нашёл, да и наслышан что очень долго всё…
Заказывал в RS в декабре, пришло в ДС спустя 2 месяца. Не вижу проблем.
Ответ RSComponents:
As you may be aware we have been encountering problems with the delivery of orders within the Russian Federation and have been looking at alternative methods of shipping. Unfortunately we haven't been able to find a solution that would help to solve this issue order.
Сегодня получил вот отсюда raspberrypi.rsdelivers.com
wget ‐q ­‐O ­‐ http://razberry.z-­wave.me/install | sudo bash

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

Кстати, данный скрипт также обновляет ПО без особых проблем.

Теперь похоже есть оба подхода
https://z-wave.me/z-way/download-z-way/


wget -q -O - https://storage.z-wave.me/RaspbianInstall | sudo bash

https://z-wave.me/z-way-v3-0-0/


sudo apt-get update
sudo apt-get install dirmngr -y
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 7E148E3C
sudo bash -c 'echo "deb https://repo.z-wave.me/z-way/raspbian stretch main contrib" > /etc/apt/sources.list.d/z-wave-me.list'
sudo apt-get update
sudo apt-get install z-way-full
Первый теперь тоже через .deb.

А для любителей до сих пор есть .tgz в razberry.z-wave.me/z-way-server

Не прошло и 7 лет, и мы сделали .deb репозиторий ;))
А можно какое-то сравнение z-wave, zigbee, bt 4.0 le? Хотя бы вкратце? Потому как тоже смотрю в сторону home automation, и тут столько вариантов, что глаза разбегаются.
Zigbee и BT 4.0 имеет важное отличие — они покрывают стандартом не все уровни OSI. В Zigbee верхние уровни полностью отданы производителям, в BT это пытаются решить профилями, но пока даже hue ни с кем не совместима. Т.е. приборы разных производителей могут жить в одной сети и даже пользоваться mesh-сетью (в ZigBee), но понимать друг друга не могут. В BT кстати, нормального mesh так и не сделали.

В отличии от них Z-Wave имеет полноценную совместимость разных производителей. Что это означает для нас, пользователей? Больший ассортимент работающих вместе устройств и защиту инвестиций: уходя с рынка компания-производитель может быть заменена другим производителем. В ZigBee это увы не так.
Интересно узнать, как поведет себя Raspberri Pi при подключении пары десятков устройств.

Здесь вот товарищ жалуется, что Vera 3 начинает тормозить.
Raspberri будет помощней (700 МГц процессор против 500 МГц, 512 Мб памяти в Model B rev 2 против 128 у Веры), но всё же.

Кстати, а какой сейчас самый мощный контроллер на рынке? Fibaro Home Center 2?
У меня дома пока 19 и всё летает. Тут и проц лучше, и код более шустрый. Хороший JS на V8 не уступает C++ коду по скорости, а на Vera 3 используется Lua, которая сильно более тормозная.

И, кстати, основная проблема на Vera 3 — это память — при большом количестве устройств её просто не хватает. С Z-Way на Raspberry Pi Rev B этот порог должен быть где-то около 70-100 устройств (зависит от кол-ва Command Classes на устройствах).

Fibaro HomeCenter 2 пока самый производительный (это полноценный писюк! отсюда и цена). Fibaro'вцы на нём строят сети до 170 устройств. Но и там начинаются глюки, хотя уже совсем другого характера.
Какого, если не секрет?
С маршрутизацией и авторазруливанием мёртвых маршрутов. С другой стороны, 170 устройств распределённых на 5 этажах по 200 квадратов — это уже не совсем профиль технологии Z-Wave… Z-Wave — это о квартирах и домах до 500 м2 и не более 4-х этажей
Кстати, скоро в продажу выйдет Вера с более мощным процессором.
Вышла. Но опять 128Мб…
Отличная статья, спасибо. Уже достаточно давно слежу за z-wave, но пугает качество и цена устройств (самые простые датчики стоят ~$70, игрушечные камеры непонятного качества >$100), да и выбор сравнительно небольшой. Было бы здорово почитать об эксплуатации конкретных устройств.
Темой «Умного дома» я проникся больше года назад. Изначально планировал в коридоре сделать включение свет от датчика движения и выключение через 2 минуты. Первым делом попытал свои силы в самостоятельной разработке на микроконтроллере. Понял, что быстро не сделаю что нужно.
Затем стал искать готовые решения, по соотношению цена/функциональность мне показалось, что Z-Wave оптимальный вариант.
Купил датчик движения и выключатель света Z-Wave, установил, настроил и сразу же обнаружил косяк, если вручную выключить свет, то он моментально включается от датчика движения. Принял решение купить недорогой контроллер и запрограммировать логику работы датчика движения и выключателя света.
Приобрел облачное решение Z-Cloud, нужен только стик, софт работает в интернете. Написал правило для датчика движения и выключателя:
«Если свет выключили с выключателя, то в течении 30 секунд выключатель не реагирует на датчик движения».
Все работало, но напрягало, что без интернета мой умный дом работать не будет. Но с выходом RaZberry решил и эту проблему. Теперь у меня дома локальный контроллер с моей собственной логикой.
Практиковался в программировании пол iOS и решил ради эксперимента написать собственно приложение для умного дома используя Z-Way JSON API. Разобрался за пару минут в синтаксисе, в App Store не выкладывал, так как лень пока доделать, вот что вышло:
image
А вот кусочек кода, где я с помощью слайдера выставляю нужный уровень свет в комнате:
// слайдер для класса 38
- (void) sliderMoved:(UISlider*)sender {
    // Устанавливаем задержку на обновление, слайдер обновится только через 2 обновления после нажатия на нем, т.е. через 2 секунды
    delaySlider = 2;
    // Готовим запрос к серверу //
    NSURL *url = [NSURL URLWithString:self.controllerAddress];
    AFHTTPClient *httpClient = [[AFHTTPClient alloc] initWithBaseURL:url];
    // Если используется пароль и логин, то добавить эти данные к запросу
    if (([self.username length] != 0) && ([self.password length] != 0) ) {
        [httpClient setAuthorizationHeaderWithUsername:self.username password:self.password];
    }
    NSMutableURLRequest *request = [NSMutableURLRequest new];
    NSString *path = [NSString new];
    NSUInteger value = (int)(sender.value + 0.5f);
    NSLog(@"Slider value = %i", value);
    
    path = [NSString stringWithFormat:@"/ZWaveAPI/Run/devices[%@].instances[%@].commandClasses[%@].Set(%i)", number, instance, deviceClass, value]; // /ZWaveAPI/Run/devices[3].instances[0].commandClasses[38].Set(50)
    request = [httpClient requestWithMethod:@"POST" path:path parameters:nil];
    AFHTTPRequestOperation *operation = [[AFHTTPRequestOperation alloc] initWithRequest:request];
    [operation setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject) {
        NSLog(@"Запрос доставлен %@%@",self.controllerAddress, path);}
    failure:^(AFHTTPRequestOperation *operation, NSError *error) {
        NSLog(@"Запрос не доставлен %@%@",self.controllerAddress, path);}];
    [operation start];
}
Если взять конкретно двойное реле fibaro fgs 221, меня интересует слудующая ситуация, когда стейты каналов меняются с помощью клавиш выключателя, будут ли приходить коллбеки с обоих каналов и будут ли в этих коллбеках поканально приходит значения (вкл. / выкл.)?
Намучался с этой ситуацией в либе openzwave так ничего и не смог сделать…
Завтра откопаю и попробую. Но что-то мне подсказывает, что сам Fibaro FGS-221 не может этого: у него два канала для двух клавиш (т.е. можно получать отдельно два события нажатия — это Basic Set) и одна группа для отчёта (Basic Report). А вот какой канал прислал отчёт, возможно, не получится узнать. В идеале должно быть две репортных группы или они от каналов должны приходить. Хотя есть чит — при получении репорта (группа 3) можно сразу спрашивать явно значения на обоих каналах — тогда они обновятся. Т.е. как-то так:

zway.devices[fgs221_id].SwitchBinary.data.level.bind(function() {
  zway.devices[fgs221_id].instances[1].SwitchBinary.Get();
  zway.devices[fgs221_id].instances[2].SwitchBinary.Get();
});
zway.devices[fgs221_id].instances[1].SwitchBinary.data.level.bind(function() {
  debugPrint("channel 1: " + this.value);
});
zway.devices[fgs221_id].instances[2].SwitchBinary.data.level.bind(function() {
  debugPrint("channel 2: " + this.value);
});


Но вообще, слабо верится, чтоб Fibaro облажались здесь. Уверен, что у них это как-то красиво релиалтзовано.
Всё оказалось сильно проще, чем я думал: Fibaro FGS-221 возвращает при изменении состояния три отчёта Basic Report (лишнее удалил):
[2013-04-01 04:15:40.232] RECEIVED: ( 01 09 00 04 00 0B 03 20 03 FF 26 )
[2013-04-01 04:15:40.232] SETDATA devices.11.instances.0.commandClasses.32.data.level = 255 (0x000000ff)
[2013-04-01 04:15:40.242] RECEIVED: ( 01 0D 00 04 00 0B 07 60 0D 01 01 20 03 FF 4B )
[2013-04-01 04:15:40.243] SETDATA devices.11.instances.1.commandClasses.32.data.level = 255 (0x000000ff)
[2013-04-01 04:15:40.264] RECEIVED: ( 01 0D 00 04 00 0B 07 60 0D 02 02 20 03 00 B4 )
[2013-04-01 04:15:40.264] SETDATA devices.11.instances.2.commandClasses.32.data.level = 0 (0x00000000)

Первый сделан через Association (скорее всего группы 3) и оповещает о первом канале (дублирует в канале 0 первый канал — так часто делают), второй и третий — это ассоциации групп 1 и 2, сделанные MultiChannelAssociation. Виден номер канала и значение. Вот только эти два вам и нужны:
zway.devices[11].instances[1].Basic.data.level.bind(...);
zway.devices[11].instances[2].Basic.data.level.bind(...);


Обратите внимание, что здесь не SwitchBinary, а Basic — почему-то Fibaro именно так сделали.

Таким образом в RaZberry это получилось out of the box!

У меня такой на кухне управляет двумя лампами, а посылает команды им батареечный выключатель: один клик — обе лампы, два клика — только одна (тоже через MultiChannelAssociation сделано).
Ага, вчера в ночи туговато думал уже… Можно и SwitchBinary использовать (и это правильней, т.к. для всех устройств типа реле работает). Просто устройство не прошло интервью по SwtichBinary во время тестов (это я игрался со стиранием конфигов Z-Way). Теперь всё выглядит так:
[2013-04-01 20:48:52.855] RECEIVED: ( 01 0D 00 04 00 0B 07 60 0D 01 01 20 03 FF 4B )
[2013-04-01 20:48:52.856] SETDATA devices.11.instances.1.commandClasses.32.data.level = 255 (0x000000ff)
[2013-04-01 20:48:52.856] SETDATA devices.11.instances.1.commandClasses.37.data.level = 255 (0x000000ff)
Спасибо за проверку. А в принципе, учитывая что одноплатных компьютеров с поддержкой линукса и наличием gpio появляется все больше и больше, эта плата расширения может с ними работать?
В теории да. На практике нужно чтоб совпал порядок GPIO и был аналогичный проц и библиотеки ОС. Иначе нужно будет компилить софт специально под конкретное железо/ОС. Например, под OpenWRT без бубна не собрать ничего. И поддерживать это просто ужас!

Но в конечном счёте RPi — самый популярный и дешёвый.
А как насчет вашего софта не под rpi? Есть где-то отдельно сорцы или хотя-бы бинарники под популярные ОС?
Пока нет. Планируется под Windows сделать (очень уж много запросов от любителей Windows — хотят HomeSeer заменить чем-то адекватным) и под Ubuntu/Debian (просто поддерживать пакеты).
Появилась ли версия под Linux? Хочу попробовать под свой роутер (Asus RT-N16) скомпилировать. Z-Connector раньше работал :).
Да, под Ubuntu и Debian, но не для роутера. У RT-N16 маловато флэша… Да и под OpenWRT задолбаться собирать можно. Мы пробовали — в теории пакето собрать можно, даже когда-то это работало, но лучше брать гигагерцовые роутеры с кучей памяти и диска.

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

Вот в Германии есть Fritz box — лидер рынка, а у нас нет таких.
Можно ли где-то получить само ПО Z-Way для установки на какой-нибудь другой девайс? Собственно нужен только API сервер.
Пока нет. См. чуть выше. Если Вы собираетесь использовать Z-Way в коммерческих проектах, то, думаю, правильней написать на razberry@z-wave.me.
...level.value == 0, но при JSON-сериализации без .value будет сериализован весь элемент дерева с его атрибутами, а только значение).


Наверное пропущено НЕ в последней части предложения?!
да, дествительно
А обычный «свисток» (вроде AEON Labs USB, или Z-wave.me usb stickC) сможет работать вместо razberry с малинкой на указанном софте, если его вставить в usb? Иными словами — подойдёт ли /dev/ttyUSB0 в этом случае вместо /dev/ttyAMA0? Или там что-то в корне другое, заточенное конкретно под эту платку?
Нет, т.к. прошивка RaZberry содержит некоторые дополнения к протоколу Z-Wave Serial API.
> Прошивка также позволяет обновлять себя по UART, что позволит не только исправить возможные баги в будущем, но и сменить версию прошивки с той, что установлена по умолчанию (SDK 4.54.01) на более старую 5.03

А как это сделать на практике?
Вот есть rasspberry c raspbian + razberry. Есть консоль.
Где взять «более старую 5.03»?
Как прошить?
Можем прислать на почту. Однако не очень советую, т.к. фишки новой прошивки очень полезны для сети. Explorer Frames — штука нужная!

Единственный повод перейти на 5.03 — это пара кривых устройств от известных производителей.
А частота модуля по странам зависит от прошивки или от железа?
И от того, и от другого. На модуле Z-Wave есть частотный фильтр (SAW filter), определяющий полосу в 20 МГц (часто несколько регионов используют одну широкую полосу, например, EU/RU/IN/MY). Более точная подстройка делается в прошивке (выбор полосы в 150-200 kHz).

Закачай себе на RasPi iobroker, он написан на ява скрипте, и будет счастье. Можешь писать под себя адаптеры, это Open Source ;-) z wave там тоже подключен

ПО Z-way можно бесплатно использовать на других raspberry?


https://z-wave.me/z-way/z-way-licensing/


  1. If you use Z-Way on top of the RaZberry Shield the complete functionality is available free of charge without any limitations

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


  1. If you want to use Z-Way on a different platform than Raspberry Pi with support for Z-Wave you can download the code free of charge but you will need a Z-Wave.Me transceiver hardware such as UZB and you will need a licensing key to unlock the Z-Wave function

А в 3-м что для использования с z-wave на платформе не Raspberry Pi надо покупать лицензию.


Вопрос: если у меня есть свой Raspberry Pi, есть Z-Wave.Me стик — надо ли мне покупать лицензию для его использования?

С RaZberry уже в комплекте идёт Z-Way. Ничего доплачивать не нужно.

А вот стики бывают с и без лицензии. Проще всего воткнуть и посмотреть — он ругнётся, если что.
Зарегистрируйтесь на Хабре , чтобы оставить комментарий