У меня на мобильных устройствах штатный 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