- Безымянный2.png (30.57 КБ) 4788 просмотров
Простые устройства / Simple Devices описание методов
Модератор: immortal
-
- Сообщения: 2801
- Зарегистрирован: Пн дек 26, 2016 9:51 am
- Откуда: Екатеринбург
- Благодарил (а): 380 раз
- Поблагодарили: 694 раза
- Контактная информация:
Re: Простые устройства / Simple Devices описание методов
Покажу наглядно как это выглядит
В скобочках время, через которое система переключится в режим никого нет дома (если не будет продлевания). Очень удобная доработка для отладки и на будущее.- За это сообщение автора directman66 поблагодарили (всего 3):
- TrDA (Чт май 24, 2018 4:03 pm) • gvasiliy (Вс май 27, 2018 8:32 pm) • olegvolk75 (Пт июн 15, 2018 10:20 am)
- Рейтинг: 3.49%
Если вам помогло данное сообщение, не поленитесь нажать кнопку "спасибо".
CONNECT | Оборудование | Блог | Дополнения | Email | Telegram
CONNECT | Оборудование | Блог | Дополнения | Email | Telegram
-
- Сообщения: 2801
- Зарегистрирован: Пн дек 26, 2016 9:51 am
- Откуда: Екатеринбург
- Благодарил (а): 380 раз
- Поблагодарили: 694 раза
- Контактная информация:
Re: Простые устройства / Simple Devices описание методов
Немного доработал сценарий для переключения режимов через телеграм
Команды (Режимы):
callback
ну и естественно нужно по всему классу расставить где нужно свойство hide.
Команды (Режимы):
СпойлерПоказать
Код: Выделить всё
$this->sendAction($chat_id);
$off = hex2bin('F09F8C91');
$on = hex2bin('F09F8C95');
$objects=getObjectsByClass("OperationalModes");
//print_r($objects);
foreach($objects as $obj) {
if (gg($obj['TITLE'].".hide")!=1)
{
$state = $off;
if (gg($obj['TITLE'].".active") == 1)
$state = $on;
$option[] = $this->buildInlineKeyboardButton($text=$state.gg($obj['TITLE'].".title"),"","CallbackMode_rejim_".$obj['TITLE'],"");
}
}
$count_row = 3;
$option = array_chunk($option, $count_row);
$keyb = $this->buildInlineKeyBoard($option);
$content = array('chat_id' => $chat_id, 'text' => "Режимы:", 'reply_markup' => $keyb, 'parse_mode' => 'HTML');
$res = $this->sendContent($content);
callback
СпойлерПоказать
Код: Выделить всё
$off = hex2bin('F09F8C91');
$on = hex2bin('F09F8C95');
include_once(DIR_MODULES . 'telegram/telegram.class.php');
//$telegram_module->sendMessageToAll(substr($callback,9,6));
//$telegram_module->sendMessageToAll(substr($callback,19));
if (substr($callback,1,19)== 'CallbackMode_rejim_')
{
$skip = true;
$obj = substr($callback, 19);
$text = gg($obj.".title");
cm($obj.".Change");
if (gg($obj.".active") == 1)
$text .= " включен ". $on;
else
$text .= " выключен ". $off;
$this->sendAnswerCallbackQuery($callback_id,$text, false);
$objects=getObjectsByClass("OperationalModes");
//print_r($objects);
foreach($objects as $obj) {
if (gg($obj['TITLE'].".hide")!=1)
{
$state = $off;
if (gg($obj['TITLE'].".active") == 1)
$state = $on;
$option[] = $this->buildInlineKeyboardButton($text=$state.gg($obj['TITLE'].".title"),"","CallbackMode_rejim_".$obj['TITLE'],"");
}
}
$count_row = 3;
$option = array_chunk($option, $count_row);
$keyb = $this->buildInlineKeyBoard($option);
$this->editMessage($chat_id,$message_id,"Режимы:",$keyb);
}
Если вам помогло данное сообщение, не поленитесь нажать кнопку "спасибо".
CONNECT | Оборудование | Блог | Дополнения | Email | Telegram
CONNECT | Оборудование | Блог | Дополнения | Email | Telegram
-
- Сообщения: 2801
- Зарегистрирован: Пн дек 26, 2016 9:51 am
- Откуда: Екатеринбург
- Благодарил (а): 380 раз
- Поблагодарили: 694 раза
- Контактная информация:
Re: Простые устройства / Simple Devices описание методов
Исправил ошибку в кээлбэке предыдущего сообщения, кто копировал код, обновите.
Если вам помогло данное сообщение, не поленитесь нажать кнопку "спасибо".
CONNECT | Оборудование | Блог | Дополнения | Email | Telegram
CONNECT | Оборудование | Блог | Дополнения | Email | Telegram
-
- Сообщения: 2801
- Зарегистрирован: Пн дек 26, 2016 9:51 am
- Откуда: Екатеринбург
- Благодарил (а): 380 раз
- Поблагодарили: 694 раза
- Контактная информация:
Re: Простые устройства / Simple Devices описание методов
Logrus писал(а): ↑Чт май 17, 2018 10:04 pmссылка же в подписиКод: Выделить всё
if ($night == 1 && $security == 0) { $this->setProperty('active', 2); sg('minMsgLevel', 3); } else { $this->setProperty('active', 1); }
кратко: класс юзерс и румс в класс пресенсе, там по условиям с проверкой двери активате или деактивате режима, в нем по условиям дальше все разруливается, еще и на эконом влияет с другим режимом и т.д.
все по изменению свойств без опросов в таймере (через таймер минутный ночной, темное время и в часовом режим энергопотребления)
Можно про это более подробно расписать? Может есть смысл попросить Сергея добавить режим все спят штатно?
вот еще тема viewtopic.php?f=4&t=2612&p=61579&hilit= ... %82#p61579
- За это сообщение автора directman66 поблагодарил:
- Samir77 (Ср янв 06, 2021 8:34 pm)
- Рейтинг: 1.16%
Если вам помогло данное сообщение, не поленитесь нажать кнопку "спасибо".
CONNECT | Оборудование | Блог | Дополнения | Email | Telegram
CONNECT | Оборудование | Блог | Дополнения | Email | Telegram
-
- Сообщения: 2086
- Зарегистрирован: Пт апр 07, 2017 12:20 pm
- Благодарил (а): 313 раз
- Поблагодарили: 458 раз
Re: Простые устройства / Simple Devices описание методов
а оно, имхо, и заточено на три состояния, в базовой поставке на сцене кнопка режима по ним и меняетсяМожно про это более подробно расписать? Может есть смысл попросить Сергея добавить режим все спят штатно?
мне сейчас некогда, еще не копал и не садил, лето началось
в коннекте все обновлено и есть (только файлы ПУ еще правленые, с оригинальными они не по делу и часто лезет куда не надо)
п.с. ранее более простой вариант расписывал
https://connect.smartliving.ru/profile/1646/blog64.html
если расписывать то что сейчас раза в три больше выйдет (хотя оно и более "экономно" работает)
п.п.с. и там есть куда еще идти, избавиться от модуля пинг и т.д.
Если Сергея заинтересуешь и это надо, я могу ему бд полностью скинуть (там просто личное есть, пароли, явки, чистить нужно)
Telegram | Блог
Raspberry Pi3, с образа от Сергея 3.31, PHP 7, флешка 16 Гб работает с 10.09.2017
Почти всё время уходит на исправление ошибок, оставшееся - на их повторение. (с) ))) Спасибо
Raspberry Pi3, с образа от Сергея 3.31, PHP 7, флешка 16 Гб работает с 10.09.2017
Почти всё время уходит на исправление ошибок, оставшееся - на их повторение. (с) ))) Спасибо
-
- Сообщения: 141
- Зарегистрирован: Сб мар 11, 2017 7:03 pm
- Благодарил (а): 50 раз
- Поблагодарили: 15 раз
Re: Простые устройства / Simple Devices описание методов
Подскажите, еще не решили проблему?directman66 писал(а): ↑Чт май 17, 2018 11:16 amСейчас пишеттаймер продлилсяКод: Выделить всё
Кто-то есть. Активность:
И такое ощущение, что настройка Изменение означает активность в помещении игнорируется при обработке режима nobodyhome, так как я сценарием дергал аналогичный датчик движения простых устройств.
Точно, сейчас провел эксперимент - полное игнорирование настроек *.ignoreNobodysHome
метод motionDetected на месте
Код: Выделить всё
/* begin injection of {SDevices} */ require(DIR_MODULES.'devices/SMotions_motionDetected.php'); /* end injection of {SDevices} */
Это делал:
Это тоже:в обьектах найди - OperationalModes
там внутри него NobodyHomeMode
а уж у него есть такое свойство NobodyHomeMode.active (H) установи 1 и заработает
Не помогает:Оставь вот это только в первом
//echo "Updated";
/* begin injection of {SDevices} */
require(DIR_MODULES.'devices/Rooms_updateActivityStatus.php');
/* end injection of {SDevices} */
и все
Кнопка/индикатор на сцене работает правильно, а вот в меню всегда "кто-то есть. Активность"
- Вложения
-
- 123.PNG (40.95 КБ) 4632 просмотра
Orange Pi PCPlus, Debian Stretch with Armbian Linux 4.19.62-sunxi
-
- Сообщения: 2086
- Зарегистрирован: Пт апр 07, 2017 12:20 pm
- Благодарил (а): 313 раз
- Поблагодарили: 458 раз
Re: Простые устройства / Simple Devices описание методов
а что тут решать, если при изменении режима не отрабатывает, посмотри у меня в режиме и моде ченджед метод, последние три строчки решат )))
п.с. про это даже в старом варианте расписано
п.п.с. и еще раз, код в ПУ влияющий на режим никогонетдома ущербен (особенно всем по умолчанию, принудительно) и даже вредит.
п.с. про это даже в старом варианте расписано
п.п.с. и еще раз, код в ПУ влияющий на режим никогонетдома ущербен (особенно всем по умолчанию, принудительно) и даже вредит.
- За это сообщение автора Logrus поблагодарил:
- olegvolk75 (Ср июн 06, 2018 4:21 pm)
- Рейтинг: 1.16%
Telegram | Блог
Raspberry Pi3, с образа от Сергея 3.31, PHP 7, флешка 16 Гб работает с 10.09.2017
Почти всё время уходит на исправление ошибок, оставшееся - на их повторение. (с) ))) Спасибо
Raspberry Pi3, с образа от Сергея 3.31, PHP 7, флешка 16 Гб работает с 10.09.2017
Почти всё время уходит на исправление ошибок, оставшееся - на их повторение. (с) ))) Спасибо
-
- Сообщения: 141
- Зарегистрирован: Сб мар 11, 2017 7:03 pm
- Благодарил (а): 50 раз
- Поблагодарили: 15 раз
Re: Простые устройства / Simple Devices описание методов
Блин, и ведь уже читал про этоб но что-то в голове до конца не срослось .Logrus писал(а): ↑Ср июн 06, 2018 3:53 pmа что тут решать, если при изменении режима не отрабатывает, посмотри у меня в режиме и моде ченджед метод, последние три строчки решат )))
п.с. про это даже в старом варианте расписано
п.п.с. и еще раз, код в ПУ влияющий на режим никогонетдома ущербен (особенно всем по умолчанию, принудительно) и даже вредит.
Заработало, спасибо!
Эх, вот если б ещё вот это побороть:
Не подскажешь, как? На форуме уже видел решение, но не могу что-то теперь найти.
- Вложения
-
- 666.PNG (10.14 КБ) 4616 просмотров
Orange Pi PCPlus, Debian Stretch with Armbian Linux 4.19.62-sunxi
-
- Сообщения: 2086
- Зарегистрирован: Пт апр 07, 2017 12:20 pm
- Благодарил (а): 313 раз
- Поблагодарили: 458 раз
Re: Простые устройства / Simple Devices описание методов
а точнее с этим что не так, у себя только на дд (или на опенклосе, забыл уже (они не беспокоят) и не дома сейчас) и оставил таймеры с отсчетом.
viewtopic.php?f=7&t=3574&start=590#p73731
п.с. на форуме в пост только один скрин прикрепляется, бага
viewtopic.php?f=7&t=3574&start=590#p73731
п.с. на форуме в пост только один скрин прикрепляется, бага
Telegram | Блог
Raspberry Pi3, с образа от Сергея 3.31, PHP 7, флешка 16 Гб работает с 10.09.2017
Почти всё время уходит на исправление ошибок, оставшееся - на их повторение. (с) ))) Спасибо
Raspberry Pi3, с образа от Сергея 3.31, PHP 7, флешка 16 Гб работает с 10.09.2017
Почти всё время уходит на исправление ошибок, оставшееся - на их повторение. (с) ))) Спасибо
-
- Сообщения: 141
- Зарегистрирован: Сб мар 11, 2017 7:03 pm
- Благодарил (а): 50 раз
- Поблагодарили: 15 раз
Re: Простые устройства / Simple Devices описание методов
Время последнего зарегистрированного движения сбрасывается каждую минуту. Т. е. если движение было час назад, здесь покажет максимум минуту назад.
Отправлено с моего Redmi 3S через Tapatalk
Отправлено с моего Redmi 3S через Tapatalk
Orange Pi PCPlus, Debian Stretch with Armbian Linux 4.19.62-sunxi