Страница 1 из 7

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

Добавлено: Пн сен 23, 2019 11:04 pm
viktor6
Всем привет! Помогите написать скрипт или как проще сделать. Суть такова, я установил подсветку на прошивке https://github.com/FabLab-Luenen/McLighting и хочу сделать так что когда дома нет некого то она бы выключалась. Решил сделать через модуль Online. Завел туда IP мобилки в Онлине прописал такой код

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

getURL('http://'.gg('girlynda2.ipaddr').'/auto', 0);
в Офлине

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

getURL('http://'.gg('girlynda2.ipaddr').'/off', 0);
Все работает но нудно чтобы подсветка оставалась работать когда жена дома и если она уходит то подсветка выключалась.
Не как не могу сообразить как это все реализовать.

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

Добавлено: Пн сен 23, 2019 11:11 pm
Divan
Скажите, у вас на Raspberry Pi3 есть модуль Bluetooth? У вас на смартфоне WiFi не уходит в ждущий режим, когда телефон выключен?

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

Добавлено: Пн сен 23, 2019 11:20 pm
viktor6
Divan писал(а):
Пн сен 23, 2019 11:11 pm
Скажите, у вас на Raspberry Pi3 есть модуль Bluetooth?
Нет модулем Блютуз не пользуюсь
Divan писал(а):
Пн сен 23, 2019 11:11 pm
У вас на смартфоне WiFi не уходит в ждущий режим, когда телефон выключен?
Наверное все зависит от телефона я такое замечал на Xiaomi Redmi 4x правда это было давно может и модуль Online глючил.

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

Добавлено: Пн сен 23, 2019 11:27 pm
Divan
Сначала протестируйте для себя оба варианта, Bluetooth и WiFi, создайте два объекта, Вы и жена в "Устройствах онлайн" и "Устройства Bluetooth", как настраивать никого нет дома, вы можете посмотреть здесь Режим: Никого нет дома. Для себя определите рабочий вариант. У меня WiFi на телефоне уходит в ждущий режим и просыпается, когда я включаю телефон, bluetooth работает всегда. Поэтому, если вы настроите работу по bluetooth, то когда вас и жены дома не будет, то свет выключится.

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

Добавлено: Пн сен 23, 2019 11:57 pm
viktor6
Divan писал(а):
Пн сен 23, 2019 11:27 pm
Сначала протестируйте для себя оба варианта, Bluetooth и WiFi, создайте два объекта, Вы и жена в "Устройствах онлайн" и "Устройства Bluetooth", как настраивать никого нет дома, вы можете посмотреть здесь Режим: Никого нет дома. Для себя определите рабочий вариант. У меня WiFi на телефоне уходит в ждущий режим и просыпается, когда я включаю телефон, bluetooth работает всегда. Поэтому, если вы настроите работу по bluetooth, то когда вас и жены дома не будет, то свет выключится.
Из комментариев понял что "очень древний вариант"

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

Добавлено: Вт сен 24, 2019 12:35 am
Divan
Всмысле древний вариант? Нет такого понятия древний, есть рабочий или не рабочий. Вы можете либо создать простое устройство и при выключении устройства запустится сценарии, либо создать никого нет дома. Вам нужно получить желаемый результат, а как вы его реализуете это вам решать.

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

Добавлено: Вт сен 24, 2019 1:19 am
Divan
Создаете сценарии на выключение подсветки на два устройства, одно устройство жены, второе устройство мужа. Примерный вариант логики, если ушел муж, жена дома, то подсветку не выключать, если жена ушла, муж дома, подсветку не выключать, если оба ушли, то подсветку выключить, значит нам нужно последнее, когда оба уйдете, то подсветку выключить. Остается вам вычислить, через который промежуток времени ваш смартфон уснет и WiFi перестанет реагировать на запросы, после чего установите в "Устройствах онлайн" интервал проверки когда оффлайн, допустим у вашего телефона WiFi засыпает через 20 минут и просыпается через 20 минут, то ставите тайминг на 21 минуту. Чтобы вам понять когда модуль wifi оффлайн\онлайн, установите модуль телеграмм и пусть на ваш телефон приходит уведомление, что устройство оффлайн\онлайн, так вы примерно вычислите как работает ваш модуль WiFi.

Пример логики в блоках
СпойлерПоказать
Снимок.JPG
Снимок.JPG (31.34 КБ) 4290 просмотров
Пример логики в PHP

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

if (getGlobal("Relay01.status") == 0 && getGlobal("Relay02.status") == 0) {
  getURL('http://'.gg('girlynda2.ipaddr').'/off', 0);
  say('Подсветка выключена', 2);
}

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

Добавлено: Вт сен 24, 2019 9:14 am
viktor6
Divan писал(а):
Вт сен 24, 2019 1:19 am
Создаете сценарии на выключение подсветки на два устройства, одно устройство жены, второе устройство мужа. Примерный вариант логики, если ушел муж, жена дома, то подсветку не выключать, если жена ушла, муж дома, подсветку не выключать, если оба ушли, то подсветку выключить, значит нам нужно последнее, когда оба уйдете, то подсветку выключить. Остается вам вычислить, через который промежуток времени ваш смартфон уснет и WiFi перестанет реагировать на запросы, после чего установите в "Устройствах онлайн" интервал проверки когда оффлайн, допустим у вашего телефона WiFi засыпает через 20 минут и просыпается через 20 минут, то ставите тайминг на 21 минуту. Чтобы вам понять когда модуль wifi оффлайн\онлайн, установите модуль телеграмм и пусть на ваш телефон приходит уведомление, что устройство оффлайн\онлайн, так вы примерно вычислите как работает ваш модуль WiFi.

Пример логики в блоках
СпойлерПоказать
Снимок.JPG
Пример логики в PHP

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

if (getGlobal("Relay01.status") == 0 && getGlobal("Relay02.status") == 0) {
  getURL('http://'.gg('girlynda2.ipaddr').'/off', 0);
  say('Подсветка выключена', 2);
}
Спасибо.
Устройствах онлайн работают отлично не каких сбоев не дает тобиш WiFi не засыпает. Вроде как :oops:
СпойлерПоказать
2019-09-24 09:10:05 tries counter reset (status: 1)
2019-09-24 09:09:38 tries counter reset (status: 2)
2019-09-24 09:04:46 tries counter reset (status: 1)
2019-09-24 09:04:16 tries counter reset (status: 2)
2019-09-24 08:33:00 Host is online
2019-09-24 08:33:00 tries counter increased to 2 (status: 1)
2019-09-24 08:32:30 tries counter increased to 1 (status: 1)
2019-09-24 08:32:05 tries counter reset (status: 1)
2019-09-24 07:15:17 Host is offline
2019-09-24 07:15:17 tries counter increased to 2 (status: 2)
2019-09-24 07:14:45 tries counter increased to 1 (status: 2)
2019-09-24 07:14:12 tries counter reset (status: 2)
2019-09-24 07:09:46 tries counter reset (status: 1)
2019-09-24 07:09:15 tries counter reset (status: 2)
2019-09-24 07:08:05 tries counter reset (status: 1)
2019-09-24 07:07:36 tries counter reset (status: 2)
2019-09-24 07:04:35 tries counter reset (status: 1)
2019-09-24 07:04:07 tries counter reset (status: 2)
2019-09-24 07:03:18 tries counter reset (status: 1)
2019-09-24 07:02:50 tries counter reset (status: 2)
2019-09-24 07:01:29 tries counter reset (status: 1)
2019-09-24 07:01:00 tries counter reset (status: 2)
2019-09-24 06:59:29 tries counter reset (status: 1)
2019-09-24 06:58:59 tries counter reset (status: 2)
2019-09-24 06:49:13 tries counter reset (status: 1)
2019-09-24 06:48:43 tries counter reset (status: 2)
2019-09-24 06:48:17 tries counter reset (status: 1)
2019-09-24 06:47:48 tries counter reset (status: 2)
2019-09-24 06:14:15 Host is online
2019-09-24 06:14:15 tries counter increased to 2 (status: 1)
А вод с кодом я не много не понял куда его прописывать :cry:

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

Добавлено: Вт сен 24, 2019 11:05 am
Divan
Вам нужно создать два простых устройства Телефон жены и Телефон мужа, при создании после чего у вас

Создаете простое устройство Телефон жены, если у вас нет объекта, то ставите галочку, создать объект автоматически
СпойлерПоказать
Снимок3.JPG
Снимок3.JPG (70.07 КБ) 4234 просмотра
В Устройствах онлайн у вас два варианта
1) Выбрать сценарии "Нас нет дома"
2) Вставить код. Пояснение по коду "Relay01.status", этот объект Relay создается при создании простого устройства.
СпойлерПоказать
Снимок2.JPG
Снимок2.JPG (84.67 КБ) 4234 просмотра
Сценарии можете создать двумя способами, в виде кода PHP или в виде боков

1) Создаете сценарии в виде кода, например: Нас нет дома
СпойлерПоказать
Снимок4.JPG
Снимок4.JPG (66.72 КБ) 4234 просмотра

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

if (getGlobal("Relay01.status") == 0 && getGlobal("Relay02.status") == 0) {
  getURL('http://'.gg('girlynda2.ipaddr').'/off', 0);
  say('Подсветка выключена', 2);
}
2) Создаете сценарии в виде блоков, например: Нас нет дома
СпойлерПоказать
Снимок.JPG
Снимок.JPG (31.34 КБ) 4234 просмотра

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

Добавлено: Вт сен 24, 2019 11:50 am
viktor6
Divan писал(а):
Вт сен 24, 2019 11:05 am
Вам нужно создать два простых устройства Телефон жены и Телефон мужа, при создании после чего у вас

Создаете простое устройство Телефон жены, если у вас нет объекта, то ставите галочку, создать объект автоматически
СпойлерПоказать
Снимок3.JPG
В Устройствах онлайн у вас два варианта
1) Выбрать сценарии "Нас нет дома"
2) Вставить код. Пояснение по коду "Relay01.status", этот объект Relay создается при создании простого устройства.
СпойлерПоказать
Снимок2.JPG
Сценарии можете создать двумя способами, в виде кода PHP или в виде боков

1) Создаете сценарии в виде кода, например: Нас нет дома
СпойлерПоказать
Снимок4.JPG

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

if (getGlobal("Relay01.status") == 0 && getGlobal("Relay02.status") == 0) {
  getURL('http://'.gg('girlynda2.ipaddr').'/off', 0);
  say('Подсветка выключена', 2);
}
2) Создаете сценарии в виде блоков, например: Нас нет дома
СпойлерПоказать
Снимок.JPG
Спасибо что так разжевали, но не пойму причем тут простые устройства смысл в их в данном случае?