Страница 2 из 7
Re: Нужна помощь из скриптом
Добавлено: Вт сен 24, 2019 11:59 am
Divan
Весь смысл в объекте, сценарии не могут работать без объектов, методов объекта, свойств объекта. Если нет объекта, то и нечего запускать, а простые устройства еще кроме выключателя служат индикатором того, что ваш телефон в сети. Если индикатор желтый, значит ваш телефон онлайн, если индикатор серый, то телефон оффлайн.
Re: Нужна помощь из скриптом
Добавлено: Вт сен 24, 2019 12:25 pm
Logrus
viktor6 писал(а): Пн сен 23, 2019 11:04 pm
Суть такова, я установил подсветку на прошивке
https://github.com/FabLab-Luenen/McLighting и хочу сделать так что когда дома нет некого то она бы выключалась.
Не как не могу сообразить как это все реализовать.
а какие датчики вообще есть?
может не мучится с частичным, а сначала полностью реализовать сам режим и уже из него управлять!
Re: Нужна помощь из скриптом
Добавлено: Вт сен 24, 2019 1:47 pm
viktor6
Logrus писал(а): Вт сен 24, 2019 12:25 pm
viktor6 писал(а): Пн сен 23, 2019 11:04 pm
Суть такова, я установил подсветку на прошивке
https://github.com/FabLab-Luenen/McLighting и хочу сделать так что когда дома нет некого то она бы выключалась.
Не как не могу сообразить как это все реализовать.
а какие датчики вообще есть?
может не мучится с частичным, а сначала полностью реализовать сам режим и уже из него управлять!
В том то и дело что датчиков пока нет не каких. Думал с помощью Wi-Fi это все реализовать.
Вот попробовал так но на выключения срабатывает, а вот на включения нет хотя свойство setGlobal("admin.WiFi", "1"); меняется
если в подключен телефон к сети то
Код: Выделить всё
setGlobal("admin.WiFi", "1");
sleep(3);
if (getGlobal("admin.WiFi") == 1 && getGlobal("luda.WiFi") == 1) {
getURL('http://'.gg('girlynda2.ipaddr').'/auto', 0);
say('Подсветка включена', 2);
}
если нет то
Код: Выделить всё
setGlobal("admin.WiFi", "0");
sleep(3);
if (getGlobal("admin.WiFi") == 0 && getGlobal("luda.WiFi") == 0) {
getURL('http://'.gg('girlynda2.ipaddr').'/off', 0);
say('Подсветка выключена', 2);
}
Logrus писал(а): Вт сен 24, 2019 12:25 pm
может не мучится с частичным, а сначала полностью реализовать сам режим и уже из него управлять!
А гдето есть полное описание как полностью сам режим реализовать?
P.S. Как-бы нашёл почему не работает у кого-то должен же быть статус 0
вот так заработало
Код: Выделить всё
setGlobal("admin.WiFi", "1");
sleep(3);
if (getGlobal("admin.WiFi") == 1 && getGlobal("luda.WiFi") == 0) {
getURL('http://'.gg('girlynda2.ipaddr').'/auto', 0);
say('Подсветка включена', 2);
}
Re: Нужна помощь из скриптом
Добавлено: Вт сен 24, 2019 2:48 pm
Divan
Вы что-то тут намудрили. У вас нет статуса устройств, поэтому работает не правильно. Создайте объект, потом создайте сценарии и укажите в них эти объекты, при котором, если статус будет 1 - подсветка включится, если 0 - подсветка выключится.
Так выглядят устройства в простых устройствах
Оффлайн - статус 0

- 01-Простые устройства.JPG (19.2 КБ) 3701 просмотр
Онлайн - статус 1

- 01-Простые устройства 2.JPG (19.75 КБ) 3701 просмотр
Объекты устройств, где видно какой статус у устройства 1 или 0

- 02-объекты устройств.JPG (24.23 КБ) 3701 просмотр

- 04-статус устройства.jpg (39.27 КБ) 3701 просмотр
Так выглядят устройства в объектах Relay

- 03-создание объекта.jpg (71.18 КБ) 3701 просмотр
Создаем сценарии "Нас нет дома"
Код в виде blockly

- 05-графический код.JPG (49.7 КБ) 3701 просмотр
Код в виде PHP
Код: Выделить всё
if (getGlobal("Relay15.status") == 1 && getGlobal("Relay16.status") == 1) {
getURL('http://\'.gg(\'girlynda2.ipaddr\').\'/auto\'', 0);
say('Подсветка включена', 2);
} else if (getGlobal("Relay15.status") == 0 && getGlobal("Relay16.status") == 0) {
getURL('http://\'.gg(\'girlynda2.ipaddr\').\'/off\'', 0);
say('Подсветка выключена', 2);
}
Re: Нужна помощь из скриптом
Добавлено: Вт сен 24, 2019 2:54 pm
Divan
Или создать два типа сценария: "Мы дома" и "Мы не дома"
Где у каждого сценария будет свой блок, один сценарии "Мы дома" вы привяжете когда устройства онлайн, а второй сценарии "Мы не дома" вы привяжете когда устройства оффлайн.

- 06.JPG (57.09 КБ) 3701 просмотр
Этот код добавляем, если устройства онлайн
Код: Выделить всё
if (getGlobal("Relay15.status") == 1 && getGlobal("Relay16.status") == 1) {
getURL('http://\'.gg(\'girlynda2.ipaddr\').\'/auto\'', 0);
say('Подсветка включена', 2);
}
Этот код добавляем, если устройства оффлайн
Код: Выделить всё
if (getGlobal("Relay15.status") == 0 && getGlobal("Relay16.status") == 0) {
getURL('http://\'.gg(\'girlynda2.ipaddr\').\'/off\'', 0);
say('Подсветка выключена', 2);
}
Re: Нужна помощь из скриптом
Добавлено: Вт сен 24, 2019 3:04 pm
viktor6
Divan писал(а): Вт сен 24, 2019 2:54 pm
Или создать два типа сценария: "Мы дома" и "Мы не дома"
Где у каждого сценария будет свой блок, один сценарии "Мы дома" вы привяжете когда устройства онлайн, а второй сценарии "Мы не дома" вы привяжете когда устройства оффлайн.
06.JPG
Этот код добавляем, если устройства онлайн
Код: Выделить всё
if (getGlobal("Relay15.status") == 1 && getGlobal("Relay16.status") == 1) {
getURL('http://\'.gg(\'girlynda2.ipaddr\').\'/auto\'', 0);
say('Подсветка включена', 2);
}
Этот код добавляем, если устройства оффлайн
Код: Выделить всё
if (getGlobal("Relay15.status") == 0 && getGlobal("Relay16.status") == 0) {
getURL('http://\'.gg(\'girlynda2.ipaddr\').\'/off\'', 0);
say('Подсветка выключена', 2);
}
По вашему коду получается что когда муж и жена дома только тогда включится подсветка, а если ктото один в дома то тогда подсветка не включится. Так или я ошибаюсь?
Re: Нужна помощь из скриптом
Добавлено: Вт сен 24, 2019 3:15 pm
Divan
Если хотите, чтобы было отдельно, дома, или жена, или муж, то тогда ставим значение "или". Если кто-то из вас придет домой, то подсветка включится, но для выключения лучше использовать значение "и", тогда будет так, когда уйдет кто-то последний, то подсветка выключится, если поставите значение "или" на выключение, то тогда будет так, кто-то уходит из дома, а дома кто-то есть, то подсветка выключится.

- 07.JPG (55.06 КБ) 3692 просмотра
Код на включение подсветки когда кто-то из вас будет дома, ставим значение "или"
Код: Выделить всё
if (getGlobal("Relay15.status") == 1 && getGlobal("Relay16.status") == 1) {
getURL('http://\'.gg(\'girlynda2.ipaddr\').\'/auto\'', 0);
say('Подсветка включена', 2);
}
Re: Нужна помощь из скриптом
Добавлено: Вт сен 24, 2019 4:15 pm
viktor6
Divan писал(а): Вт сен 24, 2019 3:15 pm
Если хотите, чтобы было отдельно, дома, или жена, или муж, то тогда ставим значение "или". Если кто-то из вас придет домой, то подсветка включится, но для выключения лучше использовать значение "и", тогда будет так, когда уйдет кто-то последний, то подсветка выключится, если поставите значение "или" на выключение, то тогда будет так, кто-то уходит из дома, а дома кто-то есть, то подсветка выключится.
Код на включение подсветки когда кто-то из вас будет дома, ставим значение "или"
Код: Выделить всё
if (getGlobal("Relay15.status") == 1 && getGlobal("Relay16.status") == 1) {
getURL('http://\'.gg(\'girlynda2.ipaddr\').\'/auto\'', 0);
say('Подсветка включена', 2);
}
Всеравно не пойму как меняется статус реле? Отчего зависит
скрипт как я понял смотрит какое состояние свойств реле и тогда только выполняется.
Re: Нужна помощь из скриптом
Добавлено: Вт сен 24, 2019 4:33 pm
Divan
Это работает так, в устройствах онлайн вы устройство привязываете к статусу. Выбираете объект, который создали через "Простые устройства" и потом выбираете его свойство status. Когда устройство будет онлайн, оно установит статус 1, когда оффлайн, то установит статус 0.
Устройство - Телефон жены

- 08-Снимок.JPG (55.34 КБ) 3673 просмотра
Устройство - Телефон мужа

- 09-Снимок.JPG (54.79 КБ) 3673 просмотра
Re: Нужна помощь из скриптом
Добавлено: Вт сен 24, 2019 4:37 pm
viktor6
Divan писал(а): Вт сен 24, 2019 4:33 pm
Это работает так, в устройствах онлайн вы устройство привязываете к статусу. Выбираете объект, который создали через "Простые устройства" и потом выбираете его свойство status. Когда устройство будет онлайн, оно установит статус 1, когда оффлайн, то установит статус 0.
Устройство - Телефон жены
Устройство - Телефон мужа
Спасибо, сам сделал не успел ответить
