04.03.2013 в 21:40:21
Надо каждому повесить Rfid метку и определять двумя датчиками на входе выходе, датчики ик в каждом помещении вот и дополнение если кто не персонифицированных гостей привёл, а сам отлучился в магазин.
05.03.2013 в 10:02:33
Romskiy написал : Задвижка открываемая снаружи -это замок. И тогда по ней точно не определишь присутствие людей в доме.
Вы не поняли. Есть отдельно сувальдный замок. Именно он и никто другой определяет есть дома люди или нет. Герконы на двух задвижках я изначально не хотел ставить. Но потом понял что есть лишние жилы в витой паре и мне их не жалко. Заодно можно понять что дверь совсем не заперта. Ситуаций когда человек уходит из дома и закрывает ключом только одну задвижку (вторую нельзя снаружи закрыть или открыть) возможна, но очень редко мною используется и только если надо выйти в тапках до 1го этажа.
05.03.2013 в 10:29:29
Medtech написал : Надо каждому повесить Rfid метку и определять двумя датчиками на входе выходе
Повесить куда? На одежду? Под кожу? На ключи? Я так иногда их не беру если с женой уходим. Некоторые, кстати, определяют наличие или отсутствие блютуса с определенным MAC. Но это тоже все геммор. Хотя, возможно, для больших инсталляций неплохо, но тоже ряд минусов.
05.03.2013 в 12:28:08
05.03.2013 в 12:49:07
BOE, оборудование едет. Завтра должно у меня появиться. В выходные может быть попробую
05.03.2013 в 15:40:35
Понятно. Показалось значит, что вы пишите как будто уже все у вас в руках. Зачем везти, если большинство из перечисленного есть в москве?
05.03.2013 в 16:09:52
BOE, потому что можно купить дешевле
24.03.2013 в 23:48:42
Некоторое время назад я имел тяжбу с управляющей компанией на предмет низкой температуры ГВС. Тяжба увенчалась успехом. Но осадочек-то остался. А так как мы помним что на универсальный сенсор фибаро можно повесить до 4 датчиков температуры, то и сделаем это. На данный момент работы выполнены не до конца, но температуру уже меряем. В качестве термометров закупаем DS18B20+ (без плюса тоже можно, но не нужно). Измерять температуру ХВС нам особо не надо, но при цене датчика в 40р почему бы и нет? Датчики распаяны на витую пару. С другой стороны установлены разъемы 8P8C (на стене есть розетка о 2 портах куда они и подключаются).
Сами датчики обмазываются термопастой и притягиваются стальными хомутами к соответствующим трубам.
И мы имеем показания температуры на стояках водоснабжения :) Ну и заодно прикручиваем к контроллеру плагин с целью просмотра ретроспективы. Продолжение следует
25.03.2013 в 19:27:34
а не должен быть весь объем датчика погружен в среду, температура которой измеряется? так он может показывать среднее между температурой трубы и температурой окружающего воздуха.
25.03.2013 в 22:25:56
Бамбр, должен, но вы думаете есть серьезная разница в значениях?
25.03.2013 в 23:29:40
MaKon, ну, если он меряет какую-то среднюю температуру, то разница должна быть. величина этой средней температуры зависит, наверное, от соотношения площадей контакта тела датчика с трубой и с воздухом.
26.03.2013 в 16:34:32
Бамбр написал : ну, если он меряет какую-то среднюю температуру, то разница должна быть.
Конечно разница есть. Но несущественная, Ибо датчик обмазан термопастой, плотно притянут к трубе стальным хомутом (который также подогревает обратную сторону датчика) и все это закутано в теплоизоляцию. Так что разница незначительна
28.03.2013 в 20:36:34
ну когда же продолжение будет...
29.03.2013 в 13:29:10
едет дополнительное оборудование. К сожалению, очень часто обновлять тему не могу. Но постараюсь. Может быть в выходной еще напишу
11.04.2013 в 13:31:11
Оборудование приехало. Тпереь у меня есть (в разных количествах): 1) Универсальный бинарный датчик 2) Датчик движения/освещенности/влажности/температуры в одном 3) Встраиваемый диммер Fibaro 4) Диммер ZME 5) Брелок ZME 6) Встраиваемое 2*1,5 кВт реле Fibaro 7) Выключатель нагрузки с датчиком энергопотребления Aeon Labs 8) Настенный контроллер на батарейках ZME
Скажу сразу, что если у вас цель сделать автоматизацию своего дома с относительно сложными сценами, то вам придется разбираться с программированием на Lua-Luup. На самом деле там ничего сложного. Изучать я только начал, так что больно не пинать :) Как я уже писал, у меня была задача перекрывать водоснабжение в квартире при уходе людей. На первый взгляд все очень просто. Если люди ушли - воду перекрыть. Если пришли - открыть. Но иногда, вопреки совету производителя, мы можем оставить включенными стиральную/посудомоечную машину и уйти из дома. И вот тогда воду перекрывать не стОит. Вот как решил задачу я. К стиральной машине подключен выключатель с датчиком энергопотребления. На основании данных с этого датчика, удалось выяснить что если машина закончила стирку, то ее потребление находится в районе 3-4 Ватт. Стабильно. В процессе стирки значение потребления постоянно меняется и оно, естественно, выше.
UPDATE! В данный момент концепция меняется, всвязи с недостатками описанного ниже метода. Далее можно не читать :) продолжение в отдельном посте Начнем с простого. Хозяева уходят из дома. Если машина выключена (потребление 0) - перекрыть воду. Тут надо сказать, что выбранный мной выключатель/датчик нельзя по-простому использовать в сцене, ибо там можно настроить срабатывание только на изменение состояния (вкл/выкл) встроенного реле. Поэтому пришлось писать недостающее на luup. 1) Создаем сцену в которой при срабатывании датчика ухода хозяев из дома перекрывается вода. 2) Но сделать сразу мы это можем только если стиральная машина выключена. Поэтому дописываем в триггер код:
*local ConsumptionDetectorSID = "urn:micasaverde-com:serviceId:EnergyMetering1" -- SID датчика потребления энергии local ConsumptionDetectorID = 18 -- ID of VirtualSwitch -- ID датчика потребления энергии
local Consumption = luup.variable_get(ConsumptionDetectorSID, "Watts", ConsumptionDetectorID) -- получаем в переменную текущее значение потребления энергии
Consumption = tonumber(Consumption) --преобразовываем строковое значение в числовое для последующей возможности сравнить
if (Consumption==0) then -- если полученное значение равно 0 (машина выключена) return true -- запускаем сцену end
return false -- а иначе не запускаем*
на этом текущая подзадача выполнена.
Далее нас ждут танцы с бубном. Этот несчастный датчик потребления энергии не умеет хранить внутри себя дату-время последнего изменения показаний. Поэтому я установил плагин Combination Switch. По своей сути это триггер. Любо включен, либо выключен. Условия при которых он меняет свое состояние настраиваются внутри. У меня сделано так чтобы при потреблении от 5 до 9999 ватт он был включен. В противном случае - выключен. То есть в нашей ситуации он говорит нам в первом случае что в данный момент происходит стирка. Во втором случае он говорит нам что потребление низкое, сравнимое с послестирочным значением. В моем случае если это значение больше 10 минут - можно смело выключать машину. Стирка точно окончена. Задача номер два. Надо понять, когда последний раз машина меняла свое состояние (с высокого на низкое и наоборот). Для этого использованы 2 триггера в новой сцене. В одном мы реагируем на включение Combination Switch (высокое потребление). В другом мы реагируем на выключение Combination Switch (низкое потребление). В самом Combination Switch создаем дополнительную переменную вида LastTrip. И в первом триггере добавляем код:
*local VirtualSwitchSID = "urn:micasaverde-com:serviceId:SecuritySensor1" -- SID Combination Switch local VirtualSwitchID = 35 -- ID Combination Switch
local TripTime = os.time() -- Получаем тукущее системное время
luup.variable_set(VirtualSwitchSID, "LastTrip", TripTime, VirtualSwitchID) -- И записываем его в переменную LastTrip
return true*
Для второго триггера полностью аналогично.
Теперь если стиральная машина переходит из высокого потребления в низкое и обратно - мы знаем когда это произошло.
Ну и финальный рывок. Если 10 минут потребление не менялось и было низким - запустить сцену перекрытия воды. Для этого в первой сцене (где мы перекрывали воду если машина выключена) добавляем новый триггер и настраиваем его на срабатывание если Combination Switch выключен (низкое потребление). И добавляем код Luup:
*local SleepTestPeriod = 10 -- Время ожидания в минутах. Если низкое потребление будет все это время - можно перекрывать воду local MaxSleepDetectorSID = "urn:micasaverde-com:serviceId:SecuritySensor1" -- SID Combination Switch local MaxSleepDetectorID = 35 -- ID Combination Switch local DoorSensorSID = "urn:micasaverde-com:serviceId:SecuritySensor1" -- SID датчика отсутствия людей. Нужно иметь ввиду что у меня он принимает значение 1 если люди есть и 0 если нет local DoorSensorID = 12 -- ID of DoorSensor -- ID датчика отсутствия людей
function checkLastTrip() -- функция проверки условий
local LastTrip = luup.variable_get(MaxSleepDetectorSID, "LastTrip", MaxSleepDetectorID) -- получаем дату-время последнего изменения потрребления энергии (настраивали на 2м шаге) local DoorStatus = luup.variable_get(DoorSensorSID, "Tripped", DoorSensorID) -- получаем состояние присутствия/отсутствия людей
if (DoorStatus == "1") then -- Если во время выполнения сцены пришли люди - прекратить выполнение сцены return false end
LastTrip = tonumber(LastTrip) -- преобразуем в цифровой вид (из текстового) время последнего изменения потребления
if ((os.difftime(os.time(), LastTrip) / 60) >= SleepTestPeriod) then --Если потребление не менялось уже SleepTestPeriod время, то запустить сцену перекрытия водоснабжения return true else
luup.call_delay ("checkLastTrip", 60) -- Иначе повторить проверку через 1 минуту end
end
return false*
Ходовые испытания последнего скрипта продолжаются :)
Ну а теперь надо создать простую сцену открытия шаровых кранов если люди пришли домой. В новой сцене создаем триггер, срабатывающий при появлении людей. И даже кода добавлять не надо. Признаю что решение, возможно, не оптимальное, но я только учусь.
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий.
Присоединяйтесь к самому крупному DIY сообществу