Блог компаниии Z-Waver

Применение Z-Wave на практике. Сделаем Z-Wave понятным!
7 minutes reading time (1376 words)

Система автополива на базе Fibaro Home Center и Ethernet-реле RODOS-18DIN

Irrigation
Роман реализовал систему автополива у себя на участке на базе Ethernet-реле RODOS-18DIN и поделился своими наработками.

Исходные данные 

1. У меня 12 зон автополива (капельный и обычный)

2. Насос и подводка находятся в Хозблоке, где интернет не работает, а сеть Z-wave нужно делать через повторители сигнала.

3. В хозблоке есть сеть 220В

Для организации 12 зон автополива понадобилось бы 6 штук реле Fibaro (около 40000,00 руб) + повторитель или что-нибудь в этом роде.

Роман

Т.к. панель автополива в Fibaro доступна только Web-интерфейсе, то смысла в ней нет. Все равно в наших краях автополивом пользуешься в полуавтоматизированном режиме и функционал каждому нужен свой. 

Что нужно:

1. Ethernet-реле RODOS-18DIN - 10000 руб.

2. Трансформатор с выходным напряжением AC: 24-30 В (бесплатно - нашел от зарядника).

3. Адаптеры PoE для обеспечения Ethernet связи по сети 220 В (2 шт) (1000-2000 руб.)

4. Ну и конечно же Fibaro Home Center (например). Создаем VD и пишем сценарии работы.

5. Да, ну и Алису прикручиваем.

Схему прилагаю. 

Электрическая схема автополива

Дополнительно реализовано: 

1. Датчик протечки воды.

2. Открытие/закрытие шарового крана с электроприводом - для перекрытия воды в случае протечки.

3. Включение/Отключение компрессора. - это необходимо в случае, если сплинкер выйдет из строя, или в случае протечек в линии, то компрессор будет постоянно и периодически молотить.

4. Мониторинг работы компрессора. Через розетку Fibaro контролируется мощность потребления электроэнергии компрессором. Если потребление выше допустимого в течение 30 сек, а команды на полив не было (знач. глоб. переменной), то делается вывод об аварийной ситуации - PUSH увед. и отключение компрессора.

Внешний вид VD: 

Внешний вид Виртуального устройства

Коды кнопок:

Полив черники

fibaro:setGlobal("Sprinkler", "1");
fibaro:call(1478, "setProperty", "ui.Label1.value", "1")
fibaro:call(1478, "setProperty", "ui.Label2.value", "")
 
HTTP = Net.FHttp("192.168.1.20",80)
HTTP:setBasicAuthentication("admin", "admin") 
response, status, errorCode = HTTP:GET("/protect/rb1f.cgi")
 
HTTP = Net.FHttp("192.168.1.20",80)
HTTP:setBasicAuthentication("admin", "admin") 
response, status, errorCode = HTTP:GET("/protect/rb2f.cgi")
 
HTTP = Net.FHttp("192.168.1.20",80)
HTTP:setBasicAuthentication("admin", "admin") 
response, status, errorCode = HTTP:GET("/protect/rb3f.cgi")
 
HTTP = Net.FHttp("192.168.1.20",80)
HTTP:setBasicAuthentication("admin", "admin") 
response, status, errorCode = HTTP:GET("/protect/rb4f.cgi")
 
HTTP = Net.FHttp("192.168.1.20",80)
HTTP:setBasicAuthentication("admin", "admin") 
response, status, errorCode = HTTP:GET("/protect/rb5f.cgi")
 
HTTP = Net.FHttp("192.168.1.20",80)
HTTP:setBasicAuthentication("admin", "admin") 
response, status, errorCode = HTTP:GET("/protect/rb6f.cgi")
 
HTTP = Net.FHttp("192.168.1.20",80)
HTTP:setBasicAuthentication("admin", "admin") 
response, status, errorCode = HTTP:GET("/protect/rb7f.cgi")
 
HTTP = Net.FHttp("192.168.1.20",80)
HTTP:setBasicAuthentication("admin", "admin") 
response, status, errorCode = HTTP:GET("/protect/rb8f.cgi")
 
HTTP = Net.FHttp("192.168.1.20",80)
HTTP:setBasicAuthentication("admin", "admin") 
response, status, errorCode = HTTP:GET("/protect/rb9f.cgi")
 
HTTP = Net.FHttp("192.168.1.20",80)
HTTP:setBasicAuthentication("admin", "admin") 
response, status, errorCode = HTTP:GET("/protect/rb10f.cgi")
 
HTTP = Net.FHttp("192.168.1.20",80)
HTTP:setBasicAuthentication("admin", "admin") 
response, status, errorCode = HTTP:GET("/protect/rb11f.cgi")
 
HTTP = Net.FHttp("192.168.1.20",80)
HTTP:setBasicAuthentication("admin", "admin") 
response, status, errorCode = HTTP:GET("/protect/rb0n.cgi")
 
fibaro:sleep(60*1000*tonumber(fibaro:getGlobalValue("SprinklerDalay")))
 
HTTP = Net.FHttp("192.168.1.20",80)
HTTP:setBasicAuthentication("admin", "admin") 
response, status, errorCode = HTTP:GET("/protect/rb0f.cgi")
 
fibaro:debug(errorCode)
if errorCode == 0
then
fibaro:log("Выполнена команда")
else
fibaro:log("Ошибка")
end 

Enter your text here ...

fibaro:setGlobal("Sprinkler", "1");
fibaro:call(1478, "setProperty", "ui.Label1.value", "2")
fibaro:call(1478, "setProperty", "ui.Label2.value", "")
 
HTTP = Net.FHttp("192.168.1.20",80)
HTTP:setBasicAuthentication("admin", "admin") 
response, status, errorCode = HTTP:GET("/protect/rb0f.cgi")
 
HTTP = Net.FHttp("192.168.1.20",80)
HTTP:setBasicAuthentication("admin", "admin") 
response, status, errorCode = HTTP:GET("/protect/rb2f.cgi")
 
HTTP = Net.FHttp("192.168.1.20",80)
HTTP:setBasicAuthentication("admin", "admin") 
response, status, errorCode = HTTP:GET("/protect/rb3f.cgi")
 
HTTP = Net.FHttp("192.168.1.20",80)
HTTP:setBasicAuthentication("admin", "admin") 
response, status, errorCode = HTTP:GET("/protect/rb4f.cgi")
 
HTTP = Net.FHttp("192.168.1.20",80)
HTTP:setBasicAuthentication("admin", "admin") 
response, status, errorCode = HTTP:GET("/protect/rb5f.cgi")
 
HTTP = Net.FHttp("192.168.1.20",80)
HTTP:setBasicAuthentication("admin", "admin") 
response, status, errorCode = HTTP:GET("/protect/rb6f.cgi")
 
HTTP = Net.FHttp("192.168.1.20",80)
HTTP:setBasicAuthentication("admin", "admin") 
response, status, errorCode = HTTP:GET("/protect/rb7f.cgi")
 
HTTP = Net.FHttp("192.168.1.20",80)
HTTP:setBasicAuthentication("admin", "admin") 
response, status, errorCode = HTTP:GET("/protect/rb8f.cgi")
 
HTTP = Net.FHttp("192.168.1.20",80)
HTTP:setBasicAuthentication("admin", "admin") 
response, status, errorCode = HTTP:GET("/protect/rb9f.cgi")
 
HTTP = Net.FHttp("192.168.1.20",80)
HTTP:setBasicAuthentication("admin", "admin") 
response, status, errorCode = HTTP:GET("/protect/rb10f.cgi")
 
HTTP = Net.FHttp("192.168.1.20",80)
HTTP:setBasicAuthentication("admin", "admin") 
response, status, errorCode = HTTP:GET("/protect/rb11f.cgi")
 
HTTP = Net.FHttp("192.168.1.20",80)
HTTP:setBasicAuthentication("admin", "admin") 
response, status, errorCode = HTTP:GET("/protect/rb1n.cgi")
 
fibaro:sleep(60*1000*tonumber(fibaro:getGlobalValue("SprinklerDalay")))
 
HTTP = Net.FHttp("192.168.1.20",80)
HTTP:setBasicAuthentication("admin", "admin") 
response, status, errorCode = HTTP:GET("/protect/rb1f.cgi")
 
fibaro:debug(errorCode)
if errorCode == 0
then
fibaro:log("Выполнена команда")
else
fibaro:log("Ошибка")
end 

Enter your text here ...

fibaro:setGlobal("Sprinkler", "1");
fibaro:call(1478, "setProperty", "ui.Label1.value", "1")
fibaro:call(1478, "setProperty", "ui.Label2.value", "")
 
HTTP = Net.FHttp("192.168.1.20",80)
HTTP:setBasicAuthentication("admin", "admin") 
response, status, errorCode = HTTP:GET("/protect/rb1f.cgi")
 
HTTP = Net.FHttp("192.168.1.20",80)
HTTP:setBasicAuthentication("admin", "admin") 
response, status, errorCode = HTTP:GET("/protect/rb2f.cgi")
 
HTTP = Net.FHttp("192.168.1.20",80)
HTTP:setBasicAuthentication("admin", "admin") 
response, status, errorCode = HTTP:GET("/protect/rb3f.cgi")
 
HTTP = Net.FHttp("192.168.1.20",80)
HTTP:setBasicAuthentication("admin", "admin") 
response, status, errorCode = HTTP:GET("/protect/rb4f.cgi")
 
HTTP = Net.FHttp("192.168.1.20",80)
HTTP:setBasicAuthentication("admin", "admin") 
response, status, errorCode = HTTP:GET("/protect/rb5f.cgi")
 
HTTP = Net.FHttp("192.168.1.20",80)
HTTP:setBasicAuthentication("admin", "admin") 
response, status, errorCode = HTTP:GET("/protect/rb6f.cgi")
 
HTTP = Net.FHttp("192.168.1.20",80)
HTTP:setBasicAuthentication("admin", "admin") 
response, status, errorCode = HTTP:GET("/protect/rb7f.cgi")
 
HTTP = Net.FHttp("192.168.1.20",80)
HTTP:setBasicAuthentication("admin", "admin") 
response, status, errorCode = HTTP:GET("/protect/rb8f.cgi")
 
HTTP = Net.FHttp("192.168.1.20",80)
HTTP:setBasicAuthentication("admin", "admin") 
response, status, errorCode = HTTP:GET("/protect/rb9f.cgi")
 
HTTP = Net.FHttp("192.168.1.20",80)
HTTP:setBasicAuthentication("admin", "admin") 
response, status, errorCode = HTTP:GET("/protect/rb10f.cgi")
 
HTTP = Net.FHttp("192.168.1.20",80)
HTTP:setBasicAuthentication("admin", "admin") 
response, status, errorCode = HTTP:GET("/protect/rb11f.cgi")
 
HTTP = Net.FHttp("192.168.1.20",80)
HTTP:setBasicAuthentication("admin", "admin") 
response, status, errorCode = HTTP:GET("/protect/rb0n.cgi")
 
fibaro:sleep(60*1000*tonumber(fibaro:getGlobalValue("SprinklerDalay")))
 
HTTP = Net.FHttp("192.168.1.20",80)
HTTP:setBasicAuthentication("admin", "admin") 
response, status, errorCode = HTTP:GET("/protect/rb0f.cgi")
 
fibaro:debug(errorCode)
if errorCode == 0
then
fibaro:log("Выполнена команда")
else
fibaro:log("Ошибка")
end 

Enter your text here ...

fibaro:setGlobal("Sprinkler", "0");
fibaro:killScenes(84)
fibaro:call(1478, "setProperty", "ui.Label3.value", "Off")
fibaro:call(1478, "setProperty", "ui.Label1.value", "")
fibaro:call(1478, "setProperty", "ui.Label2.value", "")
 
HTTP = Net.FHttp("192.168.1.20",80)
HTTP:setBasicAuthentication("admin", "admin") 
response, status, errorCode = HTTP:GET("/protect/rb0f.cgi")
 
HTTP = Net.FHttp("192.168.1.20",80)
HTTP:setBasicAuthentication("admin", "admin") 
response, status, errorCode = HTTP:GET("/protect/rb1f.cgi")
 
HTTP = Net.FHttp("192.168.1.20",80)
HTTP:setBasicAuthentication("admin", "admin") 
response, status, errorCode = HTTP:GET("/protect/rb2f.cgi")
 
HTTP = Net.FHttp("192.168.1.20",80)
HTTP:setBasicAuthentication("admin", "admin") 
response, status, errorCode = HTTP:GET("/protect/rb3f.cgi")
 
HTTP = Net.FHttp("192.168.1.20",80)
HTTP:setBasicAuthentication("admin", "admin") 
response, status, errorCode = HTTP:GET("/protect/rb4f.cgi")
 
HTTP = Net.FHttp("192.168.1.20",80)
HTTP:setBasicAuthentication("admin", "admin") 
response, status, errorCode = HTTP:GET("/protect/rb5f.cgi")
 
HTTP = Net.FHttp("192.168.1.20",80)
HTTP:setBasicAuthentication("admin", "admin") 
response, status, errorCode = HTTP:GET("/protect/rb6f.cgi")
 
HTTP = Net.FHttp("192.168.1.20",80)
HTTP:setBasicAuthentication("admin", "admin") 
response, status, errorCode = HTTP:GET("/protect/rb7f.cgi")
 
HTTP = Net.FHttp("192.168.1.20",80)
HTTP:setBasicAuthentication("admin", "admin") 
response, status, errorCode = HTTP:GET("/protect/rb8f.cgi")
 
HTTP = Net.FHttp("192.168.1.20",80)
HTTP:setBasicAuthentication("admin", "admin") 
response, status, errorCode = HTTP:GET("/protect/rb9f.cgi")
 
HTTP = Net.FHttp("192.168.1.20",80)
HTTP:setBasicAuthentication("admin", "admin") 
response, status, errorCode = HTTP:GET("/protect/rb10f.cgi")
 
HTTP = Net.FHttp("192.168.1.20",80)
HTTP:setBasicAuthentication("admin", "admin") 
response, status, errorCode = HTTP:GET("/protect/rb11f.cgi")
 
 
fibaro:debug(errorCode)
if errorCode == 0
then
fibaro:log("Выполнена команда")
else
fibaro:log("Ошибка")
end 

Enter your text here ...

fibaro:startScene(84)
fibaro:call(1478, "setProperty", "ui.Label3.value", "Auto")
 
Кнопка Manual
fibaro:setGlobal("Sprinkler", "1")
HTTP = Net.FHttp("192.168.1.20",80)
HTTP:setBasicAuthentication("admin", "admin") 
response, status, errorCode = HTTP:GET("/protect/rb0n.cgi")
 
fibaro:sleep(60*1000*tonumber(fibaro:getGlobalValue("SprinklerDalay")))
 
HTTP = Net.FHttp("192.168.1.20",80)
HTTP:setBasicAuthentication("admin", "admin") 
response, status, errorCode = HTTP:GET("/protect/rb0f.cgi")
 
HTTP = Net.FHttp("192.168.1.20",80)
HTTP:setBasicAuthentication("admin", "admin") 
response, status, errorCode = HTTP:GET("/protect/rb1n.cgi")
 
fibaro:sleep(60*1000*tonumber(fibaro:getGlobalValue("SprinklerDalay")))
 
HTTP = Net.FHttp("192.168.1.20",80)
HTTP:setBasicAuthentication("admin", "admin") 
response, status, errorCode = HTTP:GET("/protect/rb1f.cgi")
 
HTTP = Net.FHttp("192.168.1.20",80)
HTTP:setBasicAuthentication("admin", "admin") 
response, status, errorCode = HTTP:GET("/protect/rb2n.cgi")
 
fibaro:sleep(60*1000*tonumber(fibaro:getGlobalValue("SprinklerDalay")))
 
HTTP = Net.FHttp("192.168.1.20",80)
HTTP:setBasicAuthentication("admin", "admin") 
response, status, errorCode = HTTP:GET("/protect/rb2f.cgi")
 
HTTP = Net.FHttp("192.168.1.20",80)
HTTP:setBasicAuthentication("admin", "admin") 
response, status, errorCode = HTTP:GET("/protect/rb3n.cgi")
 
fibaro:sleep(60*1000*tonumber(fibaro:getGlobalValue("SprinklerDalay")))
 
HTTP = Net.FHttp("192.168.1.20",80)
HTTP:setBasicAuthentication("admin", "admin") 
response, status, errorCode = HTTP:GET("/protect/rb3f.cgi")
 
HTTP = Net.FHttp("192.168.1.20",80)
HTTP:setBasicAuthentication("admin", "admin") 
response, status, errorCode = HTTP:GET("/protect/rb4n.cgi")
 
fibaro:sleep(60*1000*tonumber(fibaro:getGlobalValue("SprinklerDalay")))
 
HTTP = Net.FHttp("192.168.1.20",80)
HTTP:setBasicAuthentication("admin", "admin") 
response, status, errorCode = HTTP:GET("/protect/rb4f.cgi")
 
HTTP = Net.FHttp("192.168.1.20",80)
HTTP:setBasicAuthentication("admin", "admin") 
response, status, errorCode = HTTP:GET("/protect/rb5n.cgi")
 
fibaro:sleep(60*1000*tonumber(fibaro:getGlobalValue("SprinklerDalay")))
 
HTTP = Net.FHttp("192.168.1.20",80)
HTTP:setBasicAuthentication("admin", "admin") 
response, status, errorCode = HTTP:GET("/protect/rb5f.cgi")
 
HTTP = Net.FHttp("192.168.1.20",80)
HTTP:setBasicAuthentication("admin", "admin") 
response, status, errorCode = HTTP:GET("/protect/rb6n.cgi")
 
fibaro:sleep(60*1000*tonumber(fibaro:getGlobalValue("SprinklerDalay")))
 
HTTP = Net.FHttp("192.168.1.20",80)
HTTP:setBasicAuthentication("admin", "admin") 
response, status, errorCode = HTTP:GET("/protect/rb6f.cgi")
 
HTTP = Net.FHttp("192.168.1.20",80)
HTTP:setBasicAuthentication("admin", "admin") 
response, status, errorCode = HTTP:GET("/protect/rb7n.cgi")
 
fibaro:sleep(60*1000*tonumber(fibaro:getGlobalValue("SprinklerDalay")))
 
HTTP = Net.FHttp("192.168.1.20",80)
HTTP:setBasicAuthentication("admin", "admin") 
response, status, errorCode = HTTP:GET("/protect/rb7f.cgi")
 
HTTP = Net.FHttp("192.168.1.20",80)
HTTP:setBasicAuthentication("admin", "admin") 
response, status, errorCode = HTTP:GET("/protect/rb8n.cgi")
 
fibaro:sleep(60*1000*tonumber(fibaro:getGlobalValue("SprinklerDalay")))
 
HTTP = Net.FHttp("192.168.1.20",80)
HTTP:setBasicAuthentication("admin", "admin") 
response, status, errorCode = HTTP:GET("/protect/rb8f.cgi")
 
HTTP = Net.FHttp("192.168.1.20",80)
HTTP:setBasicAuthentication("admin", "admin") 
response, status, errorCode = HTTP:GET("/protect/rb9n.cgi")
 
fibaro:sleep(60*1000*tonumber(fibaro:getGlobalValue("SprinklerDalay")))
 
HTTP = Net.FHttp("192.168.1.20",80)
HTTP:setBasicAuthentication("admin", "admin") 
response, status, errorCode = HTTP:GET("/protect/rb9f.cgi")
 
HTTP = Net.FHttp("192.168.1.20",80)
HTTP:setBasicAuthentication("admin", "admin") 
response, status, errorCode = HTTP:GET("/protect/rb10n.cgi")
 
fibaro:sleep(60*1000*tonumber(fibaro:getGlobalValue("SprinklerDalay")))
 
HTTP = Net.FHttp("192.168.1.20",80)
HTTP:setBasicAuthentication("admin", "admin") 
response, status, errorCode = HTTP:GET("/protect/rb10f.cgi")
 
HTTP = Net.FHttp("192.168.1.20",80)
HTTP:setBasicAuthentication("admin", "admin") 
response, status, errorCode = HTTP:GET("/protect/rb11n.cgi")
 
fibaro:sleep(60*1000*tonumber(fibaro:getGlobalValue("SprinklerDalay")))
 
HTTP = Net.FHttp("192.168.1.20",80)
HTTP:setBasicAuthentication("admin", "admin") 
response, status, errorCode = HTTP:GET("/protect/rb11f.cgi")
 
fibaro:call(1478, "setProperty", "ui.Label3.value", "Manual") 

Enter your text here ...

fibaro:setGlobal("SprinklerDalay", "15");
fibaro:call(1478, "setProperty", "ui.Label4.value", "15") 

В панели глобальных переменных нужно прописать переменные SprinklerDelay (нужна для установки время работы спринклера) и Sprinkler=0 

Сцена Auto

Сцена Auto

Меня пока устраивает такой режим работы AUTO. Как только ты мне найдешь датчик влажности почвы, то все будет совсем хорошо.

​Роман
Фрэнк пригласил нас на чашку смарт кофе
 

Комментарии (0)

Rated 0 out of 5 based on 0 voters
There are no comments posted here yet

Оставьте свой комментарий

  1. Posting comment as a guest. Sign up or login to your account.
Rate this post:
0 Characters
Вложения (0 / 3)
Share Your Location

Блог - Добро пожаловать!

EasyBlog - Biography Module

пользователь zwaveadmin не оставил ничего в своей биографии ...

Блог - Календарь

Подождите минутку, пока генерируется календарь

Блог - Последние комментарии

В новых версиях Hass добавилась фича "Ingress" поддержку кот...
На предзаказ доступна версия 2.0 Technical Details Single Core 1 GHz CPU 5...
вот интересно,а можно в VERA Secure Sim-карту поменять на свою

Блог - Последние блоггеры

admin
Записей: 64
пользователь admin не оставил ничего в своей биографии
Manager
Записей: 42
пользователь Manager не оставил ничего в своей биографии
vov85
Записей: 28
пользователь vov85 не оставил ничего в своей биографии
zwaveadmin
Записей: 23
пользователь zwaveadmin не оставил ничего в своей биографии
Mobilniy
Записей: 2
пользователь Mobilniy не оставил ничего в своей биографии

Блог - Командные блоги

Z-Waver

Членов: 4

Блог - Категории

Блог - Информация по записи

  20.10.2021
  141 просмотров