РЕКЛАМА НА ФОРУМХАУС Подскажите как заставить Openhab диммировать при движении слайдера, а не при отпускании? Через MQTT и сторонние интерфейсы это возможно вообще? Пока разбираюсь с CommandFusion, но что-то стал сомневаться вообще в возможности реализации онлайн диммирования при движении слайдеров.
Это вопрос к Openhab или Commandfusion? Если к OH, то надо гуглить sitemaps и там slider - там вроде есть какая-то опция для этого. Если к Commandfusion - то там для слайдера настраивается команда на любое действие - нажатие, сдвиг, отпускание и т. д. Там точно можно.
Вопрос был и к Openhab и к Commandfusion. Тем временем разобрался и реализовал через Commandfusion, работает, но передается только 4 запроса в секунду, т. е. запрос идет каждые 250мс. Хотелось бы хотя бы каждые 100мс, а в идеале 25мс. Как я понял это уже ограничение CommandFusion, но настроек нигде не нашел. Может подскажете? Также непонятно как расширить Dimmer Item, чтобы он передавал не 0..100, а 0..255. П. С. большое спасибо за скрипт для CommandFusion, очень помог. Интерфейс openhab крайне тормозной и лагающий, поэтому приходится выкручиваться.
Связка через обычный DMX USB, в Items выглядит так: "Dimmer r_spot "r_spot [%d]" {dmx="CHANNEL[1]"}" Но даже без передачи значения по DMX вижу что через MQTT сообщения идут от Commandfusion с частотой 4 раза в секунду, вот так выглядит лог Openhab:
Подскажите, что не так, не могу авторизоваться в myopenhab, вот лог Код: 2016-12-29 00:26:23.828 [WARN ] [etty.osgi.boot.OSGiAppProvider] - Disable autoInstallOSGiBundles as the contexts folder 'C:\openhab\contexts does not exist. 2016-12-29 00:26:40.359 [ERROR] [.myopenhab.internal.MyOHClient] - Socket.IO error: not authorized 2016-12-29 00:26:45.734 [ERROR] [m.r.internal.engine.RuleEngine] - Error during the execution of startup rule 'Initialize light states': Could not invoke method: org.openhab.model.script.actions.BusEvent.postUpdate(org.openhab.core.items.Item,java.lang.Number) on instance: null 2016-12-29 00:26:45.843 [ERROR] [m.r.internal.engine.RuleEngine] - Error during the execution of startup rule 'Initialize heating states': Could not invoke method: org.openhab.model.script.actions.BusEvent.postUpdate(org.openhab.core.items.Item,java.lang.Number) on instance: null 2016-12-29 00:26:46.062 [ERROR] [m.r.internal.engine.RuleEngine] - Error during the execution of startup rule 'Initialize contact states': Could not invoke method: org.openhab.model.script.actions.BusEvent.postUpdate(org.openhab.core.items.Item,java.lang.Number) on instance: null 2016-12-29 00:26:46.359 [ERROR] [m.r.internal.engine.RuleEngine] - Error during the execution of startup rule 'Обновление максимальной и минимальной температуры': cannot invoke method public abstract org.openhab.core.types.State org.openhab.core.persistence.HistoricItem.getState() on null 2016-12-29 00:26:46.359 [WARN ] [.httpclient.HttpMethodDirector] - Unable to respond to any of these challenges: {oauth=OAuth oauth_problem="OST_OAUTH_PARAMETER_ABSENT_ERROR", realm="yahooapis.com"} 2016-12-29 00:26:46.359 [WARN ] [g.openhab.io.net.http.HttpUtil] - Method failed: HTTP/1.1 401 Unauthorized 2016-12-29 00:26:48.156 [WARN ] [.httpclient.HttpMethodDirector] - Unable to respond to any of these challenges: {oauth=OAuth oauth_problem="OST_OAUTH_PARAMETER_ABSENT_ERROR", realm="yahooapis.com"} 2016-12-29 00:26:48.156 [WARN ] [g.openhab.io.net.http.HttpUtil] - Method failed: HTTP/1.1 401 Unauthorized 2016-12-29 00:27:48.031 [WARN ] [.httpclient.HttpMethodDirector] - Unable to respond to any of these challenges: {oauth=OAuth oauth_problem="OST_OAUTH_PARAMETER_ABSENT_ERROR", realm="yahooapis.com"} 2016-12-29 00:27:48.031 [WARN ] [g.openhab.io.net.http.HttpUtil] - Method failed: HTTP/1.1 401 Unauthorized 2016-12-29 00:27:51.250 [WARN ] [.httpclient.HttpMethodDirector] - Unable to respond to any of these challenges: {oauth=OAuth oauth_problem="OST_OAUTH_PARAMETER_ABSENT_ERROR", realm="yahooapis.com"} 2016-12-29 00:27:51.250 [WARN ] [g.openhab.io.net.http.HttpUtil] - Method failed: HTTP/1.1 401 Unauthorized 2016-12-29 00:28:48.593 [WARN ] [.httpclient.HttpMethodDirector] - Unable to respond to any of these challenges: {oauth=OAuth oauth_problem="OST_OAUTH_PARAMETER_ABSENT_ERROR", realm="yahooapis.com"} 2016-12-29 00:28:48.593 [WARN ] [g.openhab.io.net.http.HttpUtil] - Method failed: HTTP/1.1 401 Unauthorized 2016-12-29 00:28:56.765 [ERROR] [g.openhab.io.net.http.HttpUtil] - Fatal transport error: java.net.SocketTimeoutException: Read timed out
SOS! установил oh2 на Synology все работает кроме сохранения в базу, причем тот же код на виндузовой машинке сохраняет и показывает графики а на линуксе нифига! в чем может быть причина?
Помогите решить проблему. В принципе похожая в этой ветке уже озвучивалась @Felix3000, Я бы у него уточнил пути решения, но он судя по профилю тут уже давно не появляется. По этому спрошу у тех кто остался ПЛК СХ9000 В Openhub cfg записано следующее modbus: tcp. slave1.connection=169.254.148.197 modbus: tcp. slave1.id=1 modbus: tcp. slave1.start=0 modbus: tcp. slave1.length=4 modbus: tcp. slave1.type=discrete modbus: tcp. slave2.connection=169.254.148.197 modbus: tcp. slave2.id=1 modbus: tcp. slave2.start=16 modbus: tcp. slave2.length=4 modbus: tcp. slave2.type=coil В sitemaps Frame { Group item=FF_Modbus icon="attic" } Frame { Text item= MB_DT0 Text item= MB_DT1 Text item= MB_DT2 Text item= MB_BTN Switch item= MB_CL16 Switch item= MB_CL17 Switch item= MB_CL18 Switch item= MB_LED } В items Group FF_Modbus "Modbus" (All) Contact MB_DT0 "DT0 [MAP (en.map):%s]" (FF_Modbus){modbus="slave1:0"} Contact MB_DT1 "DT1 [MAP (en.map):%s]" (FF_Modbus){modbus="slave1:1"} Contact MB_DT2 "DT2 [MAP (en.map):%s]" (FF_Modbus){modbus="slave1:2"} Contact MB_BTN "BTN [MAP (en.map):%s]" (FF_Modbus){modbus="slave1:3"} Switch MB_CL16 "CL16" (FF_Modbus){modbus="slave2:0"} Switch MB_CL17 "CL17" (FF_Modbus){modbus="slave2:1"} Switch MB_CL18 "CL18" (FF_Modbus){modbus="slave2:2"} Switch MB_LED "LED" (FF_Modbus){modbus="slave2:3"} Проблема в том что при включении Switch MB_CL16, за одно срабатывает и Contact MB_DT0... и Switch не как не хотят переключаться из ОН... Никак не могу понять как связать переменные из программы ПЛК и те что отображает ОН. Помогите нубу
Вы обращаетесь к одному и тому же порту. В Вашем случае salave1 это то же самое что и slave2 Укажите в настройках ПЛК разные порты и в описании OH.
Если не затруднит то можно пример? Как в ПЛК изменить порты для модулей? Весь system manager прошерстил, нигде не нашел возможности изменить порт. Есть адресация модулей и входов\выходов (62.0 - 62.1...12.0-12.2 и. т. д.), есть id модулей... пробовал менять...не работает. Или где-то в PLC control это всё нужно прописывать?
Вы создали slave на ПЛК. Подключили его к TCP. В настройках TCP для каждого слейва есть параметр - порт. Вот его и сделайте разным для разных слейвов Дома с компа сделаю скриншот
openhab. cfg Код: ############################### Modbus Binding ######################################## # # sets refresh interval to Modbus polling service. # Value in milliseconds (optional, defaults to 200) #modbus:poll=1000 # host (mandatory) #modbus:tcp.slave1.connection=192.168.0.10:502 # The data type, can be "coil" "discrete" "holding" "input" #modbus:tcp.slave1.type=input # the TCP port (optional, defaults to '502') #modbus:tcp.slave1.port=502 # The slave id (optional, defaults to '1') #modbus:tcp.slave1.id=1 # The slave start address (optional, defaults to '0') #modbus:tcp.slave1.start=0 # The number of data item to read # (optional, defaults to '0' - but set it to something meaningful) #modbus:tcp.slave1.length=2 modbus:poll=2000 # Bool modbus:tcp.slave1.connection=192.168.0.10:502 modbus:tcp.slave1.id=1 modbus:tcp.slave1.start=0 modbus:tcp.slave1.length=512 modbus:tcp.slave1.type=coil # Float modbus:tcp.slave2.connection=192.168.0.10:504 modbus:tcp.slave2.id=1 modbus:tcp.slave2.start=0 modbus:tcp.slave2.length=16 modbus:tcp.slave2.type=input #modbus:tcp.slave2.valuetype=float32 # word modbus:tcp.slave3.connection=192.168.0.10:506 modbus:tcp.slave3.id=1 modbus:tcp.slave3.start=0 modbus:tcp.slave3.length=4 modbus:tcp.slave3.type=holding
Настраиваю сейчас у себя OH2/RPi, есть модули на MODBUS RTU. Может кто слышал где о такой проблеме или догадывается что я делаю не так - modbus стучится в unit id, который был удалён из конфига. То есть я добавил serial. slave3 в /etc/openhab2/services/modbus.cfg, потом убрал его из конфига вообще, а binding продолжает долбиться в это устройство. Что только уже не делал. И restart OH2, и reboot малины и даже питание выключал, всё равно берет из каких-та закромов этот slave3 и долбится в него. Думал может если добавить slave12 и убрать, то поможет. Теперь еще и в slave12 долбится
Чтобы не потерялось - сюда и запишу причину пойманного глюка и решение: Причина - кривое кэширование настроек всех binding'ов в Karaf в текущей версии OpenHAB 2. Решение - в консоли Karaf набрать "config:delete org. openhab. modbus", после чего немного поменять "modbus.cfg"