как фильтровать сообщение посланное mqtt клиентом

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

Модератор: immortal

Ответить
ауслэндер
Сообщения: 3
Зарегистрирован: Сб июл 09, 2016 9:21 pm
Благодарил (а): 2 раза
Поблагодарили: 0

как фильтровать сообщение посланное mqtt клиентом

Сообщение ауслэндер » Сб июл 09, 2016 9:28 pm

Ребята подскажите как фильтровать сообщение посланное mqtt клиентом.
Получаю сообщение со значением вот в таком виде:
{"val":28.6,"ts":"1468088269499","lc":"1468088269499","hm_addr":"KEQ0054089:1","hm_unit":"°C"}
привязал это значение к объекту со свойством. Всё нормально значение принимает но только вот такое длинное.
Могу ли я из него только 28.6 извлечь и в свойствах оставить чтобы потом график рисовать.
Очень благодарен заранее за совет
Аватара пользователя
nightwind
Сообщения: 333
Зарегистрирован: Вс июн 26, 2016 4:42 pm
Откуда: Барановичи
Благодарил (а): 28 раз
Поблагодарили: 52 раза
Контактная информация:

Re: как фильтровать сообщение посланное mqtt клиентом

Сообщение nightwind » Сб июл 09, 2016 9:56 pm

Извлечь не можешь. но можешь связать со свойством объекта, к свойству привязать метод, который будет вырезать из строки то, что тебе нужно и присваивать куда нужно.
За это сообщение автора nightwind поблагодарил:
ауслэндер (Вс июл 10, 2016 12:05 am)
Рейтинг: 1.16%
ауслэндер
Сообщения: 3
Зарегистрирован: Сб июл 09, 2016 9:21 pm
Благодарил (а): 2 раза
Поблагодарили: 0

Re: как фильтровать сообщение посланное mqtt клиентом

Сообщение ауслэндер » Вс июл 10, 2016 12:12 am

Спасибо за совет,
т.е. нужно создать какую-то новую переменную, присвоить ей вырезанное значение и сохранить на пару дней чтобы можно было график рисовать, я правильно понимаю?
Ещё бы найти код для вырезки.....
Но всё-ровно большое спасибо!
ауслэндер
Сообщения: 3
Зарегистрирован: Сб июл 09, 2016 9:21 pm
Благодарил (а): 2 раза
Поблагодарили: 0

Re: как фильтровать сообщение посланное mqtt клиентом

Сообщение ауслэндер » Вс июл 10, 2016 2:50 pm

не подскажете как правильно вырезать 28.6 градусов из значения:
{"val":28.6,"ts":"1468088269499","lc":"1468088269499","hm_addr":"KEQ0054089:1","hm_unit":"°C"}
в программирование скриптов не силён, пытаюсь замутить что-то вроде array('VALUE'=>$matches[2]) но что-то ничего не получается
Спасибо заранее
Аватара пользователя
nightwind
Сообщения: 333
Зарегистрирован: Вс июн 26, 2016 4:42 pm
Откуда: Барановичи
Благодарил (а): 28 раз
Поблагодарили: 52 раза
Контактная информация:

Re: как фильтровать сообщение посланное mqtt клиентом

Сообщение nightwind » Пн июл 11, 2016 9:19 am

как то так попробуй
$data = json_decode( gg( где эта твоя строка) );
$temp = $data->val;
За это сообщение автора nightwind поблагодарил:
ауслэндер (Пн июл 11, 2016 10:28 pm)
Рейтинг: 1.16%
Ответить