NEWS
Драйвер MQTT
- 
					
					
					
					
 Проблема исчезает при отключении драйвера, так что железяка скорей всего исправно работает. Через облако все работало очень долго и без сбоев. Кстати через несколько часов проблема пропала сама собой :shock: . ` 
 Опять сбой. В логе ошибок нет.
- 
					
					
					
					
 Извините за панику,за сомнения.Методом исключения ,вывел что ошибка закралась в скетче ардуины. Забросил MQTT, першел на Modbus TCP. Пока всё норм. 
- 
					
					
					
					
 Собрал монитор энергии на pzem-004t и esp (прошивка Wifi-iot). Драйвер MQTT настроен как сервер. Вначале все работало, потом началась какая-то ерунда - часть объектов отображается некорректно, в т.ч. и на веб-интерфейсе esp(при этом он ещё заметно подвисает). ` Если и в интерфейсе ESP проблемы - то тут MQTT совсем не при чем. Думаю, Вы это понимаете сами. Зря Вы эту поделку (pzem) купили… Я сначала тоже на нее поглядывал, все прикидывал как подключать, куда и как прикручивать. В итоге просто взял маленький (1DIN) счетчик за 20$ (SDM120). Как индикатор - не очень из-за размеров, зато места не занимает много в щитке и проблем с подключением (modbus) никаких. Да и разных параметров отдает побольше (реактивная составляющая и частота). Была бы возможность подключиться к счетчику мосэнерго - сделал бы так, но увы, не дают, поэтому такой вот мониторинг через второй счетчик... ` sdm120 - это хорошо. но все не совсем тривиально при передаче rs485 на сервер. конечно если есть медный кабель прямиком в сервер - не проблема. Но если нет - то пляски с бубном. У меня HLK-RM04 прокидывает serial через TCP , потом эмулятор tty под linux (socat), потом mdbusd (Mudbus RTU -> Modbus TCP). с учетом стоимости HLK-RM04 и sdm120 - выходит под $50 уже. а что касаемо героя pzem-004t и esp - тут надо смотреть на коммуникации esp и pzem-004t. если на esp плате есть чип usb-uart , его надо отключить. об этом кстати вот https://wifi-iot.com/p/wiki/15/ сказано. он может серьезно мешать. 
- 
					
					
					
					
 sdm120 - это хорошо. но все не совсем тривиально при передаче rs485 на сервер. конечно если есть медный кабель прямиком в сервер - не проблема. Но если нет - то пляски с бубном. У меня HLK-RM04 прокидывает serial через TCP , потом эмулятор tty под linux (socat), потом mdbusd (Mudbus RTU -> Modbus TCP). с учетом стоимости HLK-RM04 и sdm120 - выходит под $50 уже. а что касаемо героя pzem-004t и esp - тут надо смотреть на коммуникации esp и pzem-004t. если на esp плате есть чип usb-uart , его надо отключить. об этом кстати вот https://wifi-iot.com/p/wiki/15/ сказано. он может серьезно мешать. ` Как у Вас все заморочено… Не, у меня проще, в качестве сервера WB контроллер (который фактически является ядром) c RS-485, а уж с него MQTT на ioBroker. Может когда-нибудь прикручу к Orange Pi, где также стоит ioBroker, RS-485 - UART и отправлю прямо туда modbus RTU. Но пока нужды нет. 
- 
					
					
					
					
 а что касаемо героя pzem-004t и esp - тут надо смотреть на коммуникации esp и pzem-004t. если на esp плате есть чип usb-uart , его надо отключить. об этом кстати вот https://wifi-iot.com/p/wiki/15/ сказано. он может серьезно мешать. ` 
 Я читал это предупреждение, и собирал из того, что было под рукой (кстати, именно NodeMCU). <u>НО!!!</u> Физическое отключение pzem-004t (совсем-совсем) не улучшило ситуацию! Оказалось, что ESP8266, при подключении к драйверу MQTT (в режиме Сервер/брокер), начинает циклически перезагружаться! Отсюда и странные тормоза интерфейса - устройство просто недоступно N секунд. Причина перезагрузки непонятна…
- 
					
					
					
					
 Собрал монитор энергии на pzem-004t и esp (прошивка Wifi-iot). Драйвер MQTT настроен как сервер. Вначале все работало, потом началась какая-то ерунда - часть объектов отображается некорректно, в т.ч. и на веб-интерфейсе esp(при этом он ещё заметно подвисает). В логе ошибки: ! mqtt.0 2017-02-19 20:03:55.369 error mqtt.0 Closed because of error 
 ! mqtt.0 2017-02-19 20:03:55.368 warn mqtt.0 Client error [ESP82660006940a]: Error: read ECONNRESET
 ! mqtt.0 2017-02-19 20:03:54.377 info mqtt.0 publishOnSubscribe send all known states
 ! mqtt.0 2017-02-19 20:03:54.377 info mqtt.0 Client [ESP82660006940a] subscribes on "ESP0006940A.#" with regex /^mqtt.0.ESP0006940A../
 ! mqtt.0 2017-02-19 20:03:54.376 info mqtt.0 Client [ESP82660006940a] subscribes on "ESP0006940A.#" with regex /^ESP0006940A../
 ! mqtt.0 2017-02-19 20:03:54.376 info mqtt.0 publishOnSubscribe
 ! mqtt.0 2017-02-19 20:03:54.376 info mqtt.0 Client [ESP82660006940a] subscribes on "mqtt.0.timestamp"
 ! mqtt.0 2017-02-19 20:03:54.375 info mqtt.0 publishOnSubscribe send all known states
 ! mqtt.0 2017-02-19 20:03:54.370 info mqtt.0 Client [ESP82660006940a] subscribes on "testtopic.#" with regex /^mqtt.0.testtopic../
 ! mqtt.0 2017-02-19 20:03:54.369 info mqtt.0 Client [ESP82660006940a] subscribes on "testtopic.#" with regex /^testtopic../
 ! mqtt.0 2017-02-19 20:03:54.369 info mqtt.0 publishOnSubscribe send all known states
 ! mqtt.0 2017-02-19 20:03:54.369 info mqtt.0 Client [ESP82660006940a] subscribes on "ESP0006940A.#" with regex /^mqtt.0.ESP0006940A../
 ! mqtt.0 2017-02-19 20:03:54.368 info mqtt.0 Client [ESP82660006940a] subscribes on "ESP0006940A.#" with regex /^ESP0006940A../
 ! mqtt.0 2017-02-19 20:03:54.205 info mqtt.0 Client [ESP82660006940a] connected
 ! mqtt.0 2017-02-19 20:03:49.765 info mqtt.0 publishOnSubscribe send all known states
 ! mqtt.0 2017-02-19 20:03:49.765 info mqtt.0 Client [ESP82660006940a] subscribes on "ESP0006940A.#" with regex /^mqtt.0.ESP0006940A../
 ! mqtt.0 2017-02-19 20:03:49.764 info mqtt.0 Client [ESP82660006940a] subscribes on "ESP0006940A.#" with regex /^ESP0006940A../
 ! mqtt.0 2017-02-19 20:03:47.397 info mqtt.0 Client [ESP82660006940a] closed
 ! mqtt.0 2017-02-19 20:03:47.396 error mqtt.0 Closed because of error
 ! mqtt.0 2017-02-19 20:03:47.396 warn mqtt.0 Client error [ESP82660006940a]: Error: read ECONNRESET `
 Боролся с такими же симптомами, постоянно обрывы и запись в логи.На более низкой версии драйвера ошибок гараздо меньше но они есть. В итоге сменил настройки драйвера на свои и всё стало отлично. Я не знаю может сейчас после этого поста мне скажут что эти настройки неправильные или ещё чего то, но такая настройка заработала так как нужно! Пробуйте сменить у себя. (в ESP время опроса датчиков pzem-004t 5-6 сек, отправка mqtt 5сек.) Ну а настройка драйвера ниже в скринах. PS никаких usb-uart на плате нет! 
 1795_1.jpg
 1795_2.jpg
- 
					
					
					
					
 а что касаемо героя pzem-004t и esp - тут надо смотреть на коммуникации esp и pzem-004t. если на esp плате есть чип usb-uart , его надо отключить. об этом кстати вот https://wifi-iot.com/p/wiki/15/ сказано. он может серьезно мешать. Я читал это предупреждение, и собирал из того, что было под рукой (кстати, именно NodeMCU). ****<u>НО!!!</u>**** Физическое отключение pzem-004t (совсем-совсем) не улучшило ситуацию! Оказалось, что ESP8266, при подключении к драйверу MQTT (в режиме Сервер/брокер), начинает циклически перезагружаться! Отсюда и странные тормоза интерфейса - устройство просто недоступно N секунд. Причина перезагрузки непонятна…
 Когда у Вас сейчас на стандартных настройках есть связка (ESP+pzem-004t+Iobroker), возьмите например Android устройство и подключитесь к iobroker по MQTT посмотрите сколько держится конект (макс 5 сек и обрыв, потом опять конект и обрыв) Проверьте ради интереса.PS в телефоне введите ip устройства где установлен iobroker, а не ip адрес ESP. А потом поменяйте настройки как у меня и проверьте заново. 
- 
					
					
					
					
 В итоге сменил настройки драйвера на свои и всё стало отлично.! ` 
 Помогло!
- 
					
					
					
					
 Когда у Вас сейчас на стандартных настройках есть связка (ESP+pzem-004t+Iobroker), возьмите например Android устройство и подключитесь к iobroker по MQTT посмотрите сколько держится конект (макс 5 сек и обрыв, потом опять конект и обрыв) Проверьте ради интереса. PS в телефоне введите ip устройства где установлен iobroker, а не ip адрес ESP. А потом поменяйте настройки как у меня и проверьте заново. ` 
 Обрывы были.
- 
					
					
					
					
 Вот и отлично. 
- 
					
					
					
					
 В итоге сменил настройки драйвера на свои и всё стало отлично.! Помогло!а какая версия драйвера MQTT ? 
- 
					
					
					
					
 В итоге сменил настройки драйвера на свои и всё стало отлично.! Помогло!а какая версия драйвера MQTT ? ` 
 Последняя.
- 
					
					
					
					
 Помогло! ` а какая версия драйвера MQTT ? Последняя.а не можешь попробовать откатить на 1.2.5 ? она у меня стабильно работает со стандартными настройками без плясок с бубном. а на последней сплошные зависания. 
- 
					
					
					
					
 а какая версия драйвера MQTT ? Последняя.а не можешь попробовать откатить на 1.2.5 ? она у меня стабильно работает со стандартными настройками без плясок с бубном. а на последней сплошные зависания. ` 
 С настройками от v965 пока работает стабильно.
- 
					
					
					
					
 а какая версия драйвера MQTT ? Последняя.а не можешь попробовать откатить на 1.2.5 ? она у меня стабильно работает со стандартными настройками без плясок с бубном. а на последней сплошные зависания. ` 
 Вроде де бы писали уже, что обрывы из за 2х галочек:- 
отсылать состояния при старте 
- 
использовать chunking заплатку. 
 Первое: MQTT клиент не может переварить обрушивающийся на него поток данных при старте. А второе - криворукие и ленивые программисты esp библиотеки, которые думают, что TCP это пакетная передача. Тоже используешь wifi-iot? 
- 
- 
					
					
					
					
 Последняя. ` а не можешь попробовать откатить на 1.2.5 ? она у меня стабильно работает со стандартными настройками без плясок с бубном. а на последней сплошные зависания. ` 
 Вроде де бы писали уже, что обрывы из за 2х галочек:- 
отсылать состояния при старте 
- 
использовать chunking заплатку. 
 Первое: MQTT клиент не может переварить обрушивающийся на него поток данных при старте. А второе - криворукие и ленивые программисты esp библиотеки, которые думают, что TCP это пакетная передача. Тоже используешь wifi-iot? ` так точно, использую. виноват  но другого работающего решения из коробки для ESP нет. ты имеешь ввиду Publish own states on connect: оно должно быть выключено? и chunking заплатку тоже отключить? 
- 
- 
					
					
					
					
 1. Выключено 2. Включено 
- 
					
					
					
					
 но другого работающего решения из коробки для ESP нет. ` 
 http://ab-log.ru/forum/viewtopic.php?f=1&t=1130
- 
					
					
					
					
 1. Выключено 2. Включено ` Помогло использование Use chunk patch: yes Publish own states on connect: - не выключал 
- 
					
					
					
					
 ` > Use chunk patch: yes Publish own states on connect: - не выключал ` 
 А русский я для кого делал? 
 
		
	 
		
	