Как написать сценарий.

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

Модератор: immortal

Ответить
Аватара пользователя
shemnik69
Сообщения: 590
Зарегистрирован: Пн дек 24, 2012 3:01 pm
Откуда: Саратов Saratov
Благодарил (а): 67 раз
Поблагодарили: 63 раза

Как написать сценарий.

Сообщение shemnik69 » Пт май 16, 2014 8:10 am

Коллеги! Прошу Вас рассмотреть проект сценария.
Задача такая.
Есть ворота, есть прожектор подсвета открытого положения. При открытии (датчик) сигнал крайнего положения служит инициатором на включение прожектора. Это, как бы, само собой. Но ворота сейчас открываются в светлое время суток!! А значит прожектор (светодиодный 10 Вт) горит. Ставил фотореле но не то. Поэтому планирую ввести такой промежуточный элемент.
Из YandexWeather взять время восхода и время заката и основываясь но этих данных установить условие на включение. Итак:
- Прогноз погоды
Свойства класса:
Sunset - время заката
Sunrise - время восхода
GateOpen - створа открыта
GateClose - створа закрыта
MotorON - включение двигателя
Rewers - направление движения (окр -1 закр -0)
GateStop - датчик остановки створы (0-стоп, 1-норма)
Spotlight - прожектор (1/0)

как написать (PHP) условие, зависимости, чтобы прожектор, не включался, в светлое время суток, на основании данных времени восхода/заката (величина постоянно меняется :!: :!: ), а также условия открытой створы.
Т.е включение только после захода солнца при срабатывании датчика открытой створы.
Все датчики и двигатель (свойства) доступны из МД (Atmega) . Прожектор - управление 1-ware.
Перепробовал несколько вариантов :( но никак не найду правильный. Подскажите кто знает PHP
С Уважением!
kd0t
Сообщения: 67
Зарегистрирован: Пт дек 27, 2013 11:20 pm
Благодарил (а): 5 раз
Поблагодарили: 2 раза

Re: Как написать сценарий.

Сообщение kd0t » Пт май 16, 2014 9:05 am

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

if (!timeBetween(gg("Ваш объект.sunrise"), gg("Ваш объект.sunset"))){
 if  (gg("Ворота.GateOpen")){
      callMethod('Лампочка.гори');
   }
} 
здесь то, что мы обычно делаем дальше
Последний раз редактировалось kd0t Пт май 16, 2014 9:11 am, всего редактировалось 1 раз.
Ivan
Сообщения: 1473
Зарегистрирован: Сб окт 12, 2013 11:03 pm
Благодарил (а): 49 раз
Поблагодарили: 327 раз

Re: Как написать сценарий.

Сообщение Ivan » Пт май 16, 2014 9:06 am

Смотри пример. У меня переключается мод

http://connect.smartliving.ru/profile/53
OperationalModes DarknessMode->check
Linux, Raspberry PI, MySensors
Connect: http://connect.smartliving.ru/profile/53
Мои проекты: http://smartliving.ru/profile/4
Аватара пользователя
shemnik69
Сообщения: 590
Зарегистрирован: Пн дек 24, 2012 3:01 pm
Откуда: Саратов Saratov
Благодарил (а): 67 раз
Поблагодарили: 63 раза

Re: Как написать сценарий.

Сообщение shemnik69 » Пт май 16, 2014 12:02 pm

Да Ivan, я уже практически Ваш Connect в основу взял как первоисточник.
Поскольку Ваш проект тоже на Raspberry/


Спасибо всем за отзыв. Ivan, kd0t... :idea:
vtec
Сообщения: 54
Зарегистрирован: Пн янв 20, 2014 7:35 pm
Благодарил (а): 0
Поблагодарили: 0

Re: Как написать сценарий.

Сообщение vtec » Пн май 19, 2014 6:07 pm

Для этого существуют датчики освещенности. Т.к. заход солнца не показатель, например дождевые тучи (стемнеет раньше чем по расчетам)
Аватара пользователя
shemnik69
Сообщения: 590
Зарегистрирован: Пн дек 24, 2012 3:01 pm
Откуда: Саратов Saratov
Благодарил (а): 67 раз
Поблагодарили: 63 раза

Re: Как написать сценарий.

Сообщение shemnik69 » Вт май 20, 2014 9:35 am

Датчик освещенности (фотореле) есть, он общий (включает питание для всей группы ночных светильников и внутри дома тоже) для прожекторов.
Я про него писал вначале.
Данный алгоритм был реализован но на схемном уровне, а теперь еще добавлен на программном. Стало только лучше. Единственное, что проверить в работе не получилось...приезжаю засветло. :D
А в остальном алгоритм работает.
vtec
Сообщения: 54
Зарегистрирован: Пн янв 20, 2014 7:35 pm
Благодарил (а): 0
Поблагодарили: 0

Re: Как написать сценарий.

Сообщение vtec » Ср май 21, 2014 1:39 pm

Я вам говорю про другое, датчик освещенности мерит освещенность в своих единицах, дальше подключаем его например через ардуино к аналоговому входу. Получаем значение (диапазон от 0 до 1000) наблюдаем когда солнце садится записываем значение с датчика. И дальше, как только значение стало 199 включаем освещение.
Аватара пользователя
shemnik69
Сообщения: 590
Зарегистрирован: Пн дек 24, 2012 3:01 pm
Откуда: Саратов Saratov
Благодарил (а): 67 раз
Поблагодарили: 63 раза

Re: Как написать сценарий.

Сообщение shemnik69 » Ср май 21, 2014 9:51 pm

Идея понятна. !!
Да! это очень хороший вариант, причем очень эффективный и довольно гибкий.
Допустим параметр 0-1024 можно задавать через слайдер т.е пересчет по формуле. У меня на нескольких Атмега, есть свободные аналоговые порты так что можно прикрутить такой датчик.
Спасибо за идею.
Ответить