PZEM-004T с ESP8266

Подключение исполнительных устройств, датчиков, контроллеров.

Модератор: immortal

skysilver
Сообщения: 3006
Зарегистрирован: Чт авг 21, 2014 8:28 am
Откуда: Киров, Россия
Благодарил (а): 400 раз
Поблагодарили: 1753 раза
Контактная информация:

Re: PZEM-004T с ESP8266

Сообщение skysilver » Вс дек 17, 2017 10:05 pm

Jilber писал(а):Я правильно понимаю, что метод всё равно должен сравнивать с допустимыми значениями какое-то свойство ? Т.е. надо ввести какое-то промежуточное свойство, отфильтровать его и уже потом "через setGlobal сохранить в нужное свойство" ? Иначе что в методе проверять на "корректность" ?
Нет. В метод метрика должна передаваться в виде параметра. Попробуй такой код

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

if ( $params['pmv'] > 0 && $params['pmv'] < 400 ) $this->setProperty('pmv', $params['pmv']);
 else say('PZEM врет по напряжению!', 0);
За это сообщение автора skysilver поблагодарили (всего 2):
Jilber (Вс дек 17, 2017 10:26 pm) • TrDA (Ср июн 20, 2018 6:00 pm)
Рейтинг: 2.33%
MajorDoMo (GitHub) на Cubietruck. ОС Debian 7 (wheezy) (kernel 3.4.105) с переносом на HDD.
Мой CONNECT | Блоги | Telegram
Jilber
Сообщения: 682
Зарегистрирован: Ср май 03, 2017 7:41 pm
Благодарил (а): 111 раз
Поблагодарили: 107 раз

Re: PZEM-004T с ESP8266

Сообщение Jilber » Вс дек 17, 2017 10:26 pm

Спасибо, сделал пока на напряжение и ток. Будем проверять.
Jilber
Сообщения: 682
Зарегистрирован: Ср май 03, 2017 7:41 pm
Благодарил (а): 111 раз
Поблагодарили: 107 раз

Re: PZEM-004T с ESP8266

Сообщение Jilber » Сб дек 30, 2017 8:27 pm

Иногда всё равно проскакивают какие-то "левые" значения.
СпойлерПоказать
2.jpg
2.jpg (30.69 КБ) 5986 просмотров
1.jpg
1.jpg (17.25 КБ) 5986 просмотров
Код метода:
if ( $params['pmwh'] > 1 && $params['pmwh'] < 500 ) $this->setProperty('pmwh', $params['pmwh']);

И ещё вопрос: подскажите код метода для общего потребления, учётом того, что новое значение обязательно должно быть больше старого.
Что-то вроде этого ?
if ($params['NEW_VALUE'] > $params['OLD_VALUE']) $this->setProperty('pmw', $params['pmw']);
Jilber
Сообщения: 682
Зарегистрирован: Ср май 03, 2017 7:41 pm
Благодарил (а): 111 раз
Поблагодарили: 107 раз

Re: PZEM-004T с ESP8266

Сообщение Jilber » Чт янв 25, 2018 11:18 pm

skysilver писал(а):Странное поведение. У меня pzem уже почти год, и я не замечал за ним выдачи левых значений.
Видимо мне достался "совсем китайский" PZEM. Пару дней назад он вдруг начал постоянно выдавать нулевые значения. Вытащил его из щитка, подключил на столе, пробовал команду "http://[ip_adr]//uartpro?speed=9600&send=B4C0A80101001E". В результате появились только показания напряжения. Попробовал подключить его к другой плате Wemos D1 mini уже с прошивкой ESP Easy - результат точно такой же.
yray
Сообщения: 106
Зарегистрирован: Чт дек 14, 2017 12:51 am
Благодарил (а): 13 раз
Поблагодарили: 16 раз

Re: PZEM-004T с ESP8266

Сообщение yray » Пт янв 26, 2018 12:44 am

Подскажите - кто нибудь делал анализ расхода электричества? Хотелось бы не просто видеть суммарный расход за все время, а записывать в базу расход за час, день, неделю, месяц, год. И соответственно выводить это на сцену например в виде графика сколько энергии потратили по часам, дням, и тд. Может кто уже реализовал?
И может кто знает в PZEM-004T нельзя вбить свои начальные значения счетчика или только математикой прибавлять ?
olehs
Сообщения: 1115
Зарегистрирован: Вс июн 14, 2015 11:08 am
Благодарил (а): 85 раз
Поблагодарили: 342 раза

Re: PZEM-004T с ESP8266

Сообщение olehs » Пт янв 26, 2018 1:32 am

Вбить - нельзя. Программно сбросить - нельзя.
Есть вот такой метод, который запускается по крону ежедневно в 0:00

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

$d = date('j');

$energy = $this->getProperty('energy');
$hist = getHistoryValue($this->object_title.'.energyDay', strtotime('yesterday'));
if($hist) {
  $energyDaily = $energy - $hist;
  $this->setProperty('energyDaily', round($energyDaily, 3));
}
$this->setProperty('energyDay', $energy);

if($d == '1') {
 $hist = getHistoryValue($this->object_title.'.energyMonth', strtotime(date('Y-m-01')));
 if($hist) {
  $energyMonthly = $energy - $hist;
  $this->setProperty('energyMonthly', round($energyMonthly, 3));
 }
 $this->setProperty('energyMonth', $energy);
} 
он сохраняет ежедневное и ежемесячное потребление.
Для его работы текущее показание энергии с PZEM должно быть в свойстве energy данного объекта
За это сообщение автора olehs поблагодарил:
yray (Пт янв 26, 2018 1:51 am)
Рейтинг: 1.16%
anapogo
Сообщения: 36
Зарегистрирован: Сб дек 31, 2016 5:28 pm
Благодарил (а): 8 раз
Поблагодарили: 1 раз
Контактная информация:

Re: PZEM-004T с ESP8266

Сообщение anapogo » Вт янв 30, 2018 9:34 am

mikhail писал(а):Если кому интересно прошивка esp easy c поддержкой PZEM-004T
Очень интересно... А где Вы взяли эту прошивку? Хотелось-бы больше информации, исходники... или как она называется здесь https://github.com/letscontrolit/ESPEasy/releases
Скачал последнюю Release mega-20180126, прошил, но там поддержки PZEM-004 не обнаружил.
Спасибо.
Jilber
Сообщения: 682
Зарегистрирован: Ср май 03, 2017 7:41 pm
Благодарил (а): 111 раз
Поблагодарили: 107 раз

Re: PZEM-004T с ESP8266

Сообщение Jilber » Вт янв 30, 2018 9:53 am

anapogo писал(а):
mikhail писал(а):Если кому интересно прошивка esp easy c поддержкой PZEM-004T
Очень интересно... А где Вы взяли эту прошивку? Хотелось-бы больше информации, исходники... или как она называется здесь https://github.com/letscontrolit/ESPEasy/releases
Скачал последнюю Release mega-20180126, прошил, но там поддержки PZEM-004 не обнаружил.
Спасибо.
Прошил прошивку из этого сообщения - действительно PZEM работает. Если не ошибаюсь вот она на сайте.
Как я писал ранее однажды мой PZEM вдруг перестал работать, а тут неожиданно снова заработал (правда периодически всё равно проскакивают некорректные показания).
Тоже пробовал mega и другие версии этой прошивки - почему-то точка доступа или не появлялась вообще, или появлялась, но тут же отключалась.
За это сообщение автора Jilber поблагодарил:
anapogo (Вт янв 30, 2018 9:54 am)
Рейтинг: 1.16%
anapogo
Сообщения: 36
Зарегистрирован: Сб дек 31, 2016 5:28 pm
Благодарил (а): 8 раз
Поблагодарили: 1 раз
Контактная информация:

Re: PZEM-004T с ESP8266

Сообщение anapogo » Вт янв 30, 2018 10:37 am

Jilber писал(а): Тоже пробовал mega и другие версии этой прошивки - почему-то точка доступа или не появлялась вообще, или появлялась, но тут же отключалась.
О какой точке доступа речь?
Jilber
Сообщения: 682
Зарегистрирован: Ср май 03, 2017 7:41 pm
Благодарил (а): 111 раз
Поблагодарили: 107 раз

Re: PZEM-004T с ESP8266

Сообщение Jilber » Вт янв 30, 2018 10:49 am

После прошивки ESP создаёт точку доступа, к которой надо подключиться, зайти по адресу 192.168.4.1 и задать параметры своей Wi-Fi-сети. После этого уже можно заходить в интерфейс прошивки с компьютера через обычный браузер.
https://www.letscontrolit.com/wiki/inde ... et_started
Ответить