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

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

Модератор: immortal

Kirch
Сообщения: 51
Зарегистрирован: Чт июл 26, 2018 4:50 pm
Благодарил (а): 12 раз
Поблагодарили: 7 раз

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

Сообщение Kirch » Пт дек 03, 2021 7:07 pm

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

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

Сообщение xor » Сб дек 04, 2021 3:11 am

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

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

Сообщение AK1 » Сб дек 04, 2021 7:46 pm

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

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

Сообщение Kirch » Сб дек 04, 2021 9:00 pm

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
Сообщения: 2038
Зарегистрирован: Сб ноя 22, 2014 8:45 pm
Благодарил (а): 284 раза
Поблагодарили: 629 раз

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

Сообщение xor » Сб дек 04, 2021 9:01 pm

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

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

Сообщение AndrewStick » Сб дек 25, 2021 1:49 pm

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

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

Сообщение sanog » Сб дек 25, 2021 7:57 pm

ссылка 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 поблагодарил:
AndrewStick (Сб дек 25, 2021 8:55 pm)
Рейтинг: 1.16%
sanog
Сообщения: 4
Зарегистрирован: Чт дек 20, 2018 1:01 pm
Благодарил (а): 0
Поблагодарили: 3 раза

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

Сообщение sanog » Сб дек 25, 2021 8:00 pm

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

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

Сообщение AndrewStick » Сб дек 25, 2021 9:34 pm

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

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

Сообщение CheBuraw » Пн янв 03, 2022 9:23 am

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

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

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

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

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