РЕКЛАМА НА ФОРУМХАУС Это я знаю. У меня в CodeSys сделан массив из 100 точек. Ибо зависимость не прямая. Т. е. если регулировать от 0-1000, то основные регулировки получаются в диапазоне от 850-1000. А 0-800 - слабо заметно глазу... Вот и сделал такой массив: Код: ARR_SQRT : ARRAY[0..100] OF INT := 0, 35, 49, 61, 70, 78, 86, 93, 99, 105, 111, 116, 121, 126, 131, 136, 140, 144, 148, 153, 157, 160, 164, 168, 171, 175, 210, 211, 213, 214, 216, 218, 220, 222, 224, 226, 229, 231, 234, 237, 240, 243, 247, 251, 254, 259, 263, 267, 272, 277, 282, 287, 293, 299, 305, 311, 318, 325, 332, 339, 347, 355, 363, 372, 381, 390, 399, 409, 419, 430, 441, 452, 463, 475, 488, 500, 513, 527, 540, 554, 569, 584, 599, 615, 631, 648, 665, 683, 701, 719, 738, 757, 777, 797, 818, 839, 861, 884, 906, 930, 1000; Если эти цифры затолкать в эксель и построить график - будет видно. Но все равно надо еще допилить под разные типы ламп. Например накаливания и галогенки - одно, светодиодные - другое, CFL - третье... Извращение, конечно.
Что-то не работает этот диммер... Зато работает конструкция из wiki по биндингу модбаса: Код: 4) read write byte register Number Dimmer1 "Dimmer1 [%d]" (ALL) {modbus="slave4:0"} and in sitemap Setpoint item=Dimmer1 minValue=0 maxValue=100 step=5 Правда странно - включаться включается, а выключаться не хочет - ниже 5 не опускается... И в консоль сыпется постоянно Код: 21:35:04.467 WARN o.o.u.i.i.ItemUIRegistryImpl[:439] - Cannot find page for id 'demo'. 21:35:04.474 WARN o.a.cpr.DefaultBroadcaster[:533] - This message Entry{message=Temperature2 (Type=NumberItem, State=22.75000000), multipleAtmoResources=null, future=org.atmosphere.cpr.BroadcasterFuture@71de61eb} will be lost
Поставьте Код: Setpoint item=Dimmer1 minValue=-5 maxValue=100 step=5 Ну и правило прибейте чтоб не мешалось это известная бага. на работу не влияет. исправят в 1.4
А в консоли видно как в Dimmer1 пишется 0? А если этот 0 записать не опенхабом, а внешним тулом типа ModbusPoll?
В консоли это выглядит примерно так: Код: 08:38:18.265 INFO runtime.busevents[:42] - Dimmer1 received command 0 08:38:23.218 INFO runtime.busevents[:46] - Dimmer1 state updated to 5 Руками пулом тоже не получается... Только энкодером...
Я бы в кодесисе посмотрел какие значения приходят из опенхаба и что с ними потом происходит (при физически отключенном энкодере)
Энкодер суть тупая железка с тремя микриками... Один вкл-выкл, и два лево-право. Он точно ни при чем... Создал просто еще один регистр в конфигурации контроллера, и с ним побаловался. Там все хорошо. Т. е. где-то в кодесисе у меня что-то не так... А что, не пойму. Буду думать...
Покурил мануалы и понял как это исправить. Электросчетчик подключен у меня к овеновскому МДВВ, в котором на каждом входе есть свой собственный счетчик импульсов. Поэтому, чтобы не бегать в МДВВ за каждым импульсом, опрашиваем МДВВ раз в минуту и вытаскиваем из счетчика нужного входа значение прошедших за эту минуту импульсов. Для этого создаем таймер Код: one_minute_timer : TP; Устанавливаем длительность таймера 1 минута и считаем количество импульсов. E_PULSE - это алиас адреса нужного счетчика, определен в конфигурации ПЛК. Единственное что нужно учесть - максимальное значение счетчика входа равно 65535, потом он переходит через 0. Поскольку 1600 импульсов = 1 квт*ч, используем коэффициент 37.5 для перевода импульсов/мин в среднюю потребляемую мощность за минуту Код: one_minute_timer(IN := TRUE, PT := T#1m); IF NOT one_minute_timer.Q THEN (* calc num pulses adjusting if counter overflows *) IF E_PULSE > e_pulse_prev THEN power_counter := E_PULSE - e_pulse_prev; ELSIF E_PULSE < e_pulse_prev THEN power_counter := 65535 - e_pulse_prev + E_PULSE; END_IF e_pulse_prev := E_PULSE; (* reset timer *) one_minute_timer(IN := FALSE); one_minute_timer(IN := TRUE); (* calc power data *) power_pulse_span := 37.5 * power_counter; END_IF
Доброе время суток! Vores8... пришёл мне мастер сети. Сеть всю переделал на один мастер (было 3) теперь все устройства в сети видны, (OWFS сразу запустился) добавил датчики температуры, еще 5 шт. (погреб. подсобное помещение. баня) короче паутина... Все датчики, очень просто вжились и данные температуры (комнаты. котел ...теплый пол и т. д) отражаются в OpenHUB. Тут все замечательно и просто. Дошло дело до подключения ключей (DS2408/13) и вот тут сразу возникли вопросы. У ключей (далее DS) есть статусы. Т. е. текущее состояние конкретного вывода и соответственно можно его менять. Как это сделано например вот здесь smartlivin. ru/Main/ScSensorLig я попробовал, работает прекрасно. Значит ключи от OWFS управляются. На Viki по данному вопросу касаемо OpenHUB вообще все поверхностно..типа есть и все. а подробностей хотя бы синтаксис команды для много выводного ключа нет. Если Вы уже проводили подобные подключения то не затруднит Вас, приложить либо синтаксис команды, либо ссылку, на какую либо информацию по этому вопросу. ds 2408 работают на ввод (опрос датчиков) ds 2413 только на вывод управление реле. С уважением и с Наступающими Вас новогодними праздниками!
А вы уверены, что есть? https://github.com/openhab/openhab/wiki/One-Wire-Binding В листе будущих хотелок написано: make one wire writeable for switch support (e.g. DS2408 1-Wire 8-Channel Addressable Switch) Вот еще линк Я так понял писать в них нельзя. ps. Сам выбираю систему управления домом, сеть 1-wire.
Я тоже сейчас занимаюсь 1-в, прикручиваю к нему радиоканал. Писать в принципе можно, нужно немного код подточить, постараюсь в праздники этим заняться
Всем доброго дня! Дома еще нет, но землю уже купил, присматриваю, что выбрать под будущий умный дом и что нужно учесть для него при строительстве. На днях наткнулся на OpenHAB, активно осваиваю. Пока подцепил только Arduino через SerialBinding, сейчас буду смотреть, как организовать в доме несколько точек куда сводить все провода для управления, которые уже буду цеплять к центральному узлу через Ethernet.
А я где-то сказал, что буду рулить только лампочками? Или OpenHAB рулит только лампочками? Поясните, что имеете в виду. PS: Удача пригодится, спасибо.