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

Настроил все на основе Openhab. Понравилось. Купил приложение на все свои девайсы. Сервер действительно падает, надо лечить.

У меня сервер падал с основной ошибкой сегментирования, сейчас выполнил обновление платформы, день прошел пока все стабильно.

опять начал отваливаться

Да, там похоже прилетает от mqtt что-то неожиданное. Включил запись coredump, буду ловить.

как временное решение можно использовать svscanboot. У меня вопрос по поводу освещенности он не понимает параметр Lux, еще хотел спросить как добавить диммер?

Освещенность проверю, отпишу. Возможно, я выкладывал версию раньше, чем сделал освещенность.
Диммер должен подхватывать просто по имени контрола. Если не подхватывает, можно мне прислать вывод?
mosquitto_sub -v -t /devices/# | grep <имя контрола>

root@wirenboard-ABZ4PE4F:~# mosquitto_sub -v -t /devices/# | grep wb-mrgb_36
/devices/wb-mrgb_36/meta/name WB-MRGB 36
/devices/wb-mrgb_36/controls/RGB 0;0;0
/devices/wb-mrgb_36/controls/RGB/meta/type rgb
/devices/wb-mrgb_36/controls/RGB/meta/order 1
/devices/wb-mrgb_36/controls/Button 1 0
/devices/wb-mrgb_36/controls/Button 1/meta/type switch
/devices/wb-mrgb_36/controls/Button 1/meta/readonly 1
/devices/wb-mrgb_36/controls/Button 1/meta/order 2
/devices/wb-mrgb_36/controls/Button 2 0
/devices/wb-mrgb_36/controls/Button 2/meta/type switch
/devices/wb-mrgb_36/controls/Button 2/meta/readonly 1
/devices/wb-mrgb_36/controls/Button 2/meta/order 3
/devices/wb-mrgb_36/controls/Button 1 counter 0
/devices/wb-mrgb_36/controls/Button 1 counter/meta/type value
/devices/wb-mrgb_36/controls/Button 1 counter/meta/readonly 1
/devices/wb-mrgb_36/controls/Button 1 counter/meta/order 4
/devices/wb-mrgb_36/controls/Button 2 counter 0
/devices/wb-mrgb_36/controls/Button 2 counter/meta/type value
/devices/wb-mrgb_36/controls/Button 2 counter/meta/readonly 1
/devices/wb-mrgb_36/controls/Button 2 counter/meta/order 5

а можете версию последнюю выложить?

Стоп!
Так бы и написали, что речь о RGB диммере. Я его еще не делал. У IH есть отличный контрол для RGB диммера, просто руки не дошли. Постараюсь до конца выходных выложить новую версию.

Обновил версию.
Бинарник https://www.dropbox.com/s/fllr3txt2yq4x64/wb2ih?dl=0
Пример конфига: https://www.dropbox.com/s/aon41grhm5rah6d/wb2ih.json.sample?dl=0

Изменения

  • Вроде бы нашел и поправил причины падений.
  • Добавил шаблон для освещенности и уровня шума.
  • Добавил поддержку RGB диммера (засада в том, что в приложении под андроид контрол с колесом есть, а для iOS нет).
1 лайк

Огромное спасибо за труды, будем тестить!

что то с бинарником не запускается

26/03 19:59:26 [4266] Failed with exception 118(attribute ‘name’ is not string)

Угу. Библиотеку логирования рефакторил и забыл в пример конфига поменять.
В общем, нужно в wb2i.json в секции логирования заменить “Name”: “Main” на “name”: “Main”

все работает

@avp Поставил wb2ih - все завелось без проблем. На андроиде все отобразилось не хуже чем в демке. Огромное спасибо за удобное решение! Но появилось несколько вопросов:

  1. В ImperiHome есть возможность задать login/пароль при подключении, а где в конфигурации wb2ih можно задать авторизацию ? Или придется перед wb2ih ставить nginx с авторизацией - хотя я его все равно буду ставить для обеспечения https.

  2. Непонятно как защитить обмен между андроидом и wb ? Для использования nginx-а пытался в конфигурации указать, чтобы слушал только на localhost. Все равно слушает на всех портах, а использовать iptables на WB не хочется из-за слабости процессора:

  "web": {
        "host": "localhost",
        "port": 8080
   },

Все равно слушает на всех портах, а использовать iptables на WB не хочется из-за слабости процессора.

  1. В демо-системе ImperiHome при нажатии на измерительные датчики (температура, давление, влажность и т.п.) происходит переход на график изменения во времени. А в таких же датчиках от WB - ничего не происходит. Это как-то конфигурируется или просто не реализовано?

Сценариев два:

  • Только домашнее использование - вроде авторизация не нужна. Интерфейс WB без пароля.
  • Использование через интернет. Т.к. wb2ih это не полноценный web-сервер, я категорически не рекомендую выставлять его в интернет напрямую. Я использую nginx с ssl+basic авторизацию.

Кроме того, самое разумное решение - добавить его в конфиг nginx, который использует WB. Нужно, чтобы разработчики WB добавили раздел в свой конфиг. Т.к. не нашлось массы желающих использовать приложение, я не стал двигаться в этом направлении.

Тут зависит от уровня паранои. Поскольку интерфейс WB открыт, а это API просто является его подмножеством - непонятно зачем защищать. Но, в принципе, можно повесить его на localhost и убрать за nginx с https и авторизацией.

Все никак не дойдут руки сделать. Это требует использования mqtt api для получения истории топиков в WB. Ничего сложного, но мне было не особо нужно, а никто интереса не проявил.

Так я это и хотел сделать, но не получилось - слушает на всех интерфейсах. Так что надо указать в конфиге wb2ih ?

Я посмотрю код и отвечу :wink:
Возможно, нужно добавить такую возможность.

Сейчас слушаются всегда все интерфейсы. Варианты простые:

  • iptables
  • докрутить задание хоста (несложно, но никогда не требовалось :slight_smile: )

Обновил версию. Ссылка та же.
Работает
“web”: {
“port”: 8080,
“host”: “127.0.0.1”
},