Нужно ли мобильное приложение для wb

У меня на мобильных устройствах штатный WebUI шевелится крайне неторопливо. Одним из самых простых вариантов “создания” мобильного приложения я вижу создание серверного API для какого-то универсального приложения, предназначенного для управления умным домом. Т.к. у меня есть очень позитивный опыт работы с ImperiHome я решил попробовать сделать для него API.

Цель данной темы состоит в том, чтобы понять если ли у кого-то потребность в мобильном приложении для WB и покрывает ли ImperiHome эту потребность. . Приложение в настоящий момент является alpha-версией и, скорее всего, содержит массу ошибок. Т.е. рекомендуется к ознакомлению и не рекомендуется к постоянному использованию.

Ниже ссылки на сервер, приложения и инструкция по запуску всего этого.

Сервер можно скачать по ссылке https://www.dropbox.com/s/fllr3txt2yq4x64/wb2ih?dl=1
Ему требуется конфигурационный файл https://www.dropbox.com/s/aon41grhm5rah6d/wb2ih.json.sample?dl=1
Их нужно скачать в пустой каталог на Wirenboard и запустить командой
./wb2ih -c wb2ih.json.sample
после этого нужно в любом браузере набрать http://wirenboard:8080/system
Есть появилось что-то похожее на: “{“apiversion”:“1”,“id”:“WirenBoard”}”, значит сервер запустился.

Теперь нужно скачать и установить приложение ImperiHome:


В приложении нужно зайти в настройки, Systems и добавить ImperiHome Standard Systems. Сервер указать примерно как http://wirenboard:8080/ (Возможно, потребуется указать его по IP)
Если все сделано правильно, в списке устройств появиться что-то похожее на:

Дальше нужно переключиться в режим Dashboard и создать свой Dashboard с какими-то из перечисленных устройств. Получится что-то типа:

Если все получилось и не вызывает отторжения, можно скопировать пример конфига в новый файл и попробовать добавить свои устройства. Сейчас поддерживается большинство датчиков, устройства типа swich, диммеры и некоторые другие устройства. После каждого редактирования конфига нужно перезапустить wb2ih и в приложении сделать обязательно reload.

Если вы используете rooms и widgets в интерфейсе WB можно попробовать включить в конфиге “load_rooms”: true и “load_widgets”: true . Данный функционал еще не отлажен и может работать некорректно, но если запустится - вы увидите в интерфейсе приложения все комнаты и виджеты, созданные в WebUI.

Ниже один из примеров с более осмысленными устройствами:

P.S. Сами приложения платные, но бесплатная версия позволяет оценить все возможности, а самого стоимость приложения довольно символическая.

P.P.S Исходный код доступен в https://github.com/avp-avp/wb2ih

Скажите, а чем хуже вариант выбрать из множества различных вариантов приложений под смартфоны типа “IoT manager”, работающих напрямую с MQTT (к тому же бесплатные)? По идее и никаких API на WB не надо… Я рассматривал такие варианты, но в итоге отказался по причине ограниченности графических возможностей и необходимости все настройки интерфейса делать на смартфоне (неудобно). Хотя все это, бесспорно, лучше, чем родной интерфейс от WB, особенно на мобильном устройстве.

IOT manager предполагает довольно большое кол-во настроек на мобильном устройстве.
Здесь же на мобильном устройстве настраивается только layout. Все параметры устройств приходят с сервера.

Если говорить про “IoT Manager”, то лично у меня он не заработал со схемой или самим mqtt от wirenboard

А вот MQTT Dash работает прекрасно.

Как я уже писал выше - цель понять, нужен ли кому-то интерфейс WB<->ImperiHome или нет. :slight_smile:

Заодно, если найдется мобильное приложение, которое окажется существенно лучше IH - я бы посмотрел на него… У IH есть как минимум два некритичных недостатка: нет пушей и он сам опрашивает сервер с некоторой периодичностью (нельзя принудительно очень быстро обновить dashboard).

“IoT Manager” я привел в качестве примера множества подобных приложений. В итоге я не стал пробовать ни одного из них, посчитал слишком ограниченными по возможностям (особенно графическим) и трудоемкими в настройке интерфейса через экран смартфона. Остановил свой выбор на ioBroker, чем вполне удовлетворен. Все же это более высокий уровень и возможности, правда при этом потребуется отдельный сервер, что есть минус, но в качестве сервера прекрасно справляется малютка Orange Pi Zero (WB не потянет ни по процессору ни по памяти). Это плюс. Вероятно вариант avp снимает часть недостатков в части трудоемкости настройки.

1 лайк

Здесь фишка именно в том, что поставив пакет и потратив пару минут на настройку приложения вы получаете доступ ко всем виждетам, созданным в WebUI. А потратив еще немного времени на “тюнинг” в приложении - получите удобные dashboards. Т.к. модели данных у WB и IH оказались довольно близки - перевод виджетов и устройств WB в устройства ImperiHome осуществляется довольно просто.
Установка node.js на Pi Zero и настройка там ioBroker это все же упражнение не для 5-10 минут и требует определенных скилов… :wink:

Ну и еще важный для меня момент: большинство open source мобильных приложений сильно не дотягивают по удобству, UX характеристикам до коммерческих… Здесь с UX все очень неплохо.

Ну как сказать… могу описать свои мытарства на тему удобного интерфейса к WB. Думаю это будет полезно и интересно другим. WB у меня появился летом, после чего я начал переводить всю старую автоматику на него. Очень быстро появилось понимание, что его собственный интерфейс никуда не годен для удобного управления системой. Обратил внимание на Majordomo. Благо уже были упоминания его использования с WB. Установка и настройка на виртуальную машину с линуксом напоминает квест… но тем не менее через какое-то время оно заработало. Заработало прямо скажем, так себе - тормоза, глюки… несколько месяцев пытался из этого что-то сделать удобоваримое. В итоге пришел к мысли, что сию кривую поделку надо менять. Жаль было потраченных усилий, конечно, но так как оно работало меня категорически не устраивало. Поискал возможные варианты. Domoticz - не понравился, слишком примитивен. По той же причине забраковал все типа “IoT manager”. Ваш вариант с ImperiHome видел на форуме, но тогда не было API. Было бы - обязательно попробовал бы. Open HAB - показался громоздким и неудобным в настройке.

Случайно попался на глаза ioBroker… ожидал очередные танцы с бубнами и кучу глюков с разными кривостями. Поставил на виртуалку с линуксом. На удивление это оказалось сделать совсем просто и быстро. Ну а дальше - разбежались глаза от возможностей. С документированием там не очень, примерно как и у WB. Но GUI оказался довольно удобен и функционален. MQTT взлетел сразу. Были некоторые проблемы с тонкой настройкой, но они завершились успешно. Большая часть времени ушла на освоение возможностей VIS (графический дизайнер). Вообщем там можно сделать практически все что угодно… Что и было неспешно реализовано. На удивление сие работает совершенно стабильно и очень быстро. Вообще не замечаю задержек в отработке команд. В отличие от того же Мажордомо. Позднее прикупил Orange Pi Zero и установил туда ioBroker. Что оказалось совсем просто и также быстро. Перенос проекта делается легко через экспорт-импорт. В итоге оставил виртуалку под разработку, а Zero под “production”. Процессора и памяти Zero хватает с запасом. Изначально планировал использовать все это только как графический “вынос” управления WB. Вся логика и скрипты - на WB. Априори казалось WB стабильнее и надежнее, чем какая-то дешевая поделка с бесплатным софтом. Но теперь, глядя на стабильную работу Zero c IoBroker уже больше месяца возникают мысли - “а не стоит ли туда мигрировать”… Попробовал перенести не особо важные скрипты с WB (обсчет переменных для визуализации, а то wb-rules прилично грузят и без того дохлый процессор WB - сейчас в среднем это 55-58%) - нормально. На удивление удобный редактор скриптов (те же javascript что и на WB) в том числе и с возможностью блочного рисования. Возможно позднее продолжу неспешно переносить и остальное. Есть еще мысль прикрутить RS-485 к UART зерошки (после успешного начала использования купил вторую чисто для тестов, благо цена смешная) и попробовать модбас от ioBroker… в принципе, если и там с этим будет все хорошо - то очень может быть, что использование WB в качестве ядра системы потеряет в перспективе какой-либо смысл.

В качестве примера - что у меня в итоге получилось:

Делалось это из соображений минимализма, так чтобы мне было удобно. И удобства использования как на PC, так и в родном клиенте под Android (последний также выше всяческих похвал). Наверное было бы правильнее делать два проекта - под PC и Android, у каждого своя графика… но мне было лень и я постарался сделать так, чтобы было удобно и там и там с одним проектом. Отсюда же вызывается просмотр камер и графиков, к примеру:

1 лайк

А визуализация через что производится? веб? или какое то нативное приложение?

Если вопрос мне- то да, через WEB. Управление и разработка тоже через WEB. Еще есть приложение под андроид для визуализации, про IOS не в курсе.

Если ко мне, то используется нативное универсальное приложение. Т.е. вы в json конфиге описываете какие элементы из GUI wirenboard нужны вам в мобильном приложении и получаете их там в виде нативных элементов управления, из которых прямо в приложении формируете dashboards

Я про iobroker поинтересовался. Ставил, настраивал и да, он гибкий и почти сразу понятный. Ставится тривиально. Но я выбрал сторону нативного приложения и homekit там старые ветки заброшены, а новая не стабильная сильно.

To avp: А какой смысл изобретать еще одно? Openhab на мобилках прекрасно работает нативно + еще homekit подтягивает + голос и на iOS и Роботе. Единственное, если ваш сервер работает на WB, т.к. под Openhab надо отдельную железку. Плагинов ураган под все хотелки и задачи. Единственный минус, визуализацию сильно не поменяешь, но нам же ехать, а не шашечки :slight_smile:

Так я не изобретал. Я использую ImperiHome уже года три. Его прелесть в том, что приложение универсальное, ему нужно просто правильно подсунуть данные.

Покопался в openhab, нашел там среди различных модулей интеграции:
ImperiHome Integration (INSTALL)
Сейчас попробую :slight_smile:

Потестировал. Крайне интересное и намного лучше нативного Openhab. Я подключаюсь к тестированию.
Сейчас настрою все виджеты на openhab, а далее уже проверю как работает через WB.

Спасибо за наводку.

А Habpanel в openHAB2 уже идет в комплекте, там и графики красивые и виджеты народ сам пишет.
Настраивается через web интерфейс.

Ну видимо это и ответ на вопрос “зачем еще одно приложение”

Соответственно актуальным остается вопрос: нужен прямой интерфейс WB->ImperiHome? Его прелесть в том, что логика контролов WB крайне близка к логике контролов IH. Т.е., в большинстве случаев, получается прямая трансляция элементов WB в мобильное приложение.

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

Это прототип, собранный за выходной. Отсюда возможна нестабильность.
Я хотел понять, нужно это кому-то или нет.
Если кто-то будет этим пользоваться - разберусь с падениями и добавлю недостающее.

идея отличная, я уверен что нужно добивать, готов чем могу помочь

Думаю, что при наличии у всех смартфонов и планшетов - вещь нужная. Тоже готов помочь, чем смогу.