Нужна помощь из скриптом

Если вы только начинаете осваивать систему MajorDoMo и чего-то не знаете или не можете понять, то задавайте свои вопросы в этой ветке.

Модератор: immortal

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

Re: Нужна помощь из скриптом

Сообщение Divan » Вт сен 24, 2019 11:59 am

Весь смысл в объекте, сценарии не могут работать без объектов, методов объекта, свойств объекта. Если нет объекта, то и нечего запускать, а простые устройства еще кроме выключателя служат индикатором того, что ваш телефон в сети. Если индикатор желтый, значит ваш телефон онлайн, если индикатор серый, то телефон оффлайн.
За это сообщение автора Divan поблагодарил:
viktor6 (Вт сен 24, 2019 1:49 pm)
Рейтинг: 1.16%
Xpenology DSM 6.2.2 + Ubuntu Server 18.10 + Majordomo + MariaDB
Logrus
Сообщения: 2113
Зарегистрирован: Пт апр 07, 2017 12:20 pm
Благодарил (а): 317 раз
Поблагодарили: 466 раз

Re: Нужна помощь из скриптом

Сообщение Logrus » Вт сен 24, 2019 12:25 pm

viktor6 писал(а):
Пн сен 23, 2019 11:04 pm
Суть такова, я установил подсветку на прошивке https://github.com/FabLab-Luenen/McLighting и хочу сделать так что когда дома нет некого то она бы выключалась.
Не как не могу сообразить как это все реализовать.
а какие датчики вообще есть?
может не мучится с частичным, а сначала полностью реализовать сам режим и уже из него управлять!
Telegram | Блог
Raspberry Pi3, с образа от Сергея 3.31, PHP 7, флешка 16 Гб работает с 10.09.2017
Почти всё время уходит на исправление ошибок, оставшееся - на их повторение. (с) ))) Спасибо
viktor6
Сообщения: 273
Зарегистрирован: Вс авг 20, 2017 1:46 am
Благодарил (а): 142 раза
Поблагодарили: 13 раз

Re: Нужна помощь из скриптом

Сообщение viktor6 » Вт сен 24, 2019 1:47 pm

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);
}
Raspberry Pi3, с образа от Сергея 3.34
Аватара пользователя
Divan
Сообщения: 859
Зарегистрирован: Пн июл 08, 2019 5:04 pm
Благодарил (а): 117 раз
Поблагодарили: 280 раз

Re: Нужна помощь из скриптом

Сообщение Divan » Вт сен 24, 2019 2:48 pm

Вы что-то тут намудрили. У вас нет статуса устройств, поэтому работает не правильно. Создайте объект, потом создайте сценарии и укажите в них эти объекты, при котором, если статус будет 1 - подсветка включится, если 0 - подсветка выключится.

Так выглядят устройства в простых устройствах
СпойлерПоказать
Оффлайн - статус 0
01-Простые устройства.JPG
01-Простые устройства.JPG (19.2 КБ) 3458 просмотров
Онлайн - статус 1
01-Простые устройства 2.JPG
01-Простые устройства 2.JPG (19.75 КБ) 3458 просмотров
Объекты устройств, где видно какой статус у устройства 1 или 0
СпойлерПоказать
02-объекты устройств.JPG
02-объекты устройств.JPG (24.23 КБ) 3458 просмотров
04-статус устройства.jpg
04-статус устройства.jpg (39.27 КБ) 3458 просмотров
Так выглядят устройства в объектах Relay
СпойлерПоказать
03-создание объекта.jpg
03-создание объекта.jpg (71.18 КБ) 3458 просмотров
Создаем сценарии "Нас нет дома"
СпойлерПоказать
Код в виде blockly
05-графический код.JPG
05-графический код.JPG (49.7 КБ) 3458 просмотров
Код в виде 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);
}
За это сообщение автора Divan поблагодарил:
viktor6 (Вт сен 24, 2019 3:00 pm)
Рейтинг: 1.16%
Xpenology DSM 6.2.2 + Ubuntu Server 18.10 + Majordomo + MariaDB
Аватара пользователя
Divan
Сообщения: 859
Зарегистрирован: Пн июл 08, 2019 5:04 pm
Благодарил (а): 117 раз
Поблагодарили: 280 раз

Re: Нужна помощь из скриптом

Сообщение Divan » Вт сен 24, 2019 2:54 pm

Или создать два типа сценария: "Мы дома" и "Мы не дома"

Где у каждого сценария будет свой блок, один сценарии "Мы дома" вы привяжете когда устройства онлайн, а второй сценарии "Мы не дома" вы привяжете когда устройства оффлайн.
СпойлерПоказать
06.JPG
06.JPG (57.09 КБ) 3458 просмотров
Этот код добавляем, если устройства онлайн

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

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);
}
За это сообщение автора Divan поблагодарил:
viktor6 (Вт сен 24, 2019 3:04 pm)
Рейтинг: 1.16%
Xpenology DSM 6.2.2 + Ubuntu Server 18.10 + Majordomo + MariaDB
viktor6
Сообщения: 273
Зарегистрирован: Вс авг 20, 2017 1:46 am
Благодарил (а): 142 раза
Поблагодарили: 13 раз

Re: Нужна помощь из скриптом

Сообщение viktor6 » Вт сен 24, 2019 3:04 pm

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);
}
По вашему коду получается что когда муж и жена дома только тогда включится подсветка, а если ктото один в дома то тогда подсветка не включится. Так или я ошибаюсь?
Raspberry Pi3, с образа от Сергея 3.34
Аватара пользователя
Divan
Сообщения: 859
Зарегистрирован: Пн июл 08, 2019 5:04 pm
Благодарил (а): 117 раз
Поблагодарили: 280 раз

Re: Нужна помощь из скриптом

Сообщение Divan » Вт сен 24, 2019 3:15 pm

Если хотите, чтобы было отдельно, дома, или жена, или муж, то тогда ставим значение "или". Если кто-то из вас придет домой, то подсветка включится, но для выключения лучше использовать значение "и", тогда будет так, когда уйдет кто-то последний, то подсветка выключится, если поставите значение "или" на выключение, то тогда будет так, кто-то уходит из дома, а дома кто-то есть, то подсветка выключится.
СпойлерПоказать
07.JPG
07.JPG (55.06 КБ) 3449 просмотров
Код на включение подсветки когда кто-то из вас будет дома, ставим значение "или"

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

if (getGlobal("Relay15.status") == 1 && getGlobal("Relay16.status") == 1) {
  getURL('http://\'.gg(\'girlynda2.ipaddr\').\'/auto\'', 0);
  say('Подсветка включена', 2);
}
За это сообщение автора Divan поблагодарил:
viktor6 (Вт сен 24, 2019 4:12 pm)
Рейтинг: 1.16%
Xpenology DSM 6.2.2 + Ubuntu Server 18.10 + Majordomo + MariaDB
viktor6
Сообщения: 273
Зарегистрирован: Вс авг 20, 2017 1:46 am
Благодарил (а): 142 раза
Поблагодарили: 13 раз

Re: Нужна помощь из скриптом

Сообщение viktor6 » Вт сен 24, 2019 4:15 pm

Divan писал(а):
Вт сен 24, 2019 3:15 pm
Если хотите, чтобы было отдельно, дома, или жена, или муж, то тогда ставим значение "или". Если кто-то из вас придет домой, то подсветка включится, но для выключения лучше использовать значение "и", тогда будет так, когда уйдет кто-то последний, то подсветка выключится, если поставите значение "или" на выключение, то тогда будет так, кто-то уходит из дома, а дома кто-то есть, то подсветка выключится.
СпойлерПоказать
07.JPG
Код на включение подсветки когда кто-то из вас будет дома, ставим значение "или"

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

if (getGlobal("Relay15.status") == 1 && getGlobal("Relay16.status") == 1) {
  getURL('http://\'.gg(\'girlynda2.ipaddr\').\'/auto\'', 0);
  say('Подсветка включена', 2);
}
Всеравно не пойму как меняется статус реле? Отчего зависит

скрипт как я понял смотрит какое состояние свойств реле и тогда только выполняется.
Raspberry Pi3, с образа от Сергея 3.34
Аватара пользователя
Divan
Сообщения: 859
Зарегистрирован: Пн июл 08, 2019 5:04 pm
Благодарил (а): 117 раз
Поблагодарили: 280 раз

Re: Нужна помощь из скриптом

Сообщение Divan » Вт сен 24, 2019 4:33 pm

Это работает так, в устройствах онлайн вы устройство привязываете к статусу. Выбираете объект, который создали через "Простые устройства" и потом выбираете его свойство status. Когда устройство будет онлайн, оно установит статус 1, когда оффлайн, то установит статус 0.

Устройство - Телефон жены
СпойлерПоказать
08-Снимок.JPG
08-Снимок.JPG (55.34 КБ) 3430 просмотров
Устройство - Телефон мужа
СпойлерПоказать
09-Снимок.JPG
09-Снимок.JPG (54.79 КБ) 3430 просмотров
За это сообщение автора Divan поблагодарил:
viktor6 (Вт сен 24, 2019 4:35 pm)
Рейтинг: 1.16%
Xpenology DSM 6.2.2 + Ubuntu Server 18.10 + Majordomo + MariaDB
viktor6
Сообщения: 273
Зарегистрирован: Вс авг 20, 2017 1:46 am
Благодарил (а): 142 раза
Поблагодарили: 13 раз

Re: Нужна помощь из скриптом

Сообщение viktor6 » Вт сен 24, 2019 4:37 pm

Divan писал(а):
Вт сен 24, 2019 4:33 pm
Это работает так, в устройствах онлайн вы устройство привязываете к статусу. Выбираете объект, который создали через "Простые устройства" и потом выбираете его свойство status. Когда устройство будет онлайн, оно установит статус 1, когда оффлайн, то установит статус 0.

Устройство - Телефон жены
СпойлерПоказать
08-Снимок.JPG
Устройство - Телефон мужа
СпойлерПоказать
09-Снимок.JPG
Спасибо, сам сделал не успел ответить :oops:
Raspberry Pi3, с образа от Сергея 3.34
Ответить