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

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

Модератор: immortal

Аватара пользователя
xor
Сообщения: 2038
Зарегистрирован: Сб ноя 22, 2014 8:45 pm
Благодарил (а): 284 раза
Поблагодарили: 629 раз

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

Сообщение xor » Вт янв 23, 2018 12:28 am

1. получить свойство объекта в переменную
$var = getGlobal('myObject.myProperty');
1a. произвести математические действия с $var:
$var = ($var + 1000)**2-$var; //Ok, Google php математические функции

2. сохранить значение переменной в свойстве объекта:
setGlobal('myObject.myProperty',$var);
За это сообщение автора xor поблагодарили (всего 2):
Teacher_77 (Вт янв 23, 2018 7:34 am) • MaiklBest (Сб сен 15, 2018 5:42 pm)
Рейтинг: 2.33%
Teacher_77
Сообщения: 25
Зарегистрирован: Пт янв 05, 2018 1:54 pm
Благодарил (а): 13 раз
Поблагодарили: 1 раз

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

Сообщение Teacher_77 » Вт янв 23, 2018 7:35 am

xor писал(а):1. получить свойство объекта в переменную
$var = getGlobal('myObject.myProperty');
1a. произвести математические действия с $var:
$var = ($var + 1000)**2-$var; //Ok, Google php математические функции

2. сохранить значение переменной в свойстве объекта:
setGlobal('myObject.myProperty',$var);
А в каком месте производить все эти замечательные изменения? В методе?
skysilver
Сообщения: 3006
Зарегистрирован: Чт авг 21, 2014 8:28 am
Откуда: Киров, Россия
Благодарил (а): 400 раз
Поблагодарили: 1753 раза
Контактная информация:

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

Сообщение skysilver » Вт янв 23, 2018 9:34 am

Teacher_77 писал(а):А в каком месте производить все эти замечательные изменения? В методе?
Можно в методах, можно в сценариях. А также в пол Код шаблонов поведения, элементов меню и т.д. Зависит от конкретной задачи. ;)
За это сообщение автора skysilver поблагодарил:
Teacher_77 (Вт янв 23, 2018 12:34 pm)
Рейтинг: 1.16%
MajorDoMo (GitHub) на Cubietruck. ОС Debian 7 (wheezy) (kernel 3.4.105) с переносом на HDD.
Мой CONNECT | Блоги | Telegram
Teacher_77
Сообщения: 25
Зарегистрирован: Пт янв 05, 2018 1:54 pm
Благодарил (а): 13 раз
Поблагодарили: 1 раз

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

Сообщение Teacher_77 » Вт янв 23, 2018 12:40 pm

Еще назрело:
вытаскиваю данные с физических счетчиков воды по http через веб-переменные и помещаю в свойства объекта счетчик воды
от физических счетчиков приходит строка типа
hostname:XXXXXXXXXX;vwc11:6;vwa11:3224;vwc21:11;vwa21:3224;vwc31:2;vwa31:3116;vwc41:2;vwa41:3116;
соответственно применял шаблон поиска типа "vwc11:(.+?)"
Пока показания были из одной цифры (например vwc11:6), все работало, а вот как перевалило за 10 (например vwc21:11), начались проблемы.
не подскажете по какому шаблону тащить все цифры показаний счетчика - т.е. то что после ":" и до ";"
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

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

Сообщение nick7zmail » Вт янв 23, 2018 12:43 pm

В данном случае советую через php разгребать этот массив. Применение веб-аеременных не сильно оправдано.

Отправлено с моего G8441 через Tapatalk
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Teacher_77
Сообщения: 25
Зарегистрирован: Пт янв 05, 2018 1:54 pm
Благодарил (а): 13 раз
Поблагодарили: 1 раз

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

Сообщение Teacher_77 » Вт янв 23, 2018 5:48 pm

nick7zmail писал(а):В данном случае советую через php разгребать этот массив. Применение веб-аеременных не сильно оправдано.

Отправлено с моего G8441 через Tapatalk
Оно конечно может и лучше, только мне как новичку непонятно как.
В веб-переменной строка с http попадает в обработку автоматически
А если делать по другому - как? где?
Аватара пользователя
nick7zmail
Сообщения: 7573
Зарегистрирован: Пн окт 28, 2013 8:14 am
Откуда: Екатеринбург
Благодарил (а): 121 раз
Поблагодарили: 2010 раз

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

Сообщение nick7zmail » Вт янв 23, 2018 5:59 pm

Ну как хотите....https://regex101.com/ вот песочница регулярных выражений, которые используются в веб переменных, вот всё о них http://php.net/manual/ru/reference.pcre ... syntax.php вот тут более кратко http://www.php.su/articles/?cat=regexp& ... ....просто подбирайте тот, который будет выдавать нужный результат.

А без php в данной системе тяжеловато будет...советую начать учить, и ваша строка - отличный этому тренер будет. Гуглить - "php разложить строку на массив", и "php циклы".
За это сообщение автора nick7zmail поблагодарил:
Teacher_77 (Вт янв 23, 2018 6:04 pm)
Рейтинг: 1.16%
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
:arrow: Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Teacher_77
Сообщения: 25
Зарегистрирован: Пт янв 05, 2018 1:54 pm
Благодарил (а): 13 раз
Поблагодарили: 1 раз

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

Сообщение Teacher_77 » Вт янв 23, 2018 6:05 pm

Спасибо за ссылки.
Я про другое спрашивал - если разгребать через php - куда код пихать?
Как забирать инфо (строку) с адреса http?

P.S. С математикой более-менее разобрался, обработку свойств объектов запихал в сценарий, поставил на регулярное исполнение.
Последний раз редактировалось Teacher_77 Вт янв 23, 2018 6:11 pm, всего редактировалось 1 раз.
skysilver
Сообщения: 3006
Зарегистрирован: Чт авг 21, 2014 8:28 am
Откуда: Киров, Россия
Благодарил (а): 400 раз
Поблагодарили: 1753 раза
Контактная информация:

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

Сообщение skysilver » Вт янв 23, 2018 6:10 pm

Teacher_77 писал(а):Я про другое спрашивал - если разгребать через php - куда код пихать?
Как забирать инфо (строку) с адреса http?
Код можно пихать в сценарий или метод. Потом их можно вызывать в методе onNewMinute с нужной периодичностью, либо в модуле Cron.

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

$result = getURL('http://ip_счетчика', 0);
var_dump($result); 
За это сообщение автора skysilver поблагодарил:
Teacher_77 (Вт янв 23, 2018 6:11 pm)
Рейтинг: 1.16%
MajorDoMo (GitHub) на Cubietruck. ОС Debian 7 (wheezy) (kernel 3.4.105) с переносом на HDD.
Мой CONNECT | Блоги | Telegram
skysilver
Сообщения: 3006
Зарегистрирован: Чт авг 21, 2014 8:28 am
Откуда: Киров, Россия
Благодарил (а): 400 раз
Поблагодарили: 1753 раза
Контактная информация:

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

Сообщение skysilver » Вт янв 23, 2018 6:20 pm

Teacher_77 писал(а):Оно конечно может и лучше, только мне как новичку непонятно как.

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

$result = getURL('http://ip_счетчика', 0);
$result = explode(";", $result);

foreach ($result as $s) {
  if ($s !== '') {
    $val = explode(":", $s);
    echo 'метрика ' . $val[0] . ' равна ' . $val[1] . PHP_EOL;
  }
}      
За это сообщение автора skysilver поблагодарил:
Teacher_77 (Вт янв 23, 2018 6:21 pm)
Рейтинг: 1.16%
MajorDoMo (GitHub) на Cubietruck. ОС Debian 7 (wheezy) (kernel 3.4.105) с переносом на HDD.
Мой CONNECT | Блоги | Telegram
Ответить