[Модуль] Веб-переменные (webvars)

Разработка дополнительных модулей, подключение различных приложений.

Модератор: immortal

Kirch
Сообщения: 52
Зарегистрирован: Чт июл 26, 2018 4:50 pm

Re: [Модуль] Веб-переменные (webvars)

Сообщение Kirch »

xor писал(а): Пт дек 03, 2021 6:07 pm выигрыш - нет модуля, минус один цикл, хозяин-барин с точки зрения гибкости обработки
Спасибо. Все равно нужен в цикл встраиваться, хотя и более стабильный.
Так можно и всю систему под себя переписать.
Стоит ли
Аватара пользователя
xor
Сообщения: 2045
Зарегистрирован: Сб ноя 22, 2014 8:45 pm

Re: [Модуль] Веб-переменные (webvars)

Сообщение xor »

Kirch писал(а): Пт дек 03, 2021 7:07 pm
xor писал(а): Пт дек 03, 2021 6:07 pm выигрыш - нет модуля, минус один цикл, хозяин-барин с точки зрения гибкости обработки
Спасибо. Все равно нужен в цикл встраиваться, хотя и более стабильный.
Так можно и всю систему под себя переписать.
Стоит ли
мне хватает метода ClockChime.onNewMinute для моих целей, нужно чаще?
AK1
Сообщения: 154
Зарегистрирован: Чт фев 13, 2020 6:39 pm

Re: [Модуль] Веб-переменные (webvars)

Сообщение AK1 »

Использую веб-переменные для получения данных с устройств 1М. Для некоторых параметров (мощность, ток) иногда нужен частый опрос (иногда 10-20 сек). Нормально, стабильно работает.
Kirch
Сообщения: 52
Зарегистрирован: Чт июл 26, 2018 4:50 pm

Re: [Модуль] Веб-переменные (webvars)

Сообщение Kirch »

Kirch писал(а): Пт дек 03, 2021 8:42 am Доброго дня.
Измучила нестабильность модуля webvars. На нем построен опрос датчиков и весь дом теперь обогревается по ним.
Вот опять цикл webvars остановлен. ЗАпустить не могу. Веб переменные обновляются по кнопке, но автоматически - нет.
В форуме проходило ,что нужно убрать правую часть $cycles=array('ping'=>'ping','webvars'=>'webvars');
Убрал. Не помогает. Сам цикл в прошлый раз заработал, теперь сам же встал и не запускается в X-Ray
Привожу текст кода в System checkState
Кто тут понимает, почему цикл не стартует и как вывести диагностику причин?

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

$details=array();
$red_state=0;
$yellow_state=0;

$cycles=array('states'=>'states','main'=>'main','execs'=>'exec','scheduler'=>'scheduler');
foreach($cycles as $k=>$v) {
 $tm=getGlobal('ThisComputer.cycle_'.$k.'Run');
 if (time()-$tm>5*60) {
  $red_state=1;
  $details[]=$v." ".LANG_GENERAL_CYCLE." ".LANG_GENERAL_STOPPED.".";
 }
}
//$cycles=array('ping'=>'ping','webvars'=>'webvars');
$cycles=array('ping'=>'ping');
foreach($cycles as $k=>$v) {
 $tm=getGlobal('ThisComputer.cycle_'.$k.'Run');
 if (time()-$tm>10*60) {
  $yellow_state=1;
  $details[]=$v." ".LANG_GENERAL_CYCLE." ".LANG_GENERAL_STOPPED.".";  
 }
}

/*
$objects=array('MotionSensor1'=>'Датчик движения 1','MotionSensor2'=>'Датчик движения 2','TempSensor01'=>'Датчик температуры','HumSensor01'=>'Датчик влажности');
foreach($objects as $k=>$v) {
 if (!gg($k.'.alive')) {
  $yellow_state=1;
  $details[]="Не обновляется ".$v.'.';  
 }
}
*/

if ((int)gg('ThisComputer.SpaceProblems')>0) {
  $red_state=1;
  $details[]="Недостаточно места на диске (".gg('ThisComputer.SpaceProblems_Details').').';  
}

if ($red_state) {
 $state='red';
 $state_title=LANG_GENERAL_RED; 
} elseif ($yellow_state) {
 $state='yellow';
 $state_title=LANG_GENERAL_YELLOW;  
} else {
 $state='green';
 $state_title=LANG_GENERAL_GREEN;   
}

$new_details=implode(". ",$details);
if ($this->getProperty("stateDetails")!=$new_details) {
 $this->setProperty('stateDetails',$new_details);
}

if ($this->getProperty('stateColor')!=$state) {
 $this->setProperty('stateColor',$state);
 $this->setProperty('stateTitle',$state_title);
 if ($state!='green') {
  say(LANG_GENERAL_SYSTEM_STATE." ".LANG_GENERAL_CHANGED_TO." ".$state_title.".");
  say(implode(". ",$details),2);
 } else {
  say(LANG_GENERAL_SYSTEM_STATE." ".LANG_GENERAL_RESTORED_TO." ".$state_title,2);
 }
 $this->callMethod('stateChanged');
}
/* begin injection of {SDevices} */
require(DIR_MODULES.'devices/system_checkstate.php');
/* end injection of {SDevices} */
Думаю уже уйти в сторону поддерживаемых систем УД.
Вернул назад $cycles=array('ping'=>'ping');
Вроде цикл заработал. Не сразу, но чуть позже в этот день. Нет идей, почему такая нестабильность.
Аватара пользователя
xor
Сообщения: 2045
Зарегистрирован: Сб ноя 22, 2014 8:45 pm

Re: [Модуль] Веб-переменные (webvars)

Сообщение xor »

AK1 писал(а): Сб дек 04, 2021 7:46 pm Использую веб-переменные для получения данных с устройств 1М. Для некоторых параметров (мощность, ток) иногда нужен частый опрос (иногда 10-20 сек). Нормально, стабильно работает.
тоже можно было выкрутиться, например, таймерами. Но, естественно, если модуль работает, то и ок
Аватара пользователя
AndrewStick
Сообщения: 35
Зарегистрирован: Пт янв 15, 2021 5:56 am
Откуда: Москва
Контактная информация:

Re: [Модуль] Веб-переменные (webvars)

Сообщение AndrewStick »

Господа, помогите пожалуйста с регуляркой.
Что то не выходит у меня каменный цветок.
Мне надо отсюда получить эти цифры.
SPOILERSPOILER_SHOW
QIP Shot - Screen 669.jpg
QIP Shot - Screen 669.jpg (266.05 КБ) 3388 просмотров
Это вообще возможно данным модулем?
sanog
Сообщения: 4
Зарегистрирован: Чт дек 20, 2018 1:01 pm

Re: [Модуль] Веб-переменные (webvars)

Сообщение sanog »

ссылка https://www.mosenergosbyt.ru/individual ... litami.php


переменная multi_trf_t1
шаблон поиска >Многотарифный учёт.+?Пиковая зона Т1<.+?d-table-num-left">(.+?)<\/div>

переменная multi_trf_t2
шаблон поиска >Многотарифный учёт.+?Ночная зона Т2<.+?d-table-num-left">(.+?)<\/div>

переменная multi_trf_t3
шаблон поиска >Многотарифный учёт.+?Полупиковая зона Т3<.+?d-table-num-left">(.+?)<\/div>
sanog
Сообщения: 4
Зарегистрирован: Чт дек 20, 2018 1:01 pm

Re: [Модуль] Веб-переменные (webvars)

Сообщение sanog »

>Многотарифный учёт.+?Пиковая зона Т1<.+?d-table-num-left">(.+?)<\/div>
>Многотарифный учёт.+?Ночная зона Т2<.+?d-table-num-left">(.+?)<\/div>
>Многотарифный учёт.+?Полупиковая зона Т3<.+?d-table-num-left">(.+?)<\/div>
Аватара пользователя
AndrewStick
Сообщения: 35
Зарегистрирован: Пт янв 15, 2021 5:56 am
Откуда: Москва
Контактная информация:

Re: [Модуль] Веб-переменные (webvars)

Сообщение AndrewStick »

sanog писал(а): Сб дек 25, 2021 8:00 pm >Многотарифный учёт
Вот спасибо тебе, добрый человек! Теперь все по фен-шую
SPOILERSPOILER_SHOW
QIP Shot - Screen 670.jpg
QIP Shot - Screen 670.jpg (98.53 КБ) 3334 просмотра
Аватара пользователя
CheBuraw
Сообщения: 36
Зарегистрирован: Ср авг 23, 2017 6:29 pm

Re: [Модуль] Веб-переменные (webvars)

Сообщение CheBuraw »

Здравствуйте! Использую данный модуль вполне успешно, но вот вчера полдня убил на настройку и так не смог понять почему не работает. Может у кого есть мысли почему не работает и как это поправить, буду очень благодарен.

Проблема следующая: есть сайт RP5 с прогнозом погоды. На страничке есть интересный блок:
Изображение (http://joxi.ru/1A5BnL6C4KbQGr)
Добавляю его в переменные в таком виде:
Изображение (http://joxi.ru/n2Y91L4hkjenR2)

В логе выходит ошибка: 2022-01-03 09:04:11 → INCORRECT VALUE:

По началу думал, может проблема из-за кириллицы в URL. Но изучив данную ветку форума понял что у других с кириллицей в URL проблем не бывает. Тогда начал экспериментировать с данными конкретно с этой страницы прогноза. Некоторые фрагменты кода функционалом Веб-переменные удается забрать с этой страницы. Копируется в объект без проблем. Но вот конкретно с этим блоком (и некоторыми другими фрагментами) постоянные ошибки, то есть эту часть html не удается сохранить. Пробовал по разному указывать Шаблон поиска в Веб-переменных, но все равно никак он не забирается. Искал закономерности, может этот фрагмент кода внутри какого-то блока, но тоже ничего предосудительного не обнаружил (не исключаю что я либо не увидел, либо в силу своих знаний не придал значение).

Буду Вам очень признателен, если подскажете или направите меня в нужную сторону. Данный блок, на мой взгляд будет много кому интересен, да и PR5, у нас по крайней мере, показывает прогнозы которым можно верить.
Ответить