Использование MegaD в openHAB
Re: Использование MegaD в openHAB
хм, а как-то сменить очередность? Загрузить Items, а потом инициализировать Биндинг? или такого механизма нет?
Re: Использование MegaD в openHAB
Да вот нужно подумать как раз
Re: Использование MegaD в openHAB
Вроде бы решил проблему выключений, прошу опробовать!
https://github.com/Pshatsillo/openhab2M ... ag/2.0.4.3
UPD. Проверил на себе. Работает
https://github.com/Pshatsillo/openhab2M ... ag/2.0.4.3
UPD. Проверил на себе. Работает
Re: Использование MegaD в openHAB
Спасибо, подтверждаю РАБОТАЕТPetros писал(а): ↑08 фев 2019, 15:50Вроде бы решил проблему выключений, прошу опробовать!
https://github.com/Pshatsillo/openhab2M ... ag/2.0.4.3
UPD. Проверил на себе. Работает
-
- Сообщения: 190
- Зарегистрирован: 09 авг 2016, 15:09
- Откуда: Сочи
Re: Использование MegaD в openHAB
Пойдем далее - настройка I2C в Things, способ из нового биндинга MQTTv2, если так попробовать?
Как тут задать тип для "Temp Hum Press", в PaperUI выглядит так:
Код: Выделить всё
Thing device m8_p34 [hostname="192.168.53.188", port="34", password="sec", refresh="5"]{
Type number : Temp "Температура" [ transformationPattern="JS:megad_i2c_1.js" ]
Type number : Hum "Влажность" [ transformationPattern="JS:megad_i2c_2.js" ]
Type number : Press "Даление" [ transformationPattern="JS:megad_i2c_3.js" ]
}
Код: Выделить всё
megad_i2c_1.js
(function(msg){
//temp:22.60/press:766.68/hum:39.463
return msg.split("/")[0].split(":")[1];
})
(input)
- Вложения
-
- Скриншот 2019-02-11 11.13.00.png (15.71 КБ) 142 просмотра
Re: Использование MegaD в openHAB
Не понял вопроса, с js не знаком
Кстати, а кто-нибудь пользуется/перешел на на новую версию onewire?
Кстати, а кто-нибудь пользуется/перешел на на новую версию onewire?
-
- Сообщения: 190
- Зарегистрирован: 09 авг 2016, 15:09
- Откуда: Сочи
Re: Использование MegaD в openHAB
Помогите разобраться, тип канала i2c - String, соответственной так работает - показывает данные (темп, влаж, давл), но с полученными Item типа String не проделаешь математических операций, у кого как сделано?
Если меняю тип Item на Number - то у всех 3х Item появляются значения температуры.
Код: Выделить всё
Thing device m8_p34_bmx280_temp [hostname="192.168.53.188", port="34", password="sec", refresh="5", scl="35", i2c_dev="bmx280", i2c_par="1"]
Thing device m8_p34_bmx280_hum [hostname="192.168.53.188", port="34", password="sec", refresh="5", scl="35", i2c_dev="bmx280", i2c_par="2"]
Thing device m8_p34_bmx280_press [hostname="192.168.53.188", port="34", password="sec", refresh="5", scl="35", i2c_dev="bmx280"]
String m8p34_temp "m8p34 temp [%.1f °C]" { channel="megad:device:in:m8_p34_bmx280_temp:i2c" }
String m8p34_hum "m8p34 hum [%.1f %%]" { channel="megad:device:in:m8_p34_bmx280_hum:i2c" }
String m8p34_press "m8p34 press [%.1f ]" { channel="megad:device:in:m8_p34_bmx280_press:i2c"}
Re: Использование MegaD в openHAB
Код: Выделить всё
String m8p34_press_as_string "[%s]"
Number m8p34_press_Value "m8p34 press [%.1f ]"
var String pv = m8p34_press_as_string.state.toString()
m8p34_press_Value.postUpdate(pv.trim())
или
при мат. операциях использовать такую конструкцию
Код: Выделить всё
Float::parseFloat(String::format("%s",m8p34_press_as_string.state).trim())
-
- Сообщения: 190
- Зарегистрирован: 09 авг 2016, 15:09
- Откуда: Сочи
Re: Использование MegaD в openHAB
Тогда проще парсить целиком i2c строку, чем создавать Thing+Item на каждое значение.
Может просто добавить еще 3 канала в биндинг конкретно для bmx280 с типом Number, т.к. это дешевый и точный датчик?
или настройку добавить, чекбокс, "передавать bmx280 температуру и влажность в :temp и :humidity каналы"
Код: Выделить всё
Thing device m8_p34 [hostname="192.168.53.188", port="34", password="sec", refresh="5"]
String m8p34_i2c { channel="megad:device:in:m8_p34:i2c" }
Number m8p34_temp "m8p34 temp [%.1f °C]" <temperature>
Number m8p34_hum "m8p34 hum [%.1f %%]" <humidity>
Number m8p34_press "m8p34 press [%.1f ]" <pressure>
rule "m8p34_i2c"
when
Item m8p34_i2c received update
then
var String i2c0 = m8p34_i2c.state.toString.split("/").get(0).split(":").get(1)
var String i2c1 = m8p34_i2c.state.toString.split("/").get(1).split(":").get(1)
var String i2c2 = m8p34_i2c.state.toString.split("/").get(2).split(":").get(1)
m8p34_temp.postUpdate( i2c0)
m8p34_press.postUpdate( i2c1)
m8p34_hum.postUpdate( i2c2)
end
или настройку добавить, чекбокс, "передавать bmx280 температуру и влажность в :temp и :humidity каналы"
Re: Использование MegaD в openHAB
Нет. Думаю моя позиция по I2c давно обозначена.martiniman писал(а): ↑11 фев 2019, 20:27Может просто добавить еще 3 канала в биндинг конкретно для bmx280 с типом Number, т.к. это дешевый и точный датчик?
или настройку добавить, чекбокс, "передавать bmx280 температуру и влажность в :temp и :humidity каналы"
-
- Сообщения: 190
- Зарегистрирован: 09 авг 2016, 15:09
- Откуда: Сочи
Re: Использование MegaD в openHAB
Баг или нет: у itemа типа Dimmer в channel изменил порт с 13 на 12, сохранил, кручу диммер из PaperUI - на Меге срабатывают сразу 2 порта 12 и 13 (вместо одного 12го).
Сделал рестарт OH - всё ок. Получается после сохранения Items файла биндинг как-то неправильно инициализируется.
--
Прошу уважаемого Petros добавить каналы Click, DoubleClick и Hold для для соответсвующих режимов кнопок.
Сделал рестарт OH - всё ок. Получается после сохранения Items файла биндинг как-то неправильно инициализируется.
--
Прошу уважаемого Petros добавить каналы Click, DoubleClick и Hold для для соответсвующих режимов кнопок.