Pull to refresh

Comments 36

UFO just landed and posted this here
Дизайн графиков — стандартный для графаны вообще-то. Ну то есть точно не их :-)
А вот сама идея снимать статистику в каждой точке потребления мне понравилась. Надо будет озаботиться на этот предмет там, где получится…
Не вполне понял вот этот момент:
В скважине очень жесткая вода, накипь образуется достаточно быстро. Соответственно, нагревательным элементам приходится работать больше и в более жестком режиме, нагревая воду из-под дополнительного кожуха накипи

Это же нагреватель, он преобразует примерно 100% потребляемой мощности в тепло. Да, сам нагревательный элемент будет нагреваться до более высоких температур, но это никак не должно повлиять на потребляемую им мощность. Поправьте меня, если не так.
Всё верно, да он будет дольше нагревать, но, возможно, если теплоотдача из-за накипи будет хуже, то температура тэна повысится, сопротивление уменьшится и мощность возрастет. Посмотрим!
Я думал, сопротивление ТЭНа при нагревании увеличивается. Иначе он при нагревании перегорит. Отрицательная обратная связь получается.
Да верно, это я ошибся!
И давно у нагревателей стал отрицательный температурный коэффициент сопротивления?
Как раз таки при нагреве потребляемая мощность падает.
А из-за накипи ухудшается отвод тепла от нагревателя, что приближает его кончину, и очень быстро.
Эмпирически вывел — чистить бойлер два раза в год. Тоже жёсткая вода. Если чистить раз в год, то ооооочень трудно доставать ТЭНы, накипь расклинивает трубки и ТЭН не проходит в отверстие.
Так что просто отвожу на это день весной и день осенью.
Ну, примерно да, я по шуму еще ориентируюсь. Это дача, там немного непредсказуемо все — летом больше накипает, зимой — практически ничего. Мне еще повезло: у меня тэны в бойлере в чехлах из нержавейки, и накипает на этой нержавейке, не на самих тэнах. Но очень конкретно накипает. Механически что-то удаляется, а дальше начинается химия с реагентами. Вы что-то химическое используете для растворения накипи?
Кстати, да, по звуку тоже можно понять есть ли накипь, но у меня она всегда есть ))
Я несколько раз тэны менял и сейчас они медные (или омеднёные...) — самые живучие. Прямой контакт тэнов с водой (бойлер Термекс 100л, вертикальный, нержавейка).
Химию не использую. Раза три ставил внутрь бойлера магниевый анод, но разницы при такой жёсткости воды не заметил…
Накипь как-то не нарастает на этих тэнах, а в виде каши валится на дно. Я просто выгребаю всю эту кашу, промываю пару раз бойлер водой и собираю обратно.
Эх, красиво то как. Я вот два года назад сам задумал похожую систему в квартире. Но ремонт штука такая… Уже постепенно и запал спадает. Но именно такие статьи меня вдохновляют не сдаваться и таки довести дело до конца (даже несколько статей самому написать о своём опыте)
Спасибо! Я вот все жду того момента, когда щиты закрою пластронами и скажу «остановись мгновенье». Но столько всего интересного, что окончание отодвигается и отодвигается.
не умеет делать привычные выборки из выборок, поэтому добавить столбец со стоимостью каждого часа не удалось.

Не совсем понял что вы имеете ввиду, ведь у вас стоимость каждого часа и так выведена. Полагаю опечатка и мелось ввиду месяц?

У меня счетчик только общий, отдельно показывает накоплеттную активную и реактивную. За месяц вывожу на виджет таким запросом:
SELECT (max("ENERGY_Total")-min("ENERGY_Total"))+(max("ENERGY_Total Reactive Power")-min("ENERGY_Total Reactive Power")) FROM "mqttc" WHERE $timeFilter GROUP BY time(720d)

немного коряво, что разбивается по 30 дней, но мне такой «точности» достаточно.
А на вкладке Time range в поле Override relative time указать now/M (текущий месяц).
Для виджита цены — то же самое с умножением на тариф.

Получаестся примерно так:


ЗЫЖ Провалы это корявое обновление :)
Красиво!
У вас структура базы данных слегка отличается от той, что я использую, вам проще. У меня все mqtt-значения пишутся в одну табличку типа таймстемп, значение, устройство, mqtt-топик; и запрос расхода выглядит примерно так:
SELECT difference(last("value_f")) FROM "mqtt_data" WHERE ("client" = 'MainWirenBoard' AND "channel" = 'wb-map12h_11/Ch 1 AP energy L3') AND $timeFilter GROUP BY time(1h) fill(previous)


А цена — вот так:
SELECT first("value_f")  FROM "mqtt_data" WHERE ("client" = 'MainWirenBoard' AND "channel" = 'energyTariff/price') AND $timeFilter GROUP BY time(1h) fill(previous)


И первый SELECT на второй в Influxdb 1.1.1 я так и не смог помножить. Надо добраться до консерватории и что-то в ней поменять.
У вас тариф от куда берется? он часто меняется часто?
Трехтарифный счетчик, тариф меняется 5 раз в день. Есть виртуальное устройство на контроллере, в котором хранится тип тарифа и стоимость кВтч. По таймеру обновляетсяю При обновлении приходит соответствующtt mqtt-сообщение. Это чтобы не плодить сущности и хранить информацию о тарифе в одном месте.
А поделитесь кодом, пожалуйста :). Я сделал разделение тарифов на wb по времени суток, но как-то некрасиво и ненадежно получилось. Кстати, можно же наверное в счетчике прошивку допилить, чтобы расход по тарифам отдельно считался?
Хорошо, поделюсь, конечно. Вставлю следующим комментарием сюда на выходных.
Вот, обещанные правила и функции для трехтарифного счетчика. Немного грязноватое сравнение, но работает.
Тарифы для трехтарифного счетчика
function initTariff () {
var date = new Date();
date = date;

      if (timeIntervalCompare( date, 1000, 1700) ||
          timeIntervalCompare( date, 2100, 2300)) 
      	{
          dev["energyTariff"]["tariff"]=2;
		  dev["energyTariff"]["price"]=3.71; //3.71
          log('halfpeak'); 
        }
      
      if (timeIntervalCompare( date, 700, 1000) ||
          timeIntervalCompare( date, 1700, 2100)) 
      	{
          dev["energyTariff"]["tariff"]=3;
		  dev["energyTariff"]["price"]=4.82; //4.82
          log('peak'); 
        }
      
      if (timeIntervalCompare( date, 2300, 2359) ||
          timeIntervalCompare( date, 01, 700)) 
      	{
          dev["energyTariff"]["tariff"]=1;
		  dev["energyTariff"]["price"]=1.57; //1.57
          log('night'); 
        }
           
  	  	
  
    };

defineRule("cron_tariff_change", {
  when: cron("0 0 0,7,10,17,21,23 * * *"),
  then: function () {
    log("tariff_change cron rule fired");
    initTariff();
  }
});

defineVirtualDevice("energyTariff", {
    title: "Energy Tariff",
    cells: {
        tariff: {
            type: "value",
            value: 2,
        readonly: true,
        },
    price:       {
      type: "value",
          value: 3.71,
          readonly: true

    }
    }});
function timeIntervalCompare(date, time1,time2) {
    var time  = date.getHours()*100 +  date.getMinutes();
if ((time >= time1) && (time < time2)) {return(true)} else {return(false)};
};

setTimeout(initTariff, 12000);


Спасибо. Только самое интересное не показали — в счетчике же общее потребление хранится. Как оно между тарифами распределяется? Просто из общего вычитаются текущие показания по всем тарифам и остаток плюсуется к текущему?
А почему на скрипте остановились а не «родной» telegraf? Он складывает значения немного более уникально. Тогда будет возможно такое
SELECT difference(last("ENERGY_Total")) * last("ENERGY_Cost")  FROM "mqttc" WHERE   $timeFilter GROUP BY time($__interval) fill(previous)

Сообщения пушить так
mosquitto_pub -t 'tele/sdm/stat' -m {"ENERGY":{"Total":240,"Cost":3.2}}
Исключительно исторически так сложилось. Telegraf сразу не завелся, а потом я навернул сервер и при переустановке решил воспользоваться нашим скриптом. А так, надеюсь, дойдут руки. Спасибо!
Прошу прощения, а в чем вы строите такие графики?
А вот это как раз Grafana, о котрой я пишу. А данные берет из Influxbd
А эти счетчики только для собственного пользования или их можно как расчетные устанавливать?
Дя, для собственного пользования: только технический учет пока, не коммерческий. И, похоже, что в ближайшей перспективе такими эти счетчики и останутся. Общее потребление всегда можно по какому-нибудь интерфейсу получить с коммерческого, там, «Меркурия» — а у WB-MAP другая ниша.
Но это самый популярный вопрос про эти счетчики, верно!
Если бы мог, поставил бы сразу плюс, только за то, что дача автоматизированная, а не умная.
Благодарю! «Умная дача решила, что самый большой расход энергии и сложность алгоритмов управления возникают исключительно благодаря дачникам и перестала пускать их на дачу!»
Действительно, редко сейчас встретишь. Всё «умное», аж бесит! Пора бы уже установить какие-то нормы для определения «умный». Вы действительно считаете умной свою кофеварку? Да у неё же IQ меньше 80!
UFO just landed and posted this here
вариант использования мониторинга энергопотребления

по графику ответить на вопрос «выключен ли утюг» :)

Google когда-то показывал графики домашнего потребления электричества, но не взлетело.
Наверное это был Google PowerMeter
А я свой меркурий подключил к openhab по схеме отсюда . В самом счетчике хранится куча статистики. Тоже делал графики сначала, но наигрался за пару дней и отключил их. Хватает и внутренних данных счетчика и текущих показаний в приложении.

image
Я тоже очень люблю графики, гаджеты, статистику. Но какой практический смысл всего вашего мониторинга? Т.е. если отделить удовольствие от реализации и просмотра данных, которое (удовольствие) я полностью разделяю, как применить полученное себе (своей семье) в пользу? Этого статье очень не хватает.
Иначе получается, что мы узнали график потребления мощности холодильника или бойлера… и что? Кроме общего повышения уровня эрудиции профит в чем?
Ну, совершенно верно — мне нравится мониторинг! Практика может быть довольно обширной: есть очевидные вещи, котрые я реализую в первую очередь, напрмер, следить за исправностью оборудования: при удаленном включении потребителей это не лишне. Потом есть вопросы, которые требуют дополнительного исследования, их я перечислил в конце статьи. Ну, и в третьих, я ожидаю идей от читателей: возможно, я далеко не все предусмотрел.
Слежение заключается в проверке запустилось / не запустилось? А на случай серьезного выхода из строя предусмотрен ли какой-нибудь способ реагирования и на сколько он автоматизирован? Самое опасное, что приходит на ум — возгорание. Есть ли контроль и система тушения? Может статься так, что он системы пожаротушения будет гораздо больше практической пользы, чем от всего мониторинга открытий холодильников.
Впрочем, система пожаротушения это отдельная область, и завязка на мониторинг энергопотребления ей не особо нужна.

А вот автоматическое определение неправильно работающего оборудования сравнением с «правильными профилями», и автоматическое же отключение таковых от сети — вполне имеет практическую пользу.

Вообще, я бы постарался всю систему сделать самостоятельной и в штатном режиме не беспокоящей хозяина. Какие либо сообщения должны приходить только при нештатных ситуациях. Красивые графики регулярно смотреть рано или поздно надоест.
Обязательно должен быть отдельный канал, сигнализирующий только о проблемах. Иначе в общем потоке легко не заметить важного, требующего вмешательства.
Как это говорится, «это очень хороший вопрос!»
смотрите, вот в предыдущей статье я описал свои противопожарные меры: «В щитах наклеены пиростикеры компактного пожаротушения АСТ из параноидальных соображений. В доме есть огнетушители, самосапсатели, кошма. УЗО защищают ВСЕ линии и проходят периодическое тестирование. На вводе селективное противопожарное УЗО тоже есть.»

Автоматической системы пожаротушения нет, и я плохо себе представляю, что, кроме самосрабатывающих огнетушителей можно сделать в небольшом деревянном доме. Вы как-то этим профессионально, случаем, не занимаетесь? Может, подскажете что-нибудь более разумное?
Графики, конечно, не самоцель — это иллюстрация возможностей плюс описание входного набора данных для мониторинга. И вы верно заметили: канал тревоги. Я много лет проработал в мониторинге и знаю, что всякие алерты, типа «волки-волки!» начинает игнорироваться очень скоро.

Спасибо!
Sign up to leave a comment.