Mega 2561 и MQTT

Обсуждение статей, технологий домашней автоматизации, программных и аппаратных решений
Ruslan
Сообщения: 575
Зарегистрирован: 06 янв 2014, 20:44

Re: Mega 2561 и MQTT

Сообщение Ruslan » 22 дек 2018, 19:16

miks69 писал(а):
22 дек 2018, 18:57
Извиняюсь, ответ приходит в виде: {"port": 32,"value": "temp:0.00/hum:00.00"}
Можно ли попросить сделать в нормальном JSON формате: {"port": "32","temp": "0.00", "hum":"00.00"} чтобы удобнее было разбирать?
Прошу прощения, что вклиниваюсь в "отвлеченную" для меня тему, но, как говорится, "не могу молчать".
Чисто технически Андрей может сделать все что угодно и выдавать ответ в любом формате. НО!
Вы представляете себе у какого количества народа все уже настроено и прекрасно "вытаскивается" из текущего формата ответа?
И как они все "обрадуются", когда после очередного обновления прошивки вдруг "вероломно, без объявления войны" система управления отоплением, например, не получит данных...

Это я не в упрек, а просто для единообразного понимания ситуации всеми заинтересованными сторонами.

miks69
Сообщения: 28
Зарегистрирован: 09 ноя 2018, 09:57

Re: Mega 2561 и MQTT

Сообщение miks69 » 22 дек 2018, 19:25

Ruslan писал(а):
22 дек 2018, 19:16
Это я не в упрек, а просто для единообразного понимания ситуации всеми заинтересованными сторонами.
Согласен с вами, однако есть определенные стандарты, или, если хотите, best practice, при реализации поддержки какого-либо протокола.
Протокол MQTT изначально предназначен для интеграции различных систем, которые, как вы можете догадаться, должны придерживаться одинаковых форматов при обмене данными. Поэтому извините, но ваш аргумент "у нас уже все настроено и работает" в данном случае не принимается.
Тот же MajorDoMo, например, автоматически разбирает строку JSON формата на "sub-topic:value", чем в занчительной степени упрощает дальнейшее использование полученных значений.

miks69
Сообщения: 28
Зарегистрирован: 09 ноя 2018, 09:57

Re: Mega 2561 и MQTT

Сообщение miks69 » 22 дек 2018, 19:38

miks69 писал(а):
22 дек 2018, 18:57
Извиняюсь, ответ приходит в виде: {"port": 32,"value": "temp:0.00/hum:00.00"}
Можно ли попросить сделать в нормальном JSON формате: {"port": "32","temp": "0.00", "hum":"00.00"} чтобы удобнее было разбирать?
Уточнение по предлагаемому формату: {"port": 32,"temp": 0.00,"hum": 00.00} - числовые значения без кавычек.

miks69
Сообщения: 28
Зарегистрирован: 09 ноя 2018, 09:57

Re: Mega 2561 и MQTT

Сообщение miks69 » 22 дек 2018, 19:41

Кстати, можно здесь же добавить инфо о настройке порта, например: {"port": 32,"type": "DSen","Sen": "DHT22","temp": 0.00,"hum": 00.00}

martiniman
Сообщения: 249
Зарегистрирован: 09 авг 2016, 15:09
Откуда: Сочи

Re: Mega 2561 и MQTT

Сообщение martiniman » 22 дек 2018, 19:46

Прошу добавить "click":0 или :3 при удержании кнопки в MQTT сообщение, при настройке порта "С", по аналогии с "m" (m всегда приходит)
Если click не приходит в сообщении, то возникает ошибка, тк json парсер его ждет

miks69
Сообщения: 28
Зарегистрирован: 09 ноя 2018, 09:57

Re: Mega 2561 и MQTT

Сообщение miks69 » 22 дек 2018, 19:50

Кстати, почему то для I2C-сенсора формат данных, выдаваемых мегой другой: {"port": 30,"value": {"temp": 0.00, "hum": 00.00}}, что почти соответствует предложенному мной выше.
По крайней мере такой формат уже нормально разбирается. Можно ли попросить автора сделать унифицированный формат выдаваемых данных?

miks69
Сообщения: 28
Зарегистрирован: 09 ноя 2018, 09:57

Re: Mega 2561 и MQTT

Сообщение miks69 » 22 дек 2018, 19:55

Вот так это выглядит в MD:
Capture.PNG
Capture.PNG (7.29 КБ) 469 просмотров

martiniman
Сообщения: 249
Зарегистрирован: 09 авг 2016, 15:09
Откуда: Сочи

Re: Mega 2561 и MQTT

Сообщение martiniman » 22 дек 2018, 19:58

Вот стандартная разбиралка http://jsonpath.com/

martiniman
Сообщения: 249
Зарегистрирован: 09 авг 2016, 15:09
Откуда: Сочи

Re: Mega 2561 и MQTT

Сообщение martiniman » 23 дек 2018, 12:14

А вот соглашение по именованию топиков: https://homieiot.github.io/
С помощью него возможно делать автообнаружение и автонастройку MQTT устройств.
openHAB 2.4+ и HomeAssistant уже поддерживают.
Нет там никакого JSON, все просто и понятно, у всего свой топик.

Genix
Сообщения: 57
Зарегистрирован: 15 дек 2017, 16:56

Re: Mega 2561 и MQTT

Сообщение Genix » 25 дек 2018, 10:30

+1 за использование homie соглашения

Ответить