вопросы от новичка

Всё, что не подходит под вышеперечисленные разделы

Модератор: immortal

Sergey.Chek
Сообщения: 61
Зарегистрирован: Ср фев 13, 2019 9:50 pm
Благодарил (а): 90 раз
Поблагодарили: 15 раз

Re: вопросы от новичка

Сообщение Sergey.Chek » Сб мар 28, 2020 10:48 pm

Chainik писал(а):
Сб мар 28, 2020 10:28 pm
Тогда надо вернуть восклицательный знак и попробовать действовать "в лоб". Инвертируем значение переменной на входе.
После строчки

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

$status = $this->getProperty('status');
вставляем фрагмент

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

If ($status <> 0) {
$status = 0;
} else {
$status = 1;}
По идее должно помочь.
Огромное спасибо! Заработало как положено!
Logrus
Сообщения: 1584
Зарегистрирован: Пт апр 07, 2017 12:20 pm
Благодарил (а): 276 раз
Поблагодарили: 311 раз

Re: вопросы от новичка

Сообщение Logrus » Вс мар 29, 2020 9:35 pm

Sergey.Chek писал(а):
Сб мар 28, 2020 9:22 pm
Logrus писал(а):
Вт фев 06, 2018 9:34 pm
ypiter2006 писал(а):в телеграмме был вопрос
возможно это то что нужно
в SDevices/SOpenClose в метод logicAction у объекта "входная дверь"

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

$ot = $this->object_title;
$status = $this->getProperty('status');
$updatedTime = $this->getProperty('updated');
$passed = time() - $updatedTime;
$newTimeout = 0;

if (!$status) {
    ClearTimeOut($ot.'_passed');
    say("Входная дверь закрыта",2);
}

if ($passed < 60 && $status) {
    $newTimeout = 60;
    say("Входная дверь открыта",2);
} elseif ($passed < 90 && $status) {
    $newTimeout = 120;
    say("Входная дверь открыта ".round($passed/60)." минуту",2);
} elseif ($passed < 240 && $status) {
    $newTimeout = 120;
    say("Входная дверь открыта ".round($passed/60)." минуты",2);
} elseif ($passed < 1900 && $status) {
    $newTimeout = 300;
    say("Входная дверь открыта ".round($passed/60)." минут",2);
}

if ($newTimeout > 0) {
    setTimeOut($ot.'_passed','callMethod("'.$ot.'.logicAction");',$newTimeout);
}
это на входную дверь:
при открытой - Входная дверь открыта, Входная дверь открыта 1 минуту, Входная дверь открыта 3 минуты, Входная дверь открыта 5 минут и далее с 5-ти минутным интервалом до 30 минут включительно
при закрытой - Входная дверь закрыта

п.с. у датчика от броадлинк в свойства 0 при закрытой, 1 при открытой, у сяоми наоборот
У меня 0 при открытой, 1 при закрытой. Что нужно в коде изменить? Спасибо.
там откуда вы это цитировали долистать до следующей страницы
За это сообщение автора Logrus поблагодарил:
Sergey.Chek (Вс мар 29, 2020 10:30 pm)
Рейтинг: 1.23%
Мой CONNECT | Блог
Raspberry Pi3, с образа от Сергея 3.31, PHP 7
Почти всё время уходит на исправление ошибок, оставшееся - на их повторение. (с) ))) Спасибо - ТАМ =>
Sergey.Chek
Сообщения: 61
Зарегистрирован: Ср фев 13, 2019 9:50 pm
Благодарил (а): 90 раз
Поблагодарили: 15 раз

Re: вопросы от новичка

Сообщение Sergey.Chek » Вс мар 29, 2020 11:39 pm

При закрытой двери напоминания каждые 10 минут.
Так и должно быть?
Вложения
IMG_20200329_232812.jpg
IMG_20200329_232812.jpg (42.46 КБ) 909 просмотров
Logrus
Сообщения: 1584
Зарегистрирован: Пт апр 07, 2017 12:20 pm
Благодарил (а): 276 раз
Поблагодарили: 311 раз

Re: вопросы от новичка

Сообщение Logrus » Пн мар 30, 2020 12:28 am

Снимок.PNG
Снимок.PNG (32.17 КБ) 894 просмотра
если б была открыта долго, то сказала б на 1,3, каждой 5-й до достижения 30 минут и далее можно действия
как впрочем и в любом месте изменить
Мой CONNECT | Блог
Raspberry Pi3, с образа от Сергея 3.31, PHP 7
Почти всё время уходит на исправление ошибок, оставшееся - на их повторение. (с) ))) Спасибо - ТАМ =>
Sergey.Chek
Сообщения: 61
Зарегистрирован: Ср фев 13, 2019 9:50 pm
Благодарил (а): 90 раз
Поблагодарили: 15 раз

Re: вопросы от новичка

Сообщение Sergey.Chek » Чт апр 02, 2020 3:25 pm

Sergey.Chek писал(а):
Вс мар 29, 2020 11:39 pm
При закрытой двери напоминания каждые 10 минут.
Так и должно быть?
Понял, почему так происходит, у меня отправка данных стоит 10 минут.
В остальных методах кроме logicaction ни чего не прописано.
Что же нужно сделать, чтобы Алиса проговаривала один раз, при изменении статуса, а не тарабанила каждые 10 минут.
Спасибо.
Аватара пользователя
xor
Сообщения: 1520
Зарегистрирован: Сб ноя 22, 2014 8:45 pm
Благодарил (а): 156 раз
Поблагодарили: 449 раз

Re: вопросы от новичка

Сообщение xor » Пт апр 03, 2020 5:54 pm

Sergey.Chek писал(а):
Sergey.Chek писал(а):
Вс мар 29, 2020 11:39 pm
При закрытой двери напоминания каждые 10 минут.
Так и должно быть?
Понял, почему так происходит, у меня отправка данных стоит 10 минут.
В остальных методах кроме logicaction ни чего не прописано.
Что же нужно сделать, чтобы Алиса проговаривала один раз, при изменении статуса, а не тарабанила каждые 10 минут.
Спасибо.
Вы где статус проверяете? в привязанном к свойству методе доступны параметры олд_валуе и нью_валюе. Вот их и проверяйте.

Отправлено с моего Redmi 4X через Tapatalk

За это сообщение автора xor поблагодарил:
Sergey.Chek (Пт апр 03, 2020 6:34 pm)
Рейтинг: 1.23%
Ответить