Перейти до публікації
Пошук в
  • Додатково...
Шукати результати, які містять...
Шукати результати в...

Измерение параметров электросети в контексте умного дома

shaposhnikoff

Рекомендовані повідомлення

У меня измерители на PZEM интегрированы в самописную систему. PZEM - Arduino - MQTT server (Iobroker). Меряю напряжения по фазам, перекосы, мощность, потребление. Получается примерно такие графики (провалы на графике это перезагрузка системы)

spacer.png

  • Лайк 1
Посилання на коментар
Поділитися на інших сайтах

2 часа назад, sigma_shig сказал:

У меня измерители на PZEM интегрированы в самописную систему. PZEM - Arduino - MQTT server (Iobroker). Меряю напряжения по фазам, перекосы, мощность, потребление. Получается примерно такие графики (провалы на графике это перезагрузка системы)

 

Да, ясно, у меня такие-же провалы в графиках - когда нет света :) - сделал в Grafana, немного привычнее.

А как у вас собирается по трем фазам статистика - одна ( один) PZEM - одна Arduino ? или как то подключено ( может через SoftwareSerial, или как то еще) - одна Arduino опрашивает несколько датчиков? 

Я сделал пока так -  [ PZEM --> ESP8266 (esphome внутри ) --> Prometheus --> Grafana ] * 3 фазы
 

Змінено користувачем shaposhnikoff
Посилання на коментар
Поділитися на інших сайтах

У меня 3 датчика PZEM подсоединены к одной Arduino через SoftwareSerial. Использовано 3 Soft порта. Можно объединить в один, но тогда надо на одной из PZEM резистор менять. Мне было лень. Потому и три порта. Фактически, ардуино занято тем, что периодически собирает результаты и отправляет MQTT сообщение на центральный сервер. Но у меня на таком принципе настроен весь дом - ардуино собирает данные, отправляет на центральный сервер по MQTT, получает от него такие же сообщения на исполнительные элементы. На центральном сервере (Raspberry Pi 3) это все складируется в DB. И с помощью Flot строятся графики.  

Посилання на коментар
Поділитися на інших сайтах

6 часов назад, sigma_shig сказал:

И с помощью Flot строятся графики

если у вас данные уже в бд то графана кажется более логичным и развитым решением, тем более что на сколько знаю она на малину ставится без проблем

Посилання на коментар
Поділитися на інших сайтах

4 минуты назад, standov сказал:

если у вас данные уже в бд то графана кажется более логичным и развитым решением, тем более что на сколько знаю она на малину ставится без проблем

Кроме того, что у меня iobroker УЖЕ стоит и эти графики(flot встроен в iobroker) - 0.0001% использования iobroker :) 

Посилання на коментар
Поділитися на інших сайтах

1 минуту назад, sigma_shig сказал:

Кроме того, что у меня iobroker УЖЕ стоит и эти графики(flot встроен в iobroker) - 0.0001% использования iobroker :) 

Ну я понял, у меня тоже опенхаб с js графиками встроенными, но всю аналитику я делаю именно в графана, где есть сильно более развитые инструменты

Посилання на коментар
Поділитися на інших сайтах

Тогда встречный вопрос: а что с ней можно/нужно делать? Ну посмотрел на красивости, ну текущее состояние. А еще? Да, по концу месяца я подбиваю итоги расходов по отдельным потребителям - у меня на отопление стоит отдельный счетчик и собираюсь еще поставить на плиту. Иногда смотрю всякие минимумы-максимумы. Но это мне проще сделать из БД. 

Посилання на коментар
Поділитися на інших сайтах

11 минут назад, sigma_shig сказал:

Тогда встречный вопрос: а что с ней можно/нужно делать? Ну посмотрел на красивости, ну текущее состояние. А еще? Да, по концу месяца я подбиваю итоги расходов по отдельным потребителям - у меня на отопление стоит отдельный счетчик и собираюсь еще поставить на плиту. Иногда смотрю всякие минимумы-максимумы. Но это мне проще сделать из БД. 

работа с данными, если говорить более конкретно то вот живой пример из моей аналитики. Счетчик расхода газа, в бд хранится увеличивающимся счетчиком (грубо говоря показания счетчика в текущий момент времени). Далее с помощью функций графаны этот счетчик в рантайме разворачивается с помощью гуи вот в такое:
 

image.thumb.png.8d6069988397cf6bb2e8dd86e85b6fca.png

тобишь тут массово вот такие примерно штуки

image.png.1796d55f150759165e38bd6a1eccbf7b.png

Ну и конечно это все с полной интерактивностью по просмотру "вчера" "на прошлой неделе" "позавчера с 12 до 14". Другое дело что конечно есть опасения что производительности малины может не хватить, бо у меня i3 на больших интервалах времени залипать может знатно.

  • Лайк 1
Посилання на коментар
Поділитися на інших сайтах

InfluxDB это push-based system. Сама она ничего не собирает, нужны внешние коллектора, Prometheus - pull-based system, устройство публикует метрики на определенном endpoint - и Prometheus забирает их с определенной периодичностью. Если метрики или устройство недоступны, они просто помечаются недоступными в service discovery и при появлении ( в сети ) сбор метрик продолжается. 

Встроенные ( и самонаписанные ) алерты Prometheus позволяют среагировать на любое событие , которое Prometheus способен зарегистрировать.

Насколько я в курсе, Influx использует для этого Chronograf - это опять же костыль

PromQL намного проще чем InfluxQL.

Достаточно.

Посилання на коментар
Поділитися на інших сайтах

2 часа назад, shaposhnikoff сказал:

InfluxDB это push-based system. Сама она ничего не собирает, нужны внешние коллектора, Prometheus - pull-based system, устройство публикует метрики на определенном endpoint - и Prometheus забирает их с определенной периодичностью. Если метрики или устройство недоступны, они просто помечаются недоступными в service discovery и при появлении ( в сети ) сбор метрик продолжается. 

Встроенные ( и самонаписанные ) алерты Prometheus позволяют среагировать на любое событие , которое Prometheus способен зарегистрировать.

Насколько я в курсе, Influx использует для этого Chronograf - это опять же костыль

PromQL намного проще чем InfluxQL.

Достаточно.

Инфлюкс используется как дб бекенд у той системы которая собирает данные с датчиков, будь то опенхаб, хоумассистент или иоброккер, у всех есть поддержка инфлюкса. В этом смысле она не то что ничего не собирает а даже и не собирается собирать, это чистая тайм-сериесБД, ее не волнует как в нее попадают данные это не ее забота.

Алерты в графическом виде реализуются или упомянутой графаной или самим оркестратором (опенхаб иоброккер и тп) или силами самого инфлюкса если это 2.0. Прометеус штука тоже интересная но ее смысл в иоте не сильно актуален бо отдельные железки просто в массе не предоставляют задокументированных интерфейсов за которые прометеус мог бы зацепиться. Прометеус удобен для работы с открытыми программными системами конкретно под сбор статистики, с 100500 разными железками применение даже с трудом представляю как, теоретически наверное можно заморочиться и посидеть посочинять но зачем себе создавать проблемы и героически их решать.

Инфлюкскл мертв, сейчас язык запросов флюкс, да он не простой но оооочень мощный.

Пс но в общем-то у ТС вроде уже все есть в бекенде и все выбрано)

Змінено користувачем standov
Посилання на коментар
Поділитися на інших сайтах

Другими словами в случае с прометеусом и железками варианта 3:

1) железка умеет сама, таким по пальцам одной руки, это максимум что кастомные прошивки на самоделки на есп (тасмота, изиесп)

2) железка имеет например задокументированных открытый веб, тогда вы делаете статический и сидите пишите сами "бондинг" в прометеусе

3) используете какой-то интерфейс вида mqtt2prometeus.

Итого первый вариант очевидно на везение, второй очевидно трудоемкий, третий очевидно глупый бо теряется смысл прометеуса ) возникает закономерный вопрос...)

Змінено користувачем standov
Посилання на коментар
Поділитися на інших сайтах

Да, а вы в теме :)

по первому пункту все правильно, тут нечего добавить

пункт 2 - да, пока в tasmota не было метрик, они появились недавно - я собирал метрики для prometheus следующим образом, есть такая штука как pushgateway ( напоминает zabbix proxy) - и пушим туда все, что можно собрать 
 

echo "outdoor_temp `curl -s http://192.168.10.53/cm?cmnd=status%2010 |  jq '.StatusSNS."DS18B20-2".Temperature'`" | curl --data-binary @- pushgateway.local:9091/metrics/job/outdoor_temp

pushgateway это штука из вселенной prometheus и конечно же она умеет отдавать метрики.

3 - mqtt2prometheus - я не знал про такое, поставил звездочку на github, занес в избранное, соберу контейнер, попробую.

 

Ваши комментарии очень полезны, я благодарен.

Посилання на коментар
Поділитися на інших сайтах

23 минуты назад, shaposhnikoff сказал:

mqtt2prometheus - я не знал про такое, поставил звездочку на github, занес в избранное, соберу контейнер, попробую.

Тысячи их разной степени кустарности, имхо это натягивание совы на глобус.

Потратьте это время на настройку и изучение чего-то типа опенхаб, хоумасистант, иоброккер) Я лично за первый, хотя по идее самый простой и раскрученный второй. Вы прописывает все свои железки в нем, в нем-же сделан персистентный слой который все данные по опросу железок отправляет в инфлюкс(прометеус тоже по идее есть) и вы получаете и гибкую систему работу с железками и все данные в базе для аналитики

Посилання на коментар
Поділитися на інших сайтах

Я пользуюсь HomeASSistant уже достаточно давно, я пробовал и openhab еще первой версии, и Domoticz и еще что-то, уже не упомню - но тут нельзя сравнивать HASS  и Prometheus - первое это система контроля, назовем это так, умного дома - а прометеус - это система хранения и управления метриками ( от того-же умного дома) - ну и конечно что хорошо, что HASS написан на python и использует jinja темплейты для конфигурирования - это бывает удобно, т.к. я много пишу на python3. А для каких-то срочных вещей , я написал себе telegram - бота, хостится он рядом со всеми розетками, в той-же сети, ну и достаточно простой в работе. 

Посилання на коментар
Поділитися на інших сайтах

Конечно нельзя сравнивать потому что это разные вещи, я же не пишу про сравнение. Просто одно использует другое и вы в итоге получаете с минимальными движениями рук законченное решение с полным функционалом. Инфлюкс/прометеус используется в том числе для получения состояния элемента в прошлом, бывает логика основанная на этом

  • Лайк 1
Посилання на коментар
Поділитися на інших сайтах

19 часов назад, sigma_shig сказал:

Тогда встречный вопрос: а что с ней можно/нужно делать? Ну посмотрел на красивости, ну текущее состояние. А еще? Да, по концу месяца я подбиваю итоги расходов по отдельным потребителям - у меня на отопление стоит отдельный счетчик и собираюсь еще поставить на плиту. Иногда смотрю всякие минимумы-максимумы. Но это мне проще сделать из БД. 

еще один практический пример, буквально вчера, что может графана в сочетании со вторым инфлюксом https://www.stroimdom.com.ua/topic/204179-moya-stroyka-zx50-vorzele-zamorochkami/page/58/?tab=comments#comment-5076440

Посилання на коментар
Поділитися на інших сайтах

47 минут назад, shaposhnikoff сказал:

а можно тот-же график, только на встроенной дашборде инфлюкса?

 Можно, но по моему опыту дашборды графаны заметно удобнее + есть клиент под Андроид (такой себе но есть). Но конечно больше дело привычки, плюс ещё у графаны что вы можете на одни дашборды сводить данные из разных источников, в ТЧ например из прометеуса, mysql, postgre 

Змінено користувачем standov
Посилання на коментар
Поділитися на інших сайтах

Я telegraf юзал для перекладывания данных из MQTT в InfluxDB

Tasmota->MQTT->Telegraf->InfluxDB->Grafana

Змінено користувачем Enot123h
  • Лайк 1
Посилання на коментар
Поділитися на інших сайтах

7 минут назад, standov сказал:

 Можно, но по моему опыту дашборды графаны заметно удобнее + есть клиент под Андроид (такой себе но есть). Но конечно больше дело привычки, плюс ещё у графаны что вы можете на одни дашборды сводить данные из разных источников, в ТЧ например из прометеуса, mysql, postgre 

 

Они определенно не такие страшные как в инфлюксе

 

15 минут назад, Enot123h сказал:

Я telegraf юзал для перекладывания данных из MQTT в InfluxDB

Tasmota->MQTT->Telegraf->InfluxDB->Grafana

попробуйте

Tasmota-> Prometheus ->Grafana

прошивку нужно будет пересобрать, подключить метрики

#define USE_PROMETHEUS                           // Add support for prometheus.io/ metrics exporting over HTTP /metrics endpoint

 

и вы получите такие метрики (  умная розетка из Кетая )

 

# TYPE tasmota_info gauge
tasmota_info{version="9.5.0.7",image="(tasmota)",build_timestamp="2021-08-27T12:27:17",devicename="green_heater_socket_tuya"} 1
# TYPE tasmota_uptime_seconds gauge
tasmota_uptime_seconds{} 402383
# TYPE tasmota_boot_count counter
tasmota_boot_count{} 27
# TYPE tasmota_flash_writes_total counter
tasmota_flash_writes_total{} 97
# TYPE tasmota_wifi_station_info gauge
tasmota_wifi_station_info{bssid="FF:FF:FF:FF:FF:FF",ssid="MikroTik"} 1
# TYPE tasmota_wifi_station_signal_dbm gauge
tasmota_wifi_station_signal_dbm{mac_address="FF:FF:FF:FF:FF:FF"} -79
# TYPE tasmota_memory_free_bytes gauge
tasmota_memory_free_bytes{memory="heap"} 22984
# TYPE tasmota_energy_voltage_volts gauge
tasmota_energy_voltage_volts{} 203
# TYPE tasmota_energy_current_amperes gauge
tasmota_energy_current_amperes{} 2.448
# TYPE tasmota_energy_power_active_watts gauge
tasmota_energy_power_active_watts{} 492
# TYPE tasmota_energy_power_kilowatts_daily counter
tasmota_energy_power_kilowatts_daily{} 7.685
# TYPE tasmota_energy_power_kilowatts_total counter
tasmota_energy_power_kilowatts_total{} 207.218
# TYPE tasmota_relay1_state gauge
tasmota_relay1_state{} 1
# TYPE tasmota_sensors_total_ gauge
tasmota_sensors_total_{sensor="energy"} 207.218
# TYPE tasmota_sensors_yesterday_ gauge
tasmota_sensors_yesterday_{sensor="energy"} 12.041
# TYPE tasmota_sensors_today_ gauge
tasmota_sensors_today_{sensor="energy"} 7.685
# TYPE tasmota_sensors_power_ gauge
tasmota_sensors_power_{sensor="energy"} 492
# TYPE tasmota_sensors_apparentpower_ gauge
tasmota_sensors_apparentpower_{sensor="energy"} 496
# TYPE tasmota_sensors_reactivepower_ gauge
tasmota_sensors_reactivepower_{sensor="energy"} 61
# TYPE tasmota_sensors_factor_ gauge
tasmota_sensors_factor_{sensor="energy"} 0.99
# TYPE tasmota_sensors_voltage_volts gauge
tasmota_sensors_voltage_volts{sensor="energy"} 203
# TYPE tasmota_sensors_current_amperes gauge
tasmota_sensors_current_amperes{sensor="energy"} 2.448

 

Попробуйте, может это будет лучше.

  • Лайк 1
Посилання на коментар
Поділитися на інших сайтах

1 час назад, shaposhnikoff сказал:

Они определенно не такие страшные как в инфлюксе

в инфлюксе дашборды появились только в 2.0, они их активно пилят и дальше либо до чего-то допилят либо осознают что графану (которая уже версии 8+) просто одним желанием забороть не получится, а главное не понятно зачем. но пока то что есть весьма странное ага

Посилання на коментар
Поділитися на інших сайтах

Но есть польза и от чтения документации, тасмота - то может и в influx 

 

2021-11-18_19-16.png

Посилання на коментар
Поділитися на інших сайтах

@Enot123h MQTT и Telegraf можно смело оставлять без работы
github.com/arendst/Tasmota/blob/8e8be867e6d22d38f44d257d6e7cbc1cc7beecbb/tasmota/my_user_config.h#L398

в
файл user_config_override.h прописываете ( в добавление ко всему остальному )
 

#define USE_INFLUXDB                             // Enable influxdb support (+5k code)
#define INFLUXDB_STATE     0                   // [Ifx] Influxdb initially Off (0) or On (1)
#define INFLUXDB_VERSION   2                   // Version of Influxdb 1 or 2
#define INFLUXDB_HOST      "192.168.1.10"          // [IfxHost] Influxdb hostname or IP address
#define INFLUXDB_PORT      8086                // [IfxPort] Influxdb port number
#define INFLUXDB_ORG       "111"                  // [IfxUser, IfxOrg] Influxdb v1 username or v2 organisation
#define INFLUXDB_TOKEN     "admintoken123"                  // [IfxPassword, IfxToken] Influxdb v1 password or v2 token
#define INFLUXDB_BUCKET    "111"                // [IfxDatabase, IfxBucket] Influxdb v1 database or v2 bucket

собираете прошивку, обновляете, потом идем сюда
tasmota.github.io/docs/Commands/#influxdb

и запускаем пуш данных через консоль устройства

 

  • Дякую 1
Посилання на коментар
Поділитися на інших сайтах

2 часа назад, shaposhnikoff сказал:

@Enot123h MQTT и Telegraf можно смело оставлять без работы

 

Спасибо, для мониторинга согласен, а если в умный дом интегрировать то без MQTT тяжело

Я в дальнейшем планирую от фазы мониторинга к управлению перейти, к сожалению времени мало, ооочень медленно двигаюсь. Пока мониторю температуру, влажность, СО2, и недавно накупил wemos d1 mini 6 шт ждут интеграции в счетчик газа и электричества (pzem-004 2 шт тоже лежит) и материнка с Celeron J1800 под домашний сервак на чердаке где-то в коробках ждет уже 5й год.

Сделал открытие, что на ОЛХ полно планшетов по 250 грн, которые можно вместо выключателей в каждой комнате на стену вешать. :)

Змінено користувачем Enot123h
  • Лайк 1
Посилання на коментар
Поділитися на інших сайтах

1 час назад, Enot123h сказал:

Я в дальнейшем планирую от фазы мониторинга к управлению перейти, к сожалению времени мало, ооочень медленно двигаюсь.

github.com/reloxx13/TasmoAdmin
Должно пригодиться , сам пользуюсь

  • Дякую 1
Посилання на коментар
Поділитися на інших сайтах

Створіть акаунт або увійдіть у нього для коментування

Ви маєте бути користувачем, щоб залишити коментар

Створити акаунт

Зареєструйтеся для отримання акаунта. Це просто!

Зареєструвати акаунт

Увійти

Вже зареєстровані? Увійдіть тут.

Увійти зараз
×
×
  • Створити...