handleft

handleft

веб-разработка, мобильные приложение, железо, микроконтроллеры, нейросети
Пикабушник
9525 рейтинг 12 подписчиков 26 подписок 9 постов 1 в горячем
Награды:
10 лет на Пикабу
30

IoBroker — открытая система автоматизации

У многих, кто интересуется домашней автоматизацией («Умный дом»), на слуху известные открытые системы автоматизации, на которых можно построить управление: OpenHab, MajorDoMo, Home Assistant, Domoticz, HomeBridge. Но если немного расширить диапазон наблюдения, то можно обнаружить множество программных систем, которые могут предложить схожий функционал, а местами даже больший. Сегодня, расскажем об одной из них — ioBroker.


Расскажем обзорно, без погружения в подробности реализации, т.к. каждый элемент потребует отдельной статьи (если потребуется — будет статья).

Что за зверь?


ioBroker — это система автоматизации, разработанная на платформе Node.js (также как и HomeBridge). Благодаря этому, ее можно развернуть и запустить практически на любой операционной системе или виртуальной машине: Windows, Mac, Linux, в контейнере Docker и даже на Android. Это позволяет масштабировать систему исходя из потребностей: поставить ее на “малину” для дома, квест-комнаты или на сервер для гостиницы.


Система ioBroker, как и большинство систем автоматизации, открытая и расширяемая. Новый функционал или устройства подключаются с помощью добавления “драйвера” или “адаптера” (так называемые плагины ioBroker), который можно установить из официального Store или из git-репозитория.


Большинство действий выполняется из web-интерфейса администрирования и позволяет изменить любые параметры системы (нет необходимости редактировать config-файлы в терминале):

- управление набором драйверов и их параметрами

- мониторинг и изменения объектов системы, состояний и их истории

- разработка сценариев поведения и обработчиков событий

- разработка визуальных Dashboard для управления и представления состояний

и многое другое.


Пример, как выглядит интерфейс администрирования можно посмотреть тут http://iobroker.click

Как это работает внутри?


Подход ioBroker’а заключается в том, что каждое подключенное устройство или сервис, представляется в виде набора состояний, которые могут изменяться устройством или пользователем. Т.е. устройство раскладывается на элементы и дальнейшая работа происходит с ними и их значениями. Работа с устройствами заключается в подписке на изменение состояний и собственно изменение других состояний в зависимости от ситуации.


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

Некоторые состояния имеют обратную связь и при их изменении со стороны ioBroker (например, пользователь поменял значение или при выполнении скрипта), значение отправляется обратно на устройство или сервис.


Таким образом, например, можно включить лампочку, вручную поменяв ее состояние в объектах, или переключить режим работы термостата.


Все состояния хранятся в древовидном реестре, который очень напоминает подход с протоколом MQTT, где данные соотносятся с топиками. Поэтому, соответствующий драйвер MQTT легко интегрируется с любыми mqtt-серверами (или брокерами). А также сам выступает в качестве MQTT-сервера/брокера для IOT-устройств, поддерживающих этот протокол.


Поддерживаемые устройства и сервисы


В ioBroker есть, активный по умолчанию, драйвер поиска устройств и автоматической установки драйверов для них. Поддерживаются не только устройства, которые стандартно распознаются, через UPnP, но и просто устройства, которые могут быть найдены по IP адресу или подключены к USB порту.

Благодаря открытой архитектуре в ioBroker постоянно появляются новые драйвера. Сейчас в официальном репозитории их насчитывается порядка 200 (http://download.iobroker.net/list.html), а список автоматически обнаруживаемых устройств постоянно пополняется (https://github.com/ioBroker/ioBroker.discovery#automatically...).


При наличии дополнительного оборудования (различные USB-стики или шилды), можно использовать популярные протоколы: Z-Wave, Zigbee, BLE, KNX.

Можно интегрироваться с другими системами “Умного дома”, контроллерами и хабами: OpenHab, MiHome, HomeMatic, MegaD, Home assistant и другими.

Интерфейсы взаимодействия


Пользователь может взаимодействовать с ioBroker несколькими способами.


Vis-интерфейс

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


В сети доступен набор страниц визуализации некоторых пользователей, которые поделились ими с разработчиками https://iobroker.click/. Видно, что нет единого подхода к оформлению страницы управления “Умным домом” и каждый делает по своему усмотрению. Это с одной стороны хорошо, т.к. имеется простор для дизайна и нет ограничений. С другой стороны, это сложно неподготовленному пользователю.

инста-видео зеркала с Vis-интерфейсом


Также, благодаря облачному сервису и Cloud-драйверу, можно получить доступ к визуальным интерфейсам ioBroker из глобальной сети без использования специальных средств (VPN, DynDNS и прочему).


Telegram-бот

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

Благодаря драйверу text2command можно отправить текстовое сообщение боту и оно будет разобрано и выполнено. Например, текст “включи свет в детской” выполнит включение состояния, которое относится к “освещению” в комнате “детская”. И таких применений множество: шторы, музыка, отопление, охрана, замок и т.п. По функции очень напоминает Siri, но только текстовую.


Также, через Telegram реализуют канал уведомлений о ситуациях, происходящих в системе. Очень удобно.


iOS Homekit


Естественно, у ioBroker есть возможность интеграции в систему Apple HomeKit. Благодаря драйверу Yahka, в системе можно создавать аксессуары, соответствующие требованиям HomeKit и использовать их на iOS устройствах.


Для этого, в настройках драйвера Yahka необходимо создать виртуальные устройства и связать их характеристики с имеющимися в системе состояниями.


Так, например, создав виртуальное устройство “Лампа” и связав его с состоянием, относящимся к включению/выключению реальной лампы, можно сделать кнопку управления лампой в приложении Дом на iOS. А если подключить и другие дополнительные состояния, то можно управлять и диммируемой лампой.

Датчики, сенсоры, камеры, термостаты, вентиляторы… любые устройства можно отобразить в Homekit и управлять ими через приложение Дом или попросить сделать это Siri.


Нужно только, чтобы реальные устройства, которыми будет управлять Siri были заведены в систему и связать соответствующие состояния с виртуальными устройствами Homekit.

Голосовое управление


Коме Siri, управлять устройствами голосом возможно и через популярную на западе Amazon Alexa (жаль только не на русском языке). Для этого, к облачному сервису ioBroker, связанному с вашим локальным сервером, подключается специальный Alexa Skill, который перенаправляет и выполняет команды от вашей Amazon Dot.

Если нет умной колонки, то выполнять команды по-русски можно через приложения Android Tasker и PAW. Через эти приложения можно преобразовать голосовую команду в текст и отправить в ioBroker, где уже упоминаемый драйвер text2command выполнит ее и сообщит о результате.


Дополнительно, интеграция через PAW драйвер, можно выполнять множество обратных команд на Android-устройстве: осуществлять звонки, писать SMS и воспроизводить голосом текст.


Генерации голоса из текста выполняется специальным драйвером SayIt, поддерживающим популярные TTS-движки от Google, Яндекс, Amazon. А вывод получившейся речи можно осуществить через колонки, Chromecast или Sonos.


Также, голосовые команды можно принимать через созданную страницу в Vis-драйвере (в браузере Google Chrome) и принимать там ответные голосовые сообщения от ioBroker.


Сценарии


Одна из самых важных частей автоматизации — сценарии. Это логические блоки управления, которые определяют зависимости, поведение и взаимодействие между устройствами и их состояниями.


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


Всё это реализуется сценариями.


Для реализации сценариев могут использоваться либо визуальный язык Blockly, либо Javascript, либо TypeScript, либо очень популярный NodeRed.

Основная задача скриптов — описание реакции на происходящие в системе события. Для этого, в скриптах описываются обработчики изменений состояний. Например, при изменении состояния click, относящегося к беспроводной кнопке, изменить набор состояний, относящихся к модулям sonoff, включающих освещение. А при двойном нажатии — отключать свет.

Но более сложное поведение потребует знания Javascript, т.к. множество примеров выполнено именно на нём. Для реализации нужного функционала можно подключить любой npm-пакет и использовать его в скриптах.

И да, сценарии могут выполняться по расписанию.


Сообщество


Большинство пользователей ioBroker находятся в Европе, в Германии и это отражается на специфике сообщества, материалов, уроков, примеров и документации.

Но в последние два года, началось активное развитие русскоязычного сообщества.

Появился соответствующий раздел на форуме, документация, телеграм-чат.


Заключение (личный опыт by Ilya Kirov)


Признаюсь, это единственная система автоматизации, в которую я глубоко погрузился (хотя смотрел на Hass и MajorDoMo). Это стало моим хобби. ioBroker мне интересен своей архитектурой, возможностями и сообществом. На нем сейчас автоматизирую квартиру и дачу.


Большинство из приведенных выше возможностей мне удалось попробовать на себе. Я разобрался и реализовал как простые варианты, так и более хитрые. Разработал пару драйверов для себя и ими стали пользоваться другие пользователи ioBroker.


Я не стану хаять другие системы и не скажу, что это идеальная система. Я хочу обратить внимание на неё и дать её попробовать другим. Да, порог вхождения в написание скриптов требует базовые знания системы, но это везде так (только языки разные). Да, будут сложности с настройкой некоторых драйверов, но всё решаемо. Если кто-то уже через это проходил, значит и у вас получится.


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

И в одном из русских сообществ это понимают и делятся знаниями независимо от того какую систему автоматизации используют.


by Ilya Kirov

Показать полностью 11 4
7974

Как я нашёл телефон тёщи по его wifi сигналу

Как я нашёл телефон тёщи по его wifi сигналу

Недавно произошёл со мной удивительный случай, когда уже все попытки найти телефон свелись на нет, но телефон продолжал принимать звонки. Мы пытались его найти, вспомнив о существовании таких сервисов гугла, но, к несчастью, эта возможность не была активирована. Съездили на стоянку перед магазином, проверили машину, искали в сугробах, но звука звонка не исходило его попросту не было слышно...

Звонок оператору вряд ли помог нам в помощи телефона, мы не такие привилегированные люди, которым могут помочь оператор сотовой связи, как это обычно делается для органов :)


И тут меня осенило, если оператор ищет по сигналу БС, тогда почему я не могу поискать по сигналу, но только WiFi ? ведь телефон использовал домашний интернет и подключался к роутеру, там есть его MAC-адрес, тем более в настройках по умолчанию на андройдах подключение к wifi остается при выключенном экране.


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

Сказано - сделано, приезжаем домой, захожу на роутер, прошу всех сдать свои телефоны для идентификации, проверяю и нахожу нужный мне мак-адрес потеряшки. Далее дело за простым, благо у меня роутер Mikrotik и он к нему когда-то подключался (это одно из условий - имя точки доступа), нахожу полуживую Li-Po батарейку, собираю из этого переносное устройство, проверяю работу на уровень сигнала своего телефона к роутеру - все работает, видны цифры качества сигнала, значит по ним можно примерно понять расстояние до wifi клиента, собираю все в охапку (ноутбук, роутер, батарейка) и иду на поиски...


Обойдя по периметру участок и проезд, периодически делая вызовы мне удалось заставить телефон подключиться к моему роутеру, в итоге еще 5-ти минут хождения и поиска наилучшего wifi сигнала мне улыбнулась удача и я нашёл его в сугробе. Это было невероятное везение, найти телефон в бесшумном режиме под слоем свежего снега (в этот день шёл снег).


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

Показать полностью

Помощь в ремонте acer switch 10 sw5-012

Добрый день ремонтёры

Так получилось что мне в руки попал нерабочий планшет acer aspire switch 10, попробовал зарядить ему батарейку зарядкой imax b6 но он не включился, при вскрытии обнаружил, что греется где-то в районе контроллера зарядки. схему в открытом доступе найти не смог, единственные данные это как стало понятно, что материнская плата на шасси: Pegatron p0jac2

на плате есть еще наклейка с артикулом - 69nm1hm13a / nbl4s1100343



Насколько он ремонтопригоден , может ли программист его отремонтировать?

Дешевый андройд 5.1 смартфон за 1890 рублей в России

Не сочтите за рекламу, но мне понравился этот телефон. Хочу порекомендовать - он для тех кому нужен дешевый смартфон на андройд 5.1.

Можно приобрести у оператора tele2 до конца месяца за 1890рублей. (с мая подорожает немного)

Производитель Haer. В яндекс.маркете очень похож на Fly который стоит в два раза дороже. 

Из минусов: первый слот SIM1 залочен на Tele2 (всего 2 слота)


Характеристики ниже средних:

2 ядра,2 слота mini sim, слот microSD, 512мб оперативной, 4гб флеш, свободно около 700мб. 


Мне в качестве звонилки и подарку тещи понравилось.


новость от 4pda http://4pda.ru/2016/02/17/277044/

14

Word Drone Prix Dubai . Наша команда заняла третье место!

Вчера завершился чемпионат гонок на fpv квадрокоптерах , одна наша команда смогла пройти квалификацию и дойти до финала заняв третье место! (вторая наша команда не смогла пройти квалификацию.) 


Наш российский пилот Владимир Мещеряков стал призером Чемпионата Мира по Drone Racing в Дубаи, и занял 3-е место в тяжелейшей борьбе!


Володя - МОЛОДЕЦ!!!


И всем парням из нашей Сборной ОГРОМНОЕ СПАСИБО!


МОЛОДЦЫ!


И Володя стал самым быстром пилотом этого Чемпионата!!!

ps. Первое место команда X-Blades Bunny UK , второе DUBAI DRONETEK

pps. видео полетов прилагается.

Word Drone Prix Dubai . Наша команда заняла третье место!
Показать полностью 1 1
12

Своя антенна на крыше многоквартирного дома. Реально?

Здравствуйте уважаемые пикабушники.


Есть среди вас радиолюбители/жильцы , которые устанавливали антенны легальным способом на крыше многоквартирного дома ?


Меня интересует возможность получения ключей от крыши своего подъезда, сегодня ходил в управляющую компанию и меня футболили после моих ссылок на ст.290 КГ РФ и ст.36 ЖК РФ,  ключи так и не дали, хотя заявление было написано неделю назад.



ps. Шутки от УК (управляющей компании): сначала они требовали собрать более 50% подписей всех жильцов, что они дают согласие на это, далее мне под предлогом опасной работы стали отказывать, хотя в заявлении я написал, что понимаю всю ответственность проведения работ на высоте и не причиню вред кровли. В итоге попросил дать письменный отказ основываясь на букве закона, знаю что это теперь затянется на полгода так как там никто брать на себя ответственность не желает, вот и футболят. 

Показать полностью
Отличная работа, все прочитано!