openHAB

Господа, прошу помочь в связке 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 лайк