Страно, что tyt работает вообще никак. Вот смотрите, фрагмент кода вашего, с добавками.
var lat = 56.06;
var lng = 92.52;
var date = new Date();
times =SunCalc.getTimes(date, lat, lng);
var sunrise = times.sunrise;
var sunset = times.sunset;
now1 = new Date();
now= dateAdd(now1, 'hour', 0);
log ("Заданная дата\t", now);
log ("Восход\t\t", sunrise);
log ("Закат\t\t", sunset);
var darkness = 1;
if (now < sunset)
{
dev["wb-gpio"]["EXT1_R3A1"] = 1;
log (1);
}
else
{
dev["wb-gpio"]["EXT1_R3A1"] = 0;
log (0);
}
Добавляя в dateAdd часы вы можете убедиться, что в лог пишется то 1, то 0. Вот честно, ставьте везде логгирование, сразу все становится на порядок понятнее.
Добрый день.
Как-то можно добавить окно для ввода параметров или сделать “ползунок” для выбора в определенном диапазоне, например для отслеживания определенной температуры?
Как-то можно добавить окно для ввода параметров или сделать “ползунок” для выбора в определенном диапазоне, например для отслеживания определенной температуры?
Ползунок сделать легко :
defineVirtualDevice("yourNameDevice", {
title : "Название ползунка",
cells : {
testRange : {
type : "range",
value : 0,
max : 30
}
}
А вот поля для ввода нет, что является очень большим косяком.
Здравствуйте. Выставил часовой пояс на контроллере. date теперь показывает Tue Nov 21 12:36:07 MSK 2017 - правильное время. Но правило, определенное для крон с указанием времени работает только для времени UTC.
Это правило сработает в 12:10 по Московскому времени. Так и должно быть?
И замечание. У вас в документации написано “Вместо @hourly здесь можно задать любое выражение, допустимое в стандартном crontab, например, 0 20 * * * (выполнять правило каждый день в 20:00).”
Но это не так, первый символ это секунды, а не минуты. И об этом написано по ссылке, которая у вас в тексте.
Люди добрый помогите пожалуйста непрограммисту составить шаблоны правил для следующих задач, которые будут востребованы в 100% случаях при использовании WB в домашней автоматизации:
Управление несколькими реле по изменению счетчика dev["device/Input "x" counter с предварительной проверкой состояния реле (если хотя бы одно реле On, то выкл все. если все off то вкл все.
Аналогичное, но с добавлением в правило каналов диммера.
Обработка двойного нажатия для определенного ```dev["device/Input “x” counter``. Т.е. запуск таймера после n+1, далее ожидание n+2, далее сброс таймера, анализ n и выполнение разных функций для n+1 и для n+2.
Правило для постановки на сигнализацию определенных dev["device/Input "x" при отработке определенной функции, а также оповещение при сработке входа.
Различные правила для ```dev["device/Input “x” counter` в зависимости от времени суток.
Создание многонаборных сценариев, для виртуальных устройств: напр. включение димера на 20%+включение реле1+ реле5+ температура пола 26.
Настройка алиасов для входных каналов : например вместо ```dev["device/Input “x”] применять одну глобальную переменную “button1”.
То же самое для каналов реле - тут сложности: как система поймет что алиас “rele1” в одном случае это dev[device/K1], а в другом dev[device][K1]
Как правильно структурировать правила - вкладывать все обработки в одну функцию (проверка времени суток, проверка состояния, проверка количества нажатий" или лучше разносить обработки в разных функциях, тогда какие должны выполняться раньше?
будут дополняться
p.s. простое изложение данных шаблонов увеличит количество желающих приобрести Ваше оборудование. Возможно стоит выделить отдельную тему и назвать ее типа “Умный дом на WB для чайников”)))))
Добрый вечер. Подскажите, как использовать переменные с восходом и закатом. Как сделать так, чтобы при наступлении восхода или заката сработало реле, которое выключает/включает уличное освещение. У меня, на данный момент, скрипт срабатывает только при обновлении или сохранении файла правила
нужно как-то специально указывать что функция расположена в другом файле?
И еще вопрос: при вызове функции, например, с параметром longPress, как передать несколько устройств (нужно по долгому нажатию выключать несколько реле)? и как задать какое значение должно принять реле (true/false)?