APC HS 500

Использование системы в различных ситуациях, вопросы программирования сценариев.

Модератор: immortal

Alex
Сообщения: 2357
Зарегистрирован: Пт апр 20, 2012 12:53 pm
Благодарил (а): 42 раза
Поблагодарили: 262 раза

APC HS 500

Сообщение Alex » Пт апр 20, 2012 1:43 pm

Интересный проект, автору — большое спасибо за его труд.

Решил поэкспериментировать с системой, под рукой ничего путного не оказалось кроме APC HS 500. Попытался получить значение текущей мощности через web-переменные — вобщем получилось, но как-то кривовато. Поисковый паттерн «providing:(.+?)&nbsp;», результат на экране — синенькие циферки мощности, а значение переменной «</font></td> <td width=40% height=28><b><font face='MS Sans Serif' size=2 color=006699>48», из которых нужны только последние «48». Любые изменения поискового паттерна приводят к ошибке «incorrect value».

Как следствие не строится график (видимо из-за мусорных тегов).

Вопрос: как изменить поисковый паттерн, чтобы значение было «48»? И что это за магическая конструкция «(.+?)» ?

Полный дамп страницы:

------------------------------
2012-04-19 20:24:35 new value:<html><head><title>Status Page</title><meta http-equiv=Content-Type content=text/html; charset=iso-8859-1><meta http-equiv=refresh content="10;url=status.cgi"></head><script language="JavaScript"> function setUp(){ window.status = "Status Page"; }</script><body bgcolor=#FFFFFF text=#003366 onLoad="setUp();"> <div align="center"> <center> <table width=85% border=0 cellspacing=0 cellpadding=0> <tr> <td width="90%" align="center"> <div align="center"> <center> <table width=100% border=0 cellspacing=0 cellpadding=0 bordercolor=#336699> <tr bgcolor=#336699> <td width=5%></td> <td width=25%><b><font size=1 color=#CCCCCC face='MS Sans Serif'>Power Source </font></b> </td> <td width=25%><b><font size=1 color=#CCCCCC face='MS Sans Serif'>Battery Capacity</font></b></td> <td width=25%><b><font size=1 color=#CCCCCC face='MS Sans Serif'>Available Runtime</font></b></td> <td width=5%></td> </tr> <tr bgcolor=#336699> <td width=5%></td> <td width=25%><b><font size=2 color=#FFFFFF face='MS Sans Serif'><img src=on1.gif align=absmiddle>On&nbsp;Line</font></b></td> <td width=25%><b><font size=2 color=#FFFFFF face='MS Sans Serif'><img src=led0.gif align=absmiddle><img src=led0.gif align=absmiddle><img src=led0.gif align=absmiddle><img src=led0.gif align=absmiddle>&nbsp;100&nbsp;%</font></b></td> <td width=25%><b><font size=2 color=#FFFFFF face='MS Sans Serif'><img src=clock1.gif align=absmiddle>35&nbsp;minutes</b></font></td> <td width=5%></td> </tr> </table> </center> </div> </td> </tr> <tr bgcolor=#003366> <td width=90% height=3 align="center"><img src=invis.gif width=1 height=1></td> </tr> <tr bgcolor=#999999> <td width=90% height=3 align="center"><img src=invis.gif width=1 height=1></td> </tr> <tr bgcolor=#CCCCCC> <td width=90% height=3 align="center"><img src=invis.gif width=1 height=1></td> </tr> </table> </center> </div> <div align="center"> <center><table width=85% border=0 cellspacing=0 cellpadding=0> <tr> <td width=5% height=28></td> <td width=40% height=28><b><font face='MS Sans Serif' size=2 color=#006699>&nbsp;Current Status </font></b></td> <td width=40% height="28"></td> </tr> <tr> <td width=5% height=28></td> <td width=40% height=28><font face='MS Sans Serif' size=2 color=003366>&nbsp;&nbsp;Battery status:</font></td> <td width=40% height=28><b><font face='MS Sans Serif' size=2 color=006699>Charged</font></b></td> </tr> <tr> <td width=5% height=28></td> <td width=40% height=28><font face='MS Sans Serif' size=2 color=003366>&nbsp;&nbsp;Last transfer to battery was caused by:</font></td> <td width=40% height=28><b><font face='MS Sans Serif' size=2 color=006699>Blackout</font></b></td> </tr> <tr> <td width=5% height=28></td> <td width=40% height=28><font face='MS Sans Serif' size=2 color=003366>&nbsp;&nbsp;Result of last self-test is:</font></td> <td width=40% height=28><b><font face='MS Sans Serif' size=2 color=006699>Passed</font></b></td> </tr> <tr> <td width=5% height=28></td> <td width=40% height=28></td> <td width=40% height=28></td> </tr> <tr> <td width=5% height=28></td> <td width=40% height=28><b><font face='MS Sans Serif' size=2 color=#006699>&nbsp;Load on Battery Backup</font></b></td> <td width=40% height=28></td> </tr> <tr> <td width=5% nowrap height=28></td> <td width=40% nowrap height=28><font face='MS Sans Serif' size=2 color=003366>&nbsp;&nbsp;Your battery backup is currently providing:</font></td> <td width=40% height=28><b><font face='MS Sans Serif' size=2 color=006699>48&nbsp;Watts</font></b></td> </tr> <tr> <td width=5% height=28></td> <td width=40% height=28></td> <td width=40% height=28></td> </tr> <tr> <td colspan=3 bgcolor=#336699 height=21 width="85%" align="center"> <div align=center><b><i><font face="MS Sans Serif" size="2" color="#CCCCCC">Status Page</font></i></b></div></td> <tr bgcolor=#003366> <td colspan=3 width=85% height=3 align="center"><img src=invis.gif width=1 height=1></td> </tr> <tr bgcolor=#999999> <td colspan=3 width=85% height=3 align="center"><img src=invis.gif width=1 height=1></td> </tr> <tr bgcolor=#CCCCCC> <td colspan=3 width=85% height=3 align="center"><img src=invis.gif width=1 height=1></td> </tr></table> </center> </div></body></html>
------------------------------
Аватара пользователя
sergejey
Site Admin
Сообщения: 4284
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 75 раз
Поблагодарили: 1559 раз
Контактная информация:

Re: APC HS 500

Сообщение sergejey » Пн апр 23, 2012 1:31 pm

providing:.+?006699>(.+?)&nbsp;

так должно работать по идее

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
Alex
Сообщения: 2357
Зарегистрирован: Пт апр 20, 2012 12:53 pm
Благодарил (а): 42 раза
Поблагодарили: 262 раза

Re: APC HS 500

Сообщение Alex » Вт апр 24, 2012 5:48 pm

Да. Уже гораздо лучше.

48, но с каким-то значком, что-то вроде «символ замены юникод (U + FFFD)».

Как бы его удалить?
Аватара пользователя
sergejey
Site Admin
Сообщения: 4284
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 75 раз
Поблагодарили: 1559 раз
Контактная информация:

Re: APC HS 500

Сообщение sergejey » Ср апр 25, 2012 11:31 am

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

providing:.+?006699>([\d\.]+)
вот так должны только цифры взяться

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
Alex
Сообщения: 2357
Зарегистрирован: Пт апр 20, 2012 12:53 pm
Благодарил (а): 42 раза
Поблагодарили: 262 раза

Re: APC HS 500

Сообщение Alex » Ср апр 25, 2012 10:28 pm

Ес! Заработало! Переменные берутся, график строится. Ура!

Теперь возникли вопросы по графику. График обновляется как-то странно. То обновляется, то нет. Ждём долго — ничего не рисует, делаем релоад страницы — опа, график есть. Автообновление везде - 10 секунд.

Ещё вопрос. График градуирован в градусах С. Но! Может понадобиться выводить значения, например как у меня, ваттах или других единицах. А как изменить значение единиц — непонятно.

И ещё. Хотелось бы почитать про логику заклинаний (.+?) и ([\d\.]+). Киньте ссылочку, пожалуйста.
Alex
Сообщения: 2357
Зарегистрирован: Пт апр 20, 2012 12:53 pm
Благодарил (а): 42 раза
Поблагодарили: 262 раза

Re: APC HS 500

Сообщение Alex » Чт апр 26, 2012 10:38 pm

С «заклинаниями» разобрался. Ссылка для тех, кто как и я, в танке:
http://www.phpfaq.ru/regexp

А вот вопросы по графикам остаются...
Аватара пользователя
sergejey
Site Admin
Сообщения: 4284
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 75 раз
Поблагодарили: 1559 раз
Контактная информация:

Re: APC HS 500

Сообщение sergejey » Пт апр 27, 2012 10:58 am

Alex писал(а):С «заклинаниями» разобрался. Ссылка для тех, кто как и я, в танке:
http://www.phpfaq.ru/regexp

А вот вопросы по графикам остаются...
Касательно единиц измерения -- да, в текущей релизной версии только градусы цельсия указываются, но через обновление исходников можно взять новый файл /pchart/index.php, где уже можно задавать параметр &unit=kVt (ну или то что нужно) и тогда будет использоваться это значение для шкалы.

По поводу обновления -- скорее всего кэшируется картинка и не обновляется. Попробуй добавить в путь к картинке-графика параметр &%rand% -- при этом с каждым обновлением %rand% будет автоматом заменяться на случайное число, тем самым не давай взяться картинке из кэша браузера.

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
Alex
Сообщения: 2357
Зарегистрирован: Пт апр 20, 2012 12:53 pm
Благодарил (а): 42 раза
Поблагодарили: 262 раза

Re: APC HS 500

Сообщение Alex » Пт апр 27, 2012 5:15 pm

Добавить в путь — это как? Если так
<img src="/pChart/?p=APC500.currentPower&type=30m&width=280&%rand%">
, то это не помогает.

И вообще непонятно, у остальных картинка автообновляется? Если да, то что у меня не так? А если у других не автообновляется, то почему об этом нигде не упоминается?
Vit
Сообщения: 867
Зарегистрирован: Вт янв 17, 2012 12:31 pm
Благодарил (а): 121 раз
Поблагодарили: 78 раз

Re: APC HS 500

Сообщение Vit » Сб апр 28, 2012 12:15 pm

Alex писал(а):Добавить в путь — это как? Если так
<img src="/pChart/?p=APC500.currentPower&type=30m&width=280&%rand%">
, то это не помогает.

И вообще непонятно, у остальных картинка автообновляется? Если да, то что у меня не так? А если у других не автообновляется, то почему об этом нигде не упоминается?
Обновляется все....

Изображение

у меня так прописано
<img src="/pChart/?p=sensorUlica.temp&type=24h&width=400&%rand%">

опишите пожалуйста, а лучше еще и скрины где что и как у вас прописано....и в истории объектов посмотрите есть изменение этого объекта
Alex
Сообщения: 2357
Зарегистрирован: Пт апр 20, 2012 12:53 pm
Благодарил (а): 42 раза
Поблагодарили: 262 раза

Re: APC HS 500

Сообщение Alex » Сб апр 28, 2012 5:18 pm

Немного поколдовал и график в меню управления заработал, а на домашней странице — нет. Видимо, надо что-то добавить в коде.
Вложения
4.png
Результат
4.png (66.86 КБ) 15068 просмотров
3.png
Меню управления
3.png (13.47 КБ) 15068 просмотров
5.png
Домашние страницы
5.png (8.43 КБ) 15068 просмотров
Ответить