sigma_shig Опубліковано: 15 листопада 2021 Поділитись Опубліковано: 15 листопада 2021 У меня измерители на PZEM интегрированы в самописную систему. PZEM - Arduino - MQTT server (Iobroker). Меряю напряжения по фазам, перекосы, мощность, потребление. Получается примерно такие графики (провалы на графике это перезагрузка системы) 1 Посилання на коментар Поділитися на інших сайтах More sharing options...
shaposhnikoff Опубліковано: 15 листопада 2021 Автор Поділитись Опубліковано: 15 листопада 2021 (змінено) 2 часа назад, sigma_shig сказал: У меня измерители на PZEM интегрированы в самописную систему. PZEM - Arduino - MQTT server (Iobroker). Меряю напряжения по фазам, перекосы, мощность, потребление. Получается примерно такие графики (провалы на графике это перезагрузка системы) Да, ясно, у меня такие-же провалы в графиках - когда нет света - сделал в Grafana, немного привычнее. А как у вас собирается по трем фазам статистика - одна ( один) PZEM - одна Arduino ? или как то подключено ( может через SoftwareSerial, или как то еще) - одна Arduino опрашивает несколько датчиков? Я сделал пока так - [ PZEM --> ESP8266 (esphome внутри ) --> Prometheus --> Grafana ] * 3 фазы Змінено 15 листопада 2021 користувачем shaposhnikoff Посилання на коментар Поділитися на інших сайтах More sharing options...
sigma_shig Опубліковано: 15 листопада 2021 Поділитись Опубліковано: 15 листопада 2021 У меня 3 датчика PZEM подсоединены к одной Arduino через SoftwareSerial. Использовано 3 Soft порта. Можно объединить в один, но тогда надо на одной из PZEM резистор менять. Мне было лень. Потому и три порта. Фактически, ардуино занято тем, что периодически собирает результаты и отправляет MQTT сообщение на центральный сервер. Но у меня на таком принципе настроен весь дом - ардуино собирает данные, отправляет на центральный сервер по MQTT, получает от него такие же сообщения на исполнительные элементы. На центральном сервере (Raspberry Pi 3) это все складируется в DB. И с помощью Flot строятся графики. Посилання на коментар Поділитися на інших сайтах More sharing options...
standov Опубліковано: 15 листопада 2021 Поділитись Опубліковано: 15 листопада 2021 6 часов назад, sigma_shig сказал: И с помощью Flot строятся графики если у вас данные уже в бд то графана кажется более логичным и развитым решением, тем более что на сколько знаю она на малину ставится без проблем Посилання на коментар Поділитися на інших сайтах More sharing options...
sigma_shig Опубліковано: 15 листопада 2021 Поділитись Опубліковано: 15 листопада 2021 4 минуты назад, standov сказал: если у вас данные уже в бд то графана кажется более логичным и развитым решением, тем более что на сколько знаю она на малину ставится без проблем Кроме того, что у меня iobroker УЖЕ стоит и эти графики(flot встроен в iobroker) - 0.0001% использования iobroker Посилання на коментар Поділитися на інших сайтах More sharing options...
standov Опубліковано: 15 листопада 2021 Поділитись Опубліковано: 15 листопада 2021 1 минуту назад, sigma_shig сказал: Кроме того, что у меня iobroker УЖЕ стоит и эти графики(flot встроен в iobroker) - 0.0001% использования iobroker Ну я понял, у меня тоже опенхаб с js графиками встроенными, но всю аналитику я делаю именно в графана, где есть сильно более развитые инструменты Посилання на коментар Поділитися на інших сайтах More sharing options...
sigma_shig Опубліковано: 15 листопада 2021 Поділитись Опубліковано: 15 листопада 2021 Тогда встречный вопрос: а что с ней можно/нужно делать? Ну посмотрел на красивости, ну текущее состояние. А еще? Да, по концу месяца я подбиваю итоги расходов по отдельным потребителям - у меня на отопление стоит отдельный счетчик и собираюсь еще поставить на плиту. Иногда смотрю всякие минимумы-максимумы. Но это мне проще сделать из БД. Посилання на коментар Поділитися на інших сайтах More sharing options...
standov Опубліковано: 15 листопада 2021 Поділитись Опубліковано: 15 листопада 2021 11 минут назад, sigma_shig сказал: Тогда встречный вопрос: а что с ней можно/нужно делать? Ну посмотрел на красивости, ну текущее состояние. А еще? Да, по концу месяца я подбиваю итоги расходов по отдельным потребителям - у меня на отопление стоит отдельный счетчик и собираюсь еще поставить на плиту. Иногда смотрю всякие минимумы-максимумы. Но это мне проще сделать из БД. работа с данными, если говорить более конкретно то вот живой пример из моей аналитики. Счетчик расхода газа, в бд хранится увеличивающимся счетчиком (грубо говоря показания счетчика в текущий момент времени). Далее с помощью функций графаны этот счетчик в рантайме разворачивается с помощью гуи вот в такое: тобишь тут массово вот такие примерно штуки Ну и конечно это все с полной интерактивностью по просмотру "вчера" "на прошлой неделе" "позавчера с 12 до 14". Другое дело что конечно есть опасения что производительности малины может не хватить, бо у меня i3 на больших интервалах времени залипать может знатно. 1 Посилання на коментар Поділитися на інших сайтах More sharing options...
shaposhnikoff Опубліковано: 15 листопада 2021 Автор Поділитись Опубліковано: 15 листопада 2021 InfluxDB это push-based system. Сама она ничего не собирает, нужны внешние коллектора, Prometheus - pull-based system, устройство публикует метрики на определенном endpoint - и Prometheus забирает их с определенной периодичностью. Если метрики или устройство недоступны, они просто помечаются недоступными в service discovery и при появлении ( в сети ) сбор метрик продолжается. Встроенные ( и самонаписанные ) алерты Prometheus позволяют среагировать на любое событие , которое Prometheus способен зарегистрировать. Насколько я в курсе, Influx использует для этого Chronograf - это опять же костыль PromQL намного проще чем InfluxQL. Достаточно. Посилання на коментар Поділитися на інших сайтах More sharing options...
standov Опубліковано: 16 листопада 2021 Поділитись Опубліковано: 16 листопада 2021 (змінено) 2 часа назад, shaposhnikoff сказал: InfluxDB это push-based system. Сама она ничего не собирает, нужны внешние коллектора, Prometheus - pull-based system, устройство публикует метрики на определенном endpoint - и Prometheus забирает их с определенной периодичностью. Если метрики или устройство недоступны, они просто помечаются недоступными в service discovery и при появлении ( в сети ) сбор метрик продолжается. Встроенные ( и самонаписанные ) алерты Prometheus позволяют среагировать на любое событие , которое Prometheus способен зарегистрировать. Насколько я в курсе, Influx использует для этого Chronograf - это опять же костыль PromQL намного проще чем InfluxQL. Достаточно. Инфлюкс используется как дб бекенд у той системы которая собирает данные с датчиков, будь то опенхаб, хоумассистент или иоброккер, у всех есть поддержка инфлюкса. В этом смысле она не то что ничего не собирает а даже и не собирается собирать, это чистая тайм-сериесБД, ее не волнует как в нее попадают данные это не ее забота. Алерты в графическом виде реализуются или упомянутой графаной или самим оркестратором (опенхаб иоброккер и тп) или силами самого инфлюкса если это 2.0. Прометеус штука тоже интересная но ее смысл в иоте не сильно актуален бо отдельные железки просто в массе не предоставляют задокументированных интерфейсов за которые прометеус мог бы зацепиться. Прометеус удобен для работы с открытыми программными системами конкретно под сбор статистики, с 100500 разными железками применение даже с трудом представляю как, теоретически наверное можно заморочиться и посидеть посочинять но зачем себе создавать проблемы и героически их решать. Инфлюкскл мертв, сейчас язык запросов флюкс, да он не простой но оооочень мощный. Пс но в общем-то у ТС вроде уже все есть в бекенде и все выбрано) Змінено 16 листопада 2021 користувачем standov Посилання на коментар Поділитися на інших сайтах More sharing options...
standov Опубліковано: 16 листопада 2021 Поділитись Опубліковано: 16 листопада 2021 (змінено) Другими словами в случае с прометеусом и железками варианта 3: 1) железка умеет сама, таким по пальцам одной руки, это максимум что кастомные прошивки на самоделки на есп (тасмота, изиесп) 2) железка имеет например задокументированных открытый веб, тогда вы делаете статический и сидите пишите сами "бондинг" в прометеусе 3) используете какой-то интерфейс вида mqtt2prometeus. Итого первый вариант очевидно на везение, второй очевидно трудоемкий, третий очевидно глупый бо теряется смысл прометеуса ) возникает закономерный вопрос...) Змінено 16 листопада 2021 користувачем standov Посилання на коментар Поділитися на інших сайтах More sharing options...
shaposhnikoff Опубліковано: 16 листопада 2021 Автор Поділитись Опубліковано: 16 листопада 2021 Да, а вы в теме по первому пункту все правильно, тут нечего добавить пункт 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, занес в избранное, соберу контейнер, попробую. Ваши комментарии очень полезны, я благодарен. Посилання на коментар Поділитися на інших сайтах More sharing options...
standov Опубліковано: 16 листопада 2021 Поділитись Опубліковано: 16 листопада 2021 23 минуты назад, shaposhnikoff сказал: mqtt2prometheus - я не знал про такое, поставил звездочку на github, занес в избранное, соберу контейнер, попробую. Тысячи их разной степени кустарности, имхо это натягивание совы на глобус. Потратьте это время на настройку и изучение чего-то типа опенхаб, хоумасистант, иоброккер) Я лично за первый, хотя по идее самый простой и раскрученный второй. Вы прописывает все свои железки в нем, в нем-же сделан персистентный слой который все данные по опросу железок отправляет в инфлюкс(прометеус тоже по идее есть) и вы получаете и гибкую систему работу с железками и все данные в базе для аналитики Посилання на коментар Поділитися на інших сайтах More sharing options...
shaposhnikoff Опубліковано: 16 листопада 2021 Автор Поділитись Опубліковано: 16 листопада 2021 Я пользуюсь HomeASSistant уже достаточно давно, я пробовал и openhab еще первой версии, и Domoticz и еще что-то, уже не упомню - но тут нельзя сравнивать HASS и Prometheus - первое это система контроля, назовем это так, умного дома - а прометеус - это система хранения и управления метриками ( от того-же умного дома) - ну и конечно что хорошо, что HASS написан на python и использует jinja темплейты для конфигурирования - это бывает удобно, т.к. я много пишу на python3. А для каких-то срочных вещей , я написал себе telegram - бота, хостится он рядом со всеми розетками, в той-же сети, ну и достаточно простой в работе. Посилання на коментар Поділитися на інших сайтах More sharing options...
standov Опубліковано: 16 листопада 2021 Поділитись Опубліковано: 16 листопада 2021 Конечно нельзя сравнивать потому что это разные вещи, я же не пишу про сравнение. Просто одно использует другое и вы в итоге получаете с минимальными движениями рук законченное решение с полным функционалом. Инфлюкс/прометеус используется в том числе для получения состояния элемента в прошлом, бывает логика основанная на этом 1 Посилання на коментар Поділитися на інших сайтах More sharing options...
standov Опубліковано: 16 листопада 2021 Поділитись Опубліковано: 16 листопада 2021 19 часов назад, sigma_shig сказал: Тогда встречный вопрос: а что с ней можно/нужно делать? Ну посмотрел на красивости, ну текущее состояние. А еще? Да, по концу месяца я подбиваю итоги расходов по отдельным потребителям - у меня на отопление стоит отдельный счетчик и собираюсь еще поставить на плиту. Иногда смотрю всякие минимумы-максимумы. Но это мне проще сделать из БД. еще один практический пример, буквально вчера, что может графана в сочетании со вторым инфлюксом https://www.stroimdom.com.ua/topic/204179-moya-stroyka-zx50-vorzele-zamorochkami/page/58/?tab=comments#comment-5076440 Посилання на коментар Поділитися на інших сайтах More sharing options...
shaposhnikoff Опубліковано: 18 листопада 2021 Автор Поділитись Опубліковано: 18 листопада 2021 а можно тот-же график, только на встроенной дашборде инфлюкса? Посилання на коментар Поділитися на інших сайтах More sharing options...
standov Опубліковано: 18 листопада 2021 Поділитись Опубліковано: 18 листопада 2021 (змінено) 47 минут назад, shaposhnikoff сказал: а можно тот-же график, только на встроенной дашборде инфлюкса? Можно, но по моему опыту дашборды графаны заметно удобнее + есть клиент под Андроид (такой себе но есть). Но конечно больше дело привычки, плюс ещё у графаны что вы можете на одни дашборды сводить данные из разных источников, в ТЧ например из прометеуса, mysql, postgre Змінено 18 листопада 2021 користувачем standov Посилання на коментар Поділитися на інших сайтах More sharing options...
Enot123h Опубліковано: 18 листопада 2021 Поділитись Опубліковано: 18 листопада 2021 (змінено) Я telegraf юзал для перекладывания данных из MQTT в InfluxDB Tasmota->MQTT->Telegraf->InfluxDB->Grafana Змінено 18 листопада 2021 користувачем Enot123h 1 Посилання на коментар Поділитися на інших сайтах More sharing options...
shaposhnikoff Опубліковано: 18 листопада 2021 Автор Поділитись Опубліковано: 18 листопада 2021 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 Посилання на коментар Поділитися на інших сайтах More sharing options...
standov Опубліковано: 18 листопада 2021 Поділитись Опубліковано: 18 листопада 2021 1 час назад, shaposhnikoff сказал: Они определенно не такие страшные как в инфлюксе в инфлюксе дашборды появились только в 2.0, они их активно пилят и дальше либо до чего-то допилят либо осознают что графану (которая уже версии 8+) просто одним желанием забороть не получится, а главное не понятно зачем. но пока то что есть весьма странное ага Посилання на коментар Поділитися на інших сайтах More sharing options...
shaposhnikoff Опубліковано: 18 листопада 2021 Автор Поділитись Опубліковано: 18 листопада 2021 Но есть польза и от чтения документации, тасмота - то может и в influx Посилання на коментар Поділитися на інших сайтах More sharing options...
shaposhnikoff Опубліковано: 23 листопада 2021 Автор Поділитись Опубліковано: 23 листопада 2021 @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 Посилання на коментар Поділитися на інших сайтах More sharing options...
Enot123h Опубліковано: 23 листопада 2021 Поділитись Опубліковано: 23 листопада 2021 (змінено) 2 часа назад, shaposhnikoff сказал: @Enot123h MQTT и Telegraf можно смело оставлять без работы Спасибо, для мониторинга согласен, а если в умный дом интегрировать то без MQTT тяжело Я в дальнейшем планирую от фазы мониторинга к управлению перейти, к сожалению времени мало, ооочень медленно двигаюсь. Пока мониторю температуру, влажность, СО2, и недавно накупил wemos d1 mini 6 шт ждут интеграции в счетчик газа и электричества (pzem-004 2 шт тоже лежит) и материнка с Celeron J1800 под домашний сервак на чердаке где-то в коробках ждет уже 5й год. Сделал открытие, что на ОЛХ полно планшетов по 250 грн, которые можно вместо выключателей в каждой комнате на стену вешать. Змінено 23 листопада 2021 користувачем Enot123h 1 Посилання на коментар Поділитися на інших сайтах More sharing options...
shaposhnikoff Опубліковано: 23 листопада 2021 Автор Поділитись Опубліковано: 23 листопада 2021 1 час назад, Enot123h сказал: Я в дальнейшем планирую от фазы мониторинга к управлению перейти, к сожалению времени мало, ооочень медленно двигаюсь. github.com/reloxx13/TasmoAdmin Должно пригодиться , сам пользуюсь 1 Посилання на коментар Поділитися на інших сайтах More sharing options...
Рекомендовані повідомлення
Створіть акаунт або увійдіть у нього для коментування
Ви маєте бути користувачем, щоб залишити коментар
Створити акаунт
Зареєструйтеся для отримання акаунта. Це просто!
Зареєструвати акаунтУвійти
Вже зареєстровані? Увійдіть тут.
Увійти зараз