Доброго времени суток!
Есть реле sonoffTH, к нему подключён датчик температуры и влажности
по MQTT в топике "tele/sonoffTH10/SENSOR"
получаю строку "{"Time":"2017-04-02T15:11:41", "AM2301":{"Temperature":27.7, "Humidity":28.4}}"
это значение присваиваю свойству (Sensors->Объект: sonoffH10-> свойство: sonoffH1.string) это сырые данные.
Задача: вытащить из строки значения температуры и влажности и рассовать по свойствам "HumSensor01.value (H)" и "TempSensor01.value (H)" (дабы эти данные появились в графике и на странице климата.
Вероятно нужно в метод "onChange" вписать код обработки свойства объекта "sonoffH10".
мои познания в PHP менее чем скромные, работал с делфи и С++ (С ООП не дружу с института)...
Сильно не пинайте, я доктор, а программистом подрабатывал пару лет, пока зарабатывал репутацию хорошего специалиста в медицине.
По тому прошу помощи. Если всё заработает, сделаю резюме по подключению этого реле с датчиком и подробную инструкцию... (дабы грабли были обезврежены)
Обработка строк. Нужна помощь.
Модератор: immortal
- nick7zmail
- Сообщения: 7573
- Зарегистрирован: Пн окт 28, 2013 8:14 am
- Откуда: Екатеринбург
- Благодарил (а): 121 раз
- Поблагодарили: 2010 раз
Re: Обработка строк. Нужна помощь.
Что ж вы так поиском то не любите пользоваться....
Строка эта называется json...вот готовое решение viewtopic.php?p=37549#p37549
(читайте конец, про сценарий на стороне МД)
Строка эта называется json...вот готовое решение viewtopic.php?p=37549#p37549
(читайте конец, про сценарий на стороне МД)
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".

>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
-
- Сообщения: 36
- Зарегистрирован: Ср янв 04, 2017 7:37 pm
- Откуда: Россия, Курск
- Благодарил (а): 10 раз
- Поблагодарили: 4 раза
Re: Обработка строк. Нужна помощь.
Спасибо, но не совсем понял:nick7zmail писал(а):Что ж вы так поиском то не любите пользоваться....
Строка эта называется json...вот готовое решение viewtopic.php?p=37549#p37549
(читайте конец, про сценарий на стороне МД)
Строку json загнал в свойство объекта sonoffDHT1.RawData;
в методе он чейндж нужно написать разбор строки.
$content=sonoffDHT1.RawData; // переменной присвоил значение свойства объекта {"Time":"2017-04-02T21:55:24", "AM2301":{"Temperature":26.7, "Humidity":31.1}}
//
в объекте sonoffDHT1 есть свойства Time Temp Humi
как туда закинуть значания?
- nick7zmail
- Сообщения: 7573
- Зарегистрирован: Пн окт 28, 2013 8:14 am
- Откуда: Екатеринбург
- Благодарил (а): 121 раз
- Поблагодарили: 2010 раз
Re: Обработка строк. Нужна помощь.
Ну для начала не присвоили вы значение переменной....
Присваивается оно примерно так
А далее - парсите её декодером и разбираете по свойствам
Не уверен конечно что сработает...но попробуйте (да, проверять мне лень)))
Присваивается оно примерно так
Код: Выделить всё
$content=gg('sonoffDHT1.RawData');
Код: Выделить всё
$data=json_decode($content);
sg('sonoffDHT1.Time', $data->Time);
sg('sonoffDHT1.Hum', $data->AM2301->Humidity);
sg('sonoffDHT1.Temp', $data->AM2301->Temperature);
- За это сообщение автора nick7zmail поблагодарили (всего 3):
- djleon (Пн апр 03, 2017 11:56 pm) • Edcrow (Пт июн 02, 2017 3:08 pm) • Kod.Begemot (Ср ноя 25, 2020 11:25 am)
- Рейтинг: 3.49%
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".

>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
-
- Сообщения: 36
- Зарегистрирован: Ср янв 04, 2017 7:37 pm
- Откуда: Россия, Курск
- Благодарил (а): 10 раз
- Поблагодарили: 4 раза
Re: Обработка строк. Нужна помощь.
И так Спасибо!
Создал сценарий:
DHT10jsondecode
в него вписал код:
$content=gg('sonoffDT10DHT22.value ');
$data=json_decode($content);
sg('sonoffDHT1.Time', $data->Time);
sg('HumSensor01.value', $data->AM2301->Humidity);
sg('TempSensor01.value', $data->AM2301->Temperature);
sonoffDT10DHT22.value это объект.свойство получающий строку из топика сенсора
По изменению свойства включается сценарий.
Итог данные пошли, всё работает.
Грабли обезврежены рукастыми и очень отзывчивыми форумчанами: nick7zmail.
Спасибо!(уже нажимал)...
Создал сценарий:
DHT10jsondecode
в него вписал код:
$content=gg('sonoffDT10DHT22.value ');
$data=json_decode($content);
sg('sonoffDHT1.Time', $data->Time);
sg('HumSensor01.value', $data->AM2301->Humidity);
sg('TempSensor01.value', $data->AM2301->Temperature);
sonoffDT10DHT22.value это объект.свойство получающий строку из топика сенсора
По изменению свойства включается сценарий.
Итог данные пошли, всё работает.
Грабли обезврежены рукастыми и очень отзывчивыми форумчанами: nick7zmail.
Спасибо!(уже нажимал)...
- За это сообщение автора djleon поблагодарили (всего 2):
- Edcrow (Пт июн 02, 2017 3:09 pm) • Kod.Begemot (Ср ноя 25, 2020 11:25 am)
- Рейтинг: 2.33%
- nick7zmail
- Сообщения: 7573
- Зарегистрирован: Пн окт 28, 2013 8:14 am
- Откуда: Екатеринбург
- Благодарил (а): 121 раз
- Поблагодарили: 2010 раз
Re: Обработка строк. Нужна помощь.
Да пожалуйста)) Если что - пишите.
- За это сообщение автора nick7zmail поблагодарил:
- djleon (Вт апр 04, 2017 9:03 am)
- Рейтинг: 1.16%
Raspberry Pi3+Broadlink+esp8266 (blynk)+AMS
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".
Услуги в профиле коннект
>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<
Если вам помогло какое-либо сообщение - не забывайте пользоваться кнопкой "СПАСИБО".

>>>>>Мой новый канал на ютутбе, подписывайтесь!<<<<<