Size: a a a

ioBroker smarthome

2019 December 01

IG

Ivan Gromov in ioBroker smarthome
Sergio
Всем привет, ребят подскажите немного логику. Я хочу сделать, чтоб свет в коридоре работал только от заката до рассвета и по датчику движения. Вот как лучше сделать,  on(датчик движения) и внутри делать проверять время или наоборот, сначала проверять время, а затем движение?
Он(датчик движения)
источник

СA

Сергей Фролов Angelo... in ioBroker smarthome
Sergio
Всем привет, ребят подскажите немного логику. Я хочу сделать, чтоб свет в коридоре работал только от заката до рассвета и по датчику движения. Вот как лучше сделать,  on(датчик движения) и внутри делать проверять время или наоборот, сначала проверять время, а затем движение?
ага - on на датчик движения - внутри проверка на рассвет/закат
источник

СA

Сергей Фролов Angelo... in ioBroker smarthome
у меня так прожекторы сделаны
источник

S

Sergio in ioBroker smarthome
Сергей Фролов Angelok.ru
у меня так прожекторы сделаны
Спасибо, а выключение например с задержкой через пару минут делать, используя setTimeout?
источник

СA

Сергей Фролов Angelo... in ioBroker smarthome
Sergio
Спасибо, а выключение например с задержкой через пару минут делать, используя setTimeout?
setStateDelayed('mqtt.0.lighting.Searchlight_01', false, 400000, true);
у меня вот так
источник

СA

Сергей Фролов Angelo... in ioBroker smarthome
Sergio
Всем привет, ребят подскажите немного логику. Я хочу сделать, чтоб свет в коридоре работал только от заката до рассвета и по датчику движения. Вот как лучше сделать,  on(датчик движения) и внутри делать проверять время или наоборот, сначала проверять время, а затем движение?
function ДеньИлиНочь(cmd){
   return compareTime(getState('javascript.0.MyHome.Восход').val, getState('javascript.0.MyHome.Закат').val, 'between');
}

//Раз в день автоматически записывать восход и закат
schedule('0 1 * * *', function () {
   setState("javascript.0.MyHome.Восход", formatDate(getDateObject(getAstroDate("sunrise", undefined, 0)), "hh:mm"));
   setState("javascript.0.MyHome.Закат", formatDate(getDateObject(getAstroDate("sunsetStart", undefined, 0)), "hh:mm"));
});

#скрипт #script #Sscorpio #восход #закат
источник

СA

Сергей Фролов Angelo... in ioBroker smarthome
потом в любом месте проверяешь - день или ночь сейчас
ДеньИлиНочь()
источник

S

Sergio in ioBroker smarthome
Сергей Фролов Angelok.ru
function ДеньИлиНочь(cmd){
   return compareTime(getState('javascript.0.MyHome.Восход').val, getState('javascript.0.MyHome.Закат').val, 'between');
}

//Раз в день автоматически записывать восход и закат
schedule('0 1 * * *', function () {
   setState("javascript.0.MyHome.Восход", formatDate(getDateObject(getAstroDate("sunrise", undefined, 0)), "hh:mm"));
   setState("javascript.0.MyHome.Закат", formatDate(getDateObject(getAstroDate("sunsetStart", undefined, 0)), "hh:mm"));
});

#скрипт #script #Sscorpio #восход #закат
Спасибо, в функции setStatrDelay у вас сначалотключается, а затем через таймаут включается?
источник

СA

Сергей Фролов Angelo... in ioBroker smarthome
Sergio
Спасибо, в функции setStatrDelay у вас сначалотключается, а затем через таймаут включается?
вообще отключать сначала не нужно.
но например у меня включение прожекторов привязано к открыванию входной двери
после обкатки были ситуации, когда в дверь входишь и выходишь несколько раз, за период пока таймер считает
и стало нужно с каждым открытичем двери - запускать таймер снова
поэтому в скрипте работает так:
clearStateDelayed('mqtt.0.lighting.Searchlight_01');
setStateDelayed('mqtt.0.lighting.Searchlight_01', false, 400000, true);
#скрипт #script #Sscorpio #восход #закат
источник

СA

Сергей Фролов Angelo... in ioBroker smarthome
вот скрипт полностью.
висит на датчике открытия входной двери в доме
//Датчик открытия входной двери
on({id: 'zigbee.0.00158d0002386a18.opened', change: 'ne'}, function (obj) {
   //Если дома никого не было, открыли дверь, Мы приехали домой
   if ((obj.state.val) && (!getState('javascript.0.MyHome.координаты.ДомаЛюди').val)) {
       SendToTelegram('Открылась входная дверь, дома никого нет');
       Управление_Светом('мы приехали домой');
   }
   
   //Когда после захода солнца открыли входную дверь, включить все прожекторы
   if (obj.state.val) {
       console.log(getState('zigbee.0.00158d0002386a18.opened').val);
       //если выключены, включить прожекторы
       SendToTelegram('Открылась входная дверь, включил прожекторы');
       ТекстПрожекторы('включи все прожекторы');
       clearStateDelayed('mqtt.0.lighting.Searchlight_01');
       clearStateDelayed('mqtt.0.lighting.Searchlight_02');
       clearStateDelayed('mqtt.0.lighting.Searchlight_03');
       clearStateDelayed('mqtt.0.lighting.Searchlight_04');
       clearStateDelayed('mqtt.0.lighting.Searchlight_05');
       clearStateDelayed('mqtt.0.lighting.Searchlight_08');
       clearStateDelayed('mqtt.0.lighting.Searchlight_06');
       clearStateDelayed('mqtt.0.lighting.Searchlight_07');
       setStateDelayed('mqtt.0.lighting.Searchlight_01', false, 400000, true);
       setStateDelayed('mqtt.0.lighting.Searchlight_02', false, 400000, true);
       setStateDelayed('mqtt.0.lighting.Searchlight_03', false, 400000, true);
       setStateDelayed('mqtt.0.lighting.Searchlight_04', false, 400000, true);
       setStateDelayed('mqtt.0.lighting.Searchlight_05', false, 400000, true);
       setStateDelayed('mqtt.0.lighting.Searchlight_06', false, 400000, true);
       setStateDelayed('mqtt.0.lighting.Searchlight_07', false, 400000, true);
       setStateDelayed('mqtt.0.lighting.Searchlight_08', false, 400000, true);
   }

   //Если отключен свет кухня/кабинет/коридор, открыли дверь, темно на кухне - включить свет коридор
   if ((obj.state.val) && (getState('zigbee.0.00158d0002c63528.illuminance').val < ЯркостьВДоме) && (!(getState(свет_кухня).val) && !(getState(свет_коридор).val) && !(getState(свет_кабинет).val))) {
       Управление_Светом('включи свет коридор');
   }
});

#скрипт #script #Sscorpio #дверь #прожектор
источник

S

Sergio in ioBroker smarthome
Сергей Фролов Angelok.ru
вообще отключать сначала не нужно.
но например у меня включение прожекторов привязано к открыванию входной двери
после обкатки были ситуации, когда в дверь входишь и выходишь несколько раз, за период пока таймер считает
и стало нужно с каждым открытичем двери - запускать таймер снова
поэтому в скрипте работает так:
clearStateDelayed('mqtt.0.lighting.Searchlight_01');
setStateDelayed('mqtt.0.lighting.Searchlight_01', false, 400000, true);
#скрипт #script #Sscorpio #восход #закат
Спасибо большое!
источник

СA

Сергей Фролов Angelo... in ioBroker smarthome
Sergio
Спасибо большое!
источник

i

instalator in ioBroker smarthome
@Bluefox27 в самом драйвере переводы можно как то юзать? есть фукнция?
источник

S

Sergio in ioBroker smarthome
Скажите пжлста, чтоб было видно всю локальную  сеть через впн, надо vpn настраивать только на роутере?
источник

AA

Andrey Anopov in ioBroker smarthome
Sergio
Скажите пжлста, чтоб было видно всю локальную  сеть через впн, надо vpn настраивать только на роутере?
если не писать дополнительные маршруты на каждом нужном ip в локалке то да.
источник

S

Sergio in ioBroker smarthome
Andrey Anopov
если не писать дополнительные маршруты на каждом нужном ip в локалке то да.
То есть например у меня впн клиент на 1.5, роутер 1.1, чтобы я смог через туннель пинговать 1.100, надо на 1.100 прописать маршрут?
источник

AA

Andrey Anopov in ioBroker smarthome
обычно ip адреса vpn тунеля не совпадают с адресами локалки.
источник

AA

Andrey Anopov in ioBroker smarthome
посмотрите картинки как тунели создаются. Вы в качестве образца какую доку взяли?
источник

AA

Andrey Anopov in ioBroker smarthome
если адреса все в одной сети (по маске видно) - то маршруты прописывать не надо. Ip общаются без маршрутизации. Но так обычно не делают чтобы лишний трафик не гонять.
источник

S

Sergio in ioBroker smarthome
Andrey Anopov
если адреса все в одной сети (по маске видно) - то маршруты прописывать не надо. Ip общаются без маршрутизации. Но так обычно не делают чтобы лишний трафик не гонять.
Спасибо. Я победил, в iptables настроил форвардинг с tun0 на интерфейс локальной сети
источник