openHAB

Тогда подскажите, а то никак не могу поймать логику работы правил rules.
При изменении Итема сначала срабатывает правило, а потом маппинг? Или наоборот?

alex - прошу выложи сюда свой код для ноолайта.
А на форуме народ вот так делает:

I used the following items:

Dimmer        R6D1     "Dimmer1 [%d]"  <slider>  (Test)  {udp=">[0:192.168.0.6:9760:'MAP(r6d1.map)']"}
Dimmer        R6D2     "Dimmer1 [%d]"  <slider>  (Test)  {udp=">[0:192.168.0.6:9760:'MAP(r6d2.map)']"}
Dimmer        R6D3     "Dimmer1 [%d]"  <slider>  (Test)  {udp=">[0:192.168.0.6:9760:'MAP(r6d3.map)']"}

and a sample of the r6d1.map file (one per dimmer only the dimmer name being different in each file, which is why if I could set the 'preamble' per item then I would only need one transform file to convert the percentage to a value between 0 and 32):

OFF=111,!R6D1F0
ON=111,!R6D1F1
0=111,!R6D1F0
1=111,!R6D1FdP1
2=111,!R6D1FdP1
3=111,!R6D1FdP1
4=111,!R6D1FdP1
5=111,!R6D1FdP2
6=111,!R6D1FdP2
7=111,!R6D1FdP2
8=111,!R6D1FdP3
9=111,!R6D1FdP3
10=111,!R6D1FdP3
11=111,!R6D1FdP4
12=111,!R6D1FdP4
13=111,!R6D1FdP4
14=111,!R6D1FdP5
15=111,!R6D1FdP5
16=111,!R6D1FdP5
17=111,!R6D1FdP6
18=111,!R6D1FdP6
19=111,!R6D1FdP6
20=111,!R6D1FdP7
21=111,!R6D1FdP7
22=111,!R6D1FdP7
23=111,!R6D1FdP8
24=111,!R6D1FdP8
25=111,!R6D1FdP8
26=111,!R6D1FdP8
27=111,!R6D1FdP9
28=111,!R6D1FdP9
29=111,!R6D1FdP9
30=111,!R6D1FdP10
31=111,!R6D1FdP10
32=111,!R6D1FdP10
33=111,!R6D1FdP11
34=111,!R6D1FdP11
35=111,!R6D1FdP11
36=111,!R6D1FdP12
37=111,!R6D1FdP12
38=111,!R6D1FdP12
39=111,!R6D1FdP13
40=111,!R6D1FdP13
41=111,!R6D1FdP13
42=111,!R6D1FdP14
43=111,!R6D1FdP14
44=111,!R6D1FdP14
45=111,!R6D1FdP15
46=111,!R6D1FdP15
47=111,!R6D1FdP15
48=111,!R6D1FdP16
49=111,!R6D1FdP16
50=111,!R6D1FdP16
51=111,!R6D1FdP16
52=111,!R6D1FdP17
53=111,!R6D1FdP17
54=111,!R6D1FdP17
55=111,!R6D1FdP18
56=111,!R6D1FdP18
57=111,!R6D1FdP18
58=111,!R6D1FdP19
59=111,!R6D1FdP19
60=111,!R6D1FdP19
61=111,!R6D1FdP20
62=111,!R6D1FdP20
63=111,!R6D1FdP20
64=111,!R6D1FdP21
65=111,!R6D1FdP21
66=111,!R6D1FdP21
67=111,!R6D1FdP22
68=111,!R6D1FdP22
69=111,!R6D1FdP22
70=111,!R6D1FdP23
71=111,!R6D1FdP23
72=111,!R6D1FdP23
73=111,!R6D1FdP24
74=111,!R6D1FdP24
75=111,!R6D1FdP24
76=111,!R6D1FdP24
77=111,!R6D1FdP25
78=111,!R6D1FdP25
79=111,!R6D1FdP25
80=111,!R6D1FdP26
81=111,!R6D1FdP26
82=111,!R6D1FdP26
83=111,!R6D1FdP27
84=111,!R6D1FdP27
85=111,!R6D1FdP27
86=111,!R6D1FdP28
87=111,!R6D1FdP28
88=111,!R6D1FdP28
89=111,!R6D1FdP29
90=111,!R6D1FdP29
91=111,!R6D1FdP29
92=111,!R6D1FdP30
93=111,!R6D1FdP30
94=111,!R6D1FdP30
95=111,!R6D1FdP31
96=111,!R6D1FdP31
97=111,!R6D1FdP32
98=111,!R6D1FdP32
99=111,!R6D1FdP32
100=111,!R6D1FdP32 


Обязательно выложу, как только что-то работоспособное сделаю.

Сейчас столкнулся с тем. что через MQTT не работает управление. Такое впечатление, что очередь зависает и перестает что-либо отправлять в ноолайт.
Дошло даже до того, что перестают работать все привязанные к диммеру пульты, пока WirenBoard не перезагрузишь.

Сейчас столкнулся с тем. что через MQTT не работает управление. Такое впечатление, что очередь зависает и перестает что-либо отправлять в ноолайт. Дошло даже до того, что перестают работать все привязанные к диммеру пульты, пока WirenBoard не перезагрузишь.
Было и у меня такое, когда крутил туда сюда ползунки яркости в веб морде WB, хаотично мигали лампы, на пульты ноолайта не реагировали. Вкл-Вылк исполнителя не помогло, помогла перезагрузка WB. Думал будет проще с WB, оказалось не так уж.

Вроде как удалось победить связку nooLite - MQTT (WB) - OpenHAB.
Чтобы 2 раза не писать - кину ссылкой на блог

Странно, но ссылка не выложилась
http://www.cmd-q.ru/blog/2014/10/08/nastroika-sviazki-noolite/

Господа, прошу помочь в связке WB-openHAB.
Прописываю в настройках openhab:

mqtt:mosquitto.url=tcp://**адрес_WB**:1883
mqtt:mosquitto.retain=true
mqtt-eventbus:broker=mosquitto
mqtt-eventbus:commandPublishTopic=home/openHAB/out/${item}/command
mqtt-eventbus:statePublishTopic=home/openHAB/state/${item}/state
mqtt-eventbus:stateSubscribeTopic=home/openHAB/in/${item}/state

создаю Item:

Switch Kladovka "Свет" 	<light>	(noolite) {mqtt=">[mosquitto:/devices/noolite_tx_0xfba/controls/state:command:ON:1]" }

Вижу, что Item явно на конце не правильно сформулирован, но надеюсь что хоть что то он должен передать.

Пишу в консоле WB:

mosquitto_sub -v -t "#"

И вижу только стандартные сообщения от WB, т.е. при переключении Item ничего не передается в WB.
Что я не учел?

1 лайк

Попробуйте так:

Switch Kladovka "Свет" 	<light>	(noolite) {mqtt=">[mosquitto:/devices/noolite_tx_0xfba/controls/state/on:command:ON:1]" }

Вот тут написано почему надо /on добавлять.

А вообще, если в настройках openhab.cfg вписано:

mqtt-eventbus:commandPublishTopic=home/openHAB/out/${item}/command
mqtt-eventbus:statePublishTopic=home/openHAB/state/${item}/state
mqtt-eventbus:stateSubscribeTopic=home/openHAB/in/${item}/state

то в топиках mqtt должны выводится все ваши items.

Подскажите, пожл. как настроить клиента в опенхаб на RPi

  1. на RPi установил OpenHab
  2. на нем в конфигурации прописал IP адрес WB5
  3. в Item добавил Switch Cea “Vac” (r1) {mqtt=">[mybroker:/devices/wb-adc/controls/A1_OUT/on:command:1:default]"}
    еще вот такие варианты пробовал:
    Switch vdas “dfas” (r1) {mqtt=">[mosquitto:/devices/rs485_cmd/controls/enabled/on:command:*:MAP(mqtt_on_off_cmd.map)],<[mosquitto:/devices/rs485_cmd/controls/enabled:state:MAP(mqtt_on_off.map)]"}
    Switch Kladovka “Свет” (r1) {mqtt=">[mosquitto:/devices/rs485_cmd/controls/enabled/on:command:ON:1]" }

при нажатии кнопок в OpenHab ничего не происходит, никакие сообщения не публикуются. Ошибок в OpenHab нет. Возможно неверно прописал Item
Подскажите, у кого получилось настроить?
версия Опенхаба 1.8.0

При отправке с терминала - WB5 команды принимает и исполняет
mosquitto_pub -h 192.168.10.251 -t /devices/rs485_cmd/controls/enabled/on -m “0”
при запуск опенхаба ошибок никаких нет

Вроде все верно.
А сам биндинг скопировали в папку addons? (org.openhab.binding.mqtt-1.8.0.jar и org.openhab.action.mqtt-1.8.0.jar)?

Да, все скопировал.
нашел ошибку - весь день убил )
конфигурацию он считывает не с default.cfg, а с openhab.cfg

Господа знатоки, Openhab2 кто-то настраивал с WB?

А в чем проблема? По сути не важно, OH или OH2 работает с WB. Они взаимодействуют через mqtt. У меня одновременно работает OH1 (как релиз) и OH2 в качестве тестирования и наладки. Все изменения происходят везде одновременно.

восстановлю тему… попробовал OpenHAB2 настроить по этой инструкции. топики не пишутся на wb.
Openhab2 стоит на другой машине.

mqtt.conf

mqtt:mosquitto.url=tcp://адрес_WB:1883
mqtt:mosquitto.retain=true
mqtt-eventbus:broker=mosquitto

mqtt-eventbus:commandPublishTopic=home/openHAB/out/${item}/command
mqtt-eventbus:statePublishTopic=home/openHAB/state/${item}/state
mqtt-eventbus:stateSubscribeTopic=home/openHAB/in/${item}/state

здесь точно нужно /home/openHAB ??

в .items
Switch Mosq_test2 {mqtt=“>[mosquitto:/devices/wb-mr14_26/controls/K4/on:command:ON:1],>[mosquitto:/devices/wb-mr14_26/controls/K4/on:command:OFF:0]”}

в настройках mosquitto не нужно ничего указывать?? кроме того wb уже отправлет топики на cloud
mosquitto_pub отрабатывает нормально.

а switch из item нет. по логам он состояние меняет, но топик нет
подскажите как быть

У меня openhab2 , я не настраивал mqtt bridge, могу помочь с конфигами, пишите в телеграм
@popov1988

mqtt.cfg
wb.url=tcp://192.168.1.22:1883
wb.retain=true
wb.clientId=openHab2
wb.async=true

mqtt-eventbus - ничего не надо

items.conf
Number WB_Temperature “Температура [%.1f °C]” (wb,sensor5min) [ “CurrentTemperature” ] {mqtt="<[wb:/devices/wb-w1/controls/28-021564be82ff:state:default]"}
String WB_Contact16 “Контакт 16” (wb) { mqtt="<[wb:/devices/wb-gpio/controls/EXT1_DR16:state:MAP(wb_contact.map)]" }
Dimmer WB_Led “Лента” (wb) { mqtt="<[wb:/devices/led/controls/White:state:JS(wb_255_to_100.js)], >[wb:/devices/led/controls/White/on:command::JS(wb_100_to_255.js)]" }
Number WB_Led_Switch1 “Лента: Кнопка 1” (wb) { mqtt="<[wb:/devices/led/controls/Button 1:state:default], >[wb:/devices/led/controls/Button 1:command:
:default]" }
Number WB_Led_Switch2 “Лента: Кнопка 2” (wb) { mqtt="<[wb:/devices/led/controls/Button 2:state:default], >[wb:/devices/led/controls/Button 2:command::default]" }
Number WB_Led_Switch3 “Лента: Кнопка 3” (wb) { mqtt="<[wb:/devices/led/controls/Button 3:state:default], >[wb:/devices/led/controls/Button 3:command:
:default]" }
String WB_Led_RGB_Channel “Лента: RGB channel” (wb) { mqtt="<[wb:/devices/led/controls/RGB:state:default], >[wb:/devices/led/controls/RGB/on:command:*:default]" }
Color WB_Led_Color “Лента: Цвет” (wb)

Switch WB_Relay1_Channel1 “Реле 1: Канал 1” (wb) { mqtt="<[wb:/devices/relay1/controls/Relay 1:state:MAP(wb_relay_in.map)], >[wb:/devices/relay1/controls/Relay 1/on:command::MAP(wb_relay_out.map)]" }
Switch WB_Relay1_Channel2 “Реле 1: Канал 2” (wb) { mqtt="<[wb:/devices/relay1/controls/Relay 2:state:MAP(wb_relay_in.map)], >[wb:/devices/relay1/controls/Relay 2/on:command:
:MAP(wb_relay_out.map)]" }

Number WB_Sensor1_Temperature “Температура [%.1f °C]” (wb,sensor5min) {mqtt="<[wb:/devices/sensor1/controls/Temperature:state:default]"}
Number WB_Sensor1_Humidity “Влажность [%.1f %%]” (wb,sensor5min) {mqtt="<[wb:/devices/sensor1/controls/Humidity:state:default]"}
Number WB_Sensor1_SoundLevel “Шум [%.1f дБ]” (wb,sensor5min) {mqtt="<[wb:/devices/sensor1/controls/Sound Level:state:default]"}
Number WB_Sensor1_Lux “Освещенность [%.1f лк]” <sun_clouds> (wb,sensor5min) {mqtt="<[wb:/devices/sensor1/controls/Illuminance:state:default]"}
Number WB_Sensor1_CO2 “CO2 [%d ppm]” (wb,sensor5min) {mqtt="<[wb:/devices/sensor1/controls/CO2:state:default]"}
Number WB_Sensor1_AirQuality “Качество воздуха [%d ppb]” (wb,sensor5min) {mqtt="<[wb:/devices/sensor1/controls/Air Quality (VOC):state:default]"}
Number WB_Sensor1_CurrentMotion “Текущее Движение [%d]” (wb,sensor5min) {mqtt="<[wb:/devices/sensor1/controls/Current Motion:state:default]"}
Number WB_Sensor1_MaxMotion “Макс Движение [%d]” (wb,sensor5min) {mqtt="<[wb:/devices/sensor1/controls/Max Motion:state:default]"}
Switch WB_Sensor1_Buzzer “Пищалка” (wb) {mqtt="<[wb:/devices/sensor1/controls/Buzzer:state:MAP(wb_relay_in.map)], >[wb:/devices/sensor1/controls/Buzzer/on:command::MAP(wb_relay_out.map)]"}
Switch WB_Sensor1_GreenLED “Зеленая лампочка” (wb) {mqtt="<[wb:/devices/sensor1/controls/Green LED:state:MAP(wb_relay_in.map)], >[wb:/devices/sensor1/controls/Green LED/on:command:
:MAP(wb_relay_out.map)]"}
Switch WB_Sensor1_RedLED “Красная лампочка” (wb) {mqtt="<[wb:/devices/sensor1/controls/Red LED:state:MAP(wb_relay_in.map)], >[wb:/devices/sensor1/controls/Red LED/on:command::MAP(wb_relay_out.map)]"}
Dimmer WB_Sensor1_LedDuration “Led длительность” (wb) {mqtt="<[wb:/devices/sensor1/controls/LED Glow Duration (ms):state:default], >[wb:/devices/sensor1/controls/LED Glow Duration (ms):command:
:default]"}
Dimmer WB_Sensor1_LedPeriod “Led период” (wb) {mqtt="<[wb:/devices/sensor1/controls/LED Period (s):state:default], >[wb:/devices/sensor1/controls/LED Period (s):command:*:default]"}

items.conf.txt (4,4 КБ)

У меня, в конфиге, используются transformations:

wb_relay_out.map
1=ON
0=OFF

wb_contact.map
1=Закрыто
0=Открыто

2 лайка

спасибо все получилось!!!
правда не без приключений

Доброго дня!

Господа единомышленники, помогите разобраться, не могу понять в чем дело, версия openHAB - 2.5, настроил MQTT Binding, значения датчиков и состояния реле отображаются корректно, а вот с отправкой команд на WB6 какая-то проблема:

при включении switch в openHAB переключается, в веб интерфейсе WB6 в Diveces тоже переключается, в Settings в колонке Value значение меняется, а до реле команда не доходит, то есть сам канал на реле (WB-MR3) не переключается.

не забыли добавить /on к топику в конце? Тут подробнее: https://wirenboard.com/wiki/index.php/MQTT

Да, действительно, не хватало /on!

Добавил, все заработало!

Спасибо!!!

1 лайк