Автоматизация в ванной и в туалете

Использование системы в различных ситуациях, вопросы программирования сценариев.

Модератор: immortal

Аватара пользователя
Divan
Сообщения: 859
Зарегистрирован: Пн июл 08, 2019 5:04 pm
Благодарил (а): 117 раз
Поблагодарили: 272 раза

Re: Автоматизация в ванной и в туалете

Сообщение Divan » Пт дек 25, 2020 4:49 pm

Я это делал на тестовой виртуальной машине, на мастере. Скорее по этой причине и не работает на Альфе. Значит на тестовой машине просто выбирайте мастер.
Xpenology DSM 6.2.2 + Ubuntu Server 18.10 + Majordomo + MariaDB
Аватара пользователя
Divan
Сообщения: 859
Зарегистрирован: Пн июл 08, 2019 5:04 pm
Благодарил (а): 117 раз
Поблагодарили: 272 раза

Re: Автоматизация в ванной и в туалете

Сообщение Divan » Пт дек 25, 2020 6:48 pm

Alexander Znamensky писал(а):
Пт дек 25, 2020 2:26 pm
Привет!

Несколько комментариев:
1. Сцена из бекапа не устанавливается на Альфу. - вешает наглухо систему.
2. В видео и в бекапе не совпадают скрипты - новички запутаются )))
3. Возник вопрос - зачем такая сложная реализация? Мне кажется, что объекты SDoorVannaya / SDoorToilet лишние?

Привожу свой код (он у меня давно работает в чем-то он похож, но, кмк попроще). Может я что-то не учитываю в своей автоматизации?
Этот скрипт я вызываю при открывании-закрывании двери и при обнаружении движения:
СпойлерПоказать

Код: Выделить всё

// Открыли дверь, включаем свет на 10 секунд.
if (gg('Дверь_в_ванную.status') == 0) 
	{
	sg('XiRelay26.status', 1);
	SetTimeOut('XiRelay26OffTimer', 'sg("XiRelay26.status", 0);', 10);
	}
// Дверь открыта и было движение, включаем свет на 3 минуты.
elseif (gg('Дверь_в_ванную.status') == 0 && gg('Датчик_движения_в_ванной.status') == 1) 
	{
	sg('XiRelay26.status', 1);
	SetTimeOut('XiRelay26OffTimer', 'sg("XiRelay26.status", 0);', 60*3);
	}
// Дверь закрыта и было движение, включаем свет на 10 минут.
elseif (gg('Дверь_в_ванную.status') == 1 && gg('Датчик_движения_в_ванной.status') == 1) 
	{
	sg('XiRelay26.status', 1);
	SetTimeOut('XiRelay26OffTimer', 'sg("XiRelay26.status", 0);', 60*10);
	}
// Дверь закрыта и нет движения, выключаем свет через 5 сек.
elseif (gg('Дверь_в_ванную.status') == 1 && gg('Датчик_движения_в_ванной.status') == 0) 
	{
//	sg('XiRelay26.status', 1);
	SetTimeOut('XiRelay26OffTimer', 'sg("XiRelay26.status", 0);', 5);
	}
Кстати, забыл упомянуть. ДД не фиксирует движение, если лежишь в ванной. Горячая вода и пар препятствуют обнаружению. Система может ошибочно посчитать, что в ванной никого нет и выключит свет.
Xpenology DSM 6.2.2 + Ubuntu Server 18.10 + Majordomo + MariaDB
AK1
Сообщения: 86
Зарегистрирован: Чт фев 13, 2020 6:39 pm
Благодарил (а): 14 раз
Поблагодарили: 13 раз

Re: Автоматизация в ванной и в туалете

Сообщение AK1 » Пт дек 25, 2020 8:07 pm

Добавь датчик температуры самой ванны. Температура воды д.б. выше температуры воздуха
За это сообщение автора AK1 поблагодарили (всего 2):
Alexander Znamensky (Сб дек 26, 2020 10:56 am) • ZyaK (Сб дек 26, 2020 7:26 pm)
Рейтинг: 2.35%
Аватара пользователя
Divan
Сообщения: 859
Зарегистрирован: Пн июл 08, 2019 5:04 pm
Благодарил (а): 117 раз
Поблагодарили: 272 раза

Re: Автоматизация в ванной и в туалете

Сообщение Divan » Пт дек 25, 2020 8:13 pm

AK1 писал(а):
Пт дек 25, 2020 8:07 pm
Добавь датчик температуры самой ванны. Температура воды д.б. выше температуры воздуха
В моем случае все надежно. Сбоев нет. Система точно знает, что в ванной\туалете кто-то есть и когда включается режим "в помещении кто-то есть", то ДД уже не нужен и свет физически никто не сможет выключить (кто-то ошибочно посчитал, что внутри никого нет и нажали на выключатель). Можно хоть полдня лежать в ванной, свет не выключится.
За это сообщение автора Divan поблагодарил:
ZyaK (Сб дек 26, 2020 7:26 pm)
Рейтинг: 1.18%
Xpenology DSM 6.2.2 + Ubuntu Server 18.10 + Majordomo + MariaDB
Аватара пользователя
Alexander Znamensky
Сообщения: 160
Зарегистрирован: Ср дек 18, 2019 11:13 am
Откуда: Москва
Благодарил (а): 86 раз
Поблагодарили: 24 раза

Re: Автоматизация в ванной и в туалете

Сообщение Alexander Znamensky » Сб дек 26, 2020 10:54 am

Divan писал(а):
Пт дек 25, 2020 6:48 pm
Alexander Znamensky писал(а):
Пт дек 25, 2020 2:26 pm
Привет!

Несколько комментариев:
1. Сцена из бекапа не устанавливается на Альфу. - вешает наглухо систему.
2. В видео и в бекапе не совпадают скрипты - новички запутаются )))
3. Возник вопрос - зачем такая сложная реализация? Мне кажется, что объекты SDoorVannaya / SDoorToilet лишние?

Привожу свой код (он у меня давно работает в чем-то он похож, но, кмк попроще). Может я что-то не учитываю в своей автоматизации?
Этот скрипт я вызываю при открывании-закрывании двери и при обнаружении движения:
СпойлерПоказать

Код: Выделить всё

// Открыли дверь, включаем свет на 10 секунд.
if (gg('Дверь_в_ванную.status') == 0) 
	{
	sg('XiRelay26.status', 1);
	SetTimeOut('XiRelay26OffTimer', 'sg("XiRelay26.status", 0);', 10);
	}
// Дверь открыта и было движение, включаем свет на 3 минуты.
elseif (gg('Дверь_в_ванную.status') == 0 && gg('Датчик_движения_в_ванной.status') == 1) 
	{
	sg('XiRelay26.status', 1);
	SetTimeOut('XiRelay26OffTimer', 'sg("XiRelay26.status", 0);', 60*3);
	}
// Дверь закрыта и было движение, включаем свет на 10 минут.
elseif (gg('Дверь_в_ванную.status') == 1 && gg('Датчик_движения_в_ванной.status') == 1) 
	{
	sg('XiRelay26.status', 1);
	SetTimeOut('XiRelay26OffTimer', 'sg("XiRelay26.status", 0);', 60*10);
	}
// Дверь закрыта и нет движения, выключаем свет через 5 сек.
elseif (gg('Дверь_в_ванную.status') == 1 && gg('Датчик_движения_в_ванной.status') == 0) 
	{
//	sg('XiRelay26.status', 1);
	SetTimeOut('XiRelay26OffTimer', 'sg("XiRelay26.status", 0);', 5);
	}
Кстати, забыл упомянуть. ДД не фиксирует движение, если лежишь в ванной. Горячая вода и пар препятствуют обнаружению. Система может ошибочно посчитать, что в ванной никого нет и выключит свет.
Да, все верно! В моем случае это непринципиально. Но если лежать в ванной, то можно увеличить время таймера в случае "Дверь закрыта и было движение, включаем свет" с 10 минут, например, до 40 минут или столько, сколько нужно лежать в ванной ))).

Мне только не нравится вариант включения света без ограничения времени. Потому что датчик движения может не сработать. У меня бывает, что zigbee датчики теряются.

Конечно, можно заморочиться и проверять, например, beatrates или время последней активности датчика. Но в этом случае код увеличится и количество обращение к БД вырастет.
Raspberry Pi4 B+, образ v4_44 -> Alpha, PHP 7.3, Xiaomi Gateway 2, Tuya, Blynk, ESP8266
ZyaK
Сообщения: 385
Зарегистрирован: Вт окт 24, 2017 2:01 pm
Откуда: Ижевск
Благодарил (а): 42 раза
Поблагодарили: 67 раз

Re: Автоматизация в ванной и в туалете

Сообщение ZyaK » Сб дек 26, 2020 7:28 pm

AK1 писал(а):
Пт дек 25, 2020 8:07 pm
Добавь датчик температуры самой ванны. Температура воды д.б. выше температуры воздуха
Отличное решение! со 100 процентной гарантией!!!
пожалуй себе так и сделаю!
как раз в процессе ремонта, то есть строительства
PI2 + MQTT + 5 ESP8266 + Atmega16
Gena
Сообщения: 11
Зарегистрирован: Пт ноя 13, 2020 11:45 am
Благодарил (а): 9 раз
Поблагодарили: 0

Re: Автоматизация в ванной и в туалете

Сообщение Gena » Пн ноя 22, 2021 3:22 pm

Добрый день
Спасибо автору Divan за прекрасную логику и реализацию сценария "Автоматизация в ванной".
все прекрасно работает за исключением:
5) Открыли дверь, свет включился и вы зашли и вышли, не важно, закрыли или не закрыли дверь. Если в помещении не будет движения, то свет выключится через указанное вами время (я так понимаю через 3 минуты).

В методе какого датчика (двери или движения) прописан этот сценарий?
Можно ли реализовать эту логику через интерфейс датчиков и выключателя в простых устройствах? Если да, то подскажите, как это сделать?
Спасибо за ответ
Ответить