xiaomi термометр tasmota mqtt ESP32

Ответить
tornado
Рядовой
Сообщения: 33
Зарегистрирован: 14 апр 2020, 21:17
Имя: Ivan
Благодарил (а): 1 раз

xiaomi термометр tasmota mqtt ESP32

Сообщение tornado »

1.Xiaomi термометр Mijia 2 с кастомная прошивка
2.ESP32 с Tasmota
ESP32 подключается через BT к термометр и через WiFi k MQTT сервер.На топике "tele/tasmota/SENSOR" на каждом 5 мин. посылает:

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

07:45:26.871 MQT: tele/tasmota/STATE = {"Time":"2022-03-26T07:45:26","Uptime":"0T00:00:11","UptimeSec":11,"Heap":89,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":34,"MqttCount":1,"Berry":{"HeapUsed":3,"Objects":43},"Wifi":{"AP":1,"SSId":"ExTrEaM","BSSId":"C4:6E:1F:31:6D:92","Channel":11,"Mode":"11n","RSSI":88,"Signal":-56,"LinkCount":1,"Downtime":"0T00:00:05"}}
07:45:26.903 MQT: tele/tasmota/SENSOR = {"Time":"2022-03-26T07:45:26","ESP32":{"Temperature":35.0},"TempUnit":"C"}
07:45:28.659 MQT: tele/tasmota/BLE = {"Time":"2022-03-26T07:45:28","BLEDevices":{"total":2,"D0D00322A235":{"i":0,"r":-91},"A4C1387869D5":{"i":1,"r":-57}}}
07:45:28.679 MQT: tele/tasmota/BLE = {"Time":"2022-03-26T07:45:28","BLE":{"scans":0,"adverts":6,"devices":2,"resets":0}}
07:45:28.697 MQT: tele/tasmota/SENSOR = {"Time":"2022-03-26T07:45:28","ATC7869d5":{"mac":"a4c1387869d5","Temperature":20.6,"Humidity":46.0,"DewPoint":8.6,"Btn":1,"Battery":84,"RSSI":-57},"TempUnit":"C"}
07:50:17.897 MQT: tele/tasmota/SENSOR = {"Time":"2022-03-26T07:50:17","ATC7869d5":{"mac":"a4c1387869d5","Temperature":20.7,"Humidity":45.6,"DewPoint":8.5,"Btn":1,"Battery":85,"RSSI":-69},"TempUnit":"C"}
07:50:26.894 MQT: tele/tasmota/STATE = {"Time":"2022-03-26T07:50:26","Uptime":"0T00:05:11","UptimeSec":311,"Heap":83,"SleepMode":"Dynamic","Sleep":50,"LoadAvg":19,"MqttCount":1,"Berry":{"HeapUsed":3,"Objects":43},"Wifi":{"AP":1,"SSId":"ExTrEaM","BSSId":"C4:6E:1F:31:6D:92","Channel":11,"Mode":"11n","RSSI":96,"Signal":-52,"LinkCount":1,"Downtime":"0T00:00:05"}}
07:50:26.928 MQT: tele/tasmota/SENSOR = {"Time":"2022-03-26T07:50:26","ESP32":{"Temperature":53.3},"TempUnit":"C"}
07:50:26.938 MQT: tele/tasmota/BLE = {"Time":"2022-03-26T07:50:26","BLEDevices":{"total":2,"D0D00322A235":{"i":0,"r":-93},"A4C1387869D5":{"i":1,"r":-61}}}
07:50:26.955 MQT: tele/tasmota/BLE = {"Time":"2022-03-26T07:50:26","BLE":{"scans":15,"adverts":362,"devices":2,"resets":0}}
Как извлечь только
"Temperature":20.6,"Humidity":46.0
,для дальнейшей обработки ?
Спасибо!
zhulen820
Сержант
Сообщения: 194
Зарегистрирован: 29 авг 2016, 22:44
Откуда: Серпухов
Имя: Александр

xiaomi термометр tasmota mqtt ESP32

Сообщение zhulen820 »

Были блоки на форуме JSON. Там есть блоки РАспарсить JSON
starshoy81
Лейтенант
Сообщения: 530
Зарегистрирован: 05 апр 2016, 23:30
Откуда: Санкт-Петербург
Имя: Илья

xiaomi термометр tasmota mqtt ESP32

Сообщение starshoy81 »

[ref]tornado[/ref],
я в нодереде после преобразования json, извлекаю через функцию

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

var temp=msg.payload.AM2301.Humidity;

msg.payload = temp;
return msg;
в консоли тасмоты вот так пишет:

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

08:05:41 MQT: tasmota/tele/ventvan/SENSOR = {"Time":"2022-03-28T08:05:41","AM2301":{"Temperature":25.3,"Humidity":24.3},"TempUnit":"C"}
tornado
Рядовой
Сообщения: 33
Зарегистрирован: 14 апр 2020, 21:17
Имя: Ivan
Благодарил (а): 1 раз

xiaomi термометр tasmota mqtt ESP32

Сообщение tornado »

zhulen820 писал(а): 27 мар 2022, 19:54 Были блоки на форуме JSON. Там есть блоки РАспарсить JSON
Сработало с этим блоком,НО на топике есть две строки "tele/tasmota/SENSOR",первая для встроенный датчик,а на вторая из термометр.
Это уже выглядит так :

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

t= 20.9*C   H= 59.4%
t= null*C   H= null%
Как игнорировать вторая строка? Спасибо.
Ответить

Вернуться в «ESP32»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 4 гостя