Уже больше 32 миллионов в умном доме
Сегодня проверял количество значений записанных в базе по системе умного дома, на текущий момент их уже 33 миллиона.
Это конечно очень много, за это время у меня записывались датчики абсолютно разные, записывались разные значения, некоторые датчики у меня пишут значения раз в минуту, некоторые даже чаще.
При сохранении в базу я также делаю расчет потребленной энергии, если датчик может потреблять энергию, то у меня сделана формула, которая определяет период изменения датчика, я указываю какое потребление этого датчика в час, и таким образом он у меня постоянно еще и записывает значение потребленной энергии за этот период.
При этом я потом могу построить графики посмотреть сколько было потребление энергии этим датчиком, или этим устройством, точнее за весь период использования, по дням, по минутам, по секундам, в часах, по месяцам, что в принципе достаточно удобно.
Польза от записи в базу конечно достаточно большая потому что во-первых лучше начинать записывать значение до того как делаются какие-то автоматизации, чтобы можно было потом сравнить отличия от того как, допустим, используют это просто люди, и как это работает автоматически.
Например недавний анализ показал, что после автоматизации света на кухне, он стал работать, включаться и включаться гораздо чаще, особенно у меня там используется три светильника расположенных на потолке и один из них центральный он гораздо чаще включается, чем это он делал раньше, но само потребление энергии оно упало примерно в два раза.
В настоящее время светодиодные светильники очень экономичны и конечно эта разница небольшая, то есть на самом деле это всего 500 ватт в месяц, поэтому очень часто говорят, что принципе свет можно вообще не выключать, но это конечно неудобно. Неудобно для того чтобы спать и в принципе, когда находишься в комнате тоже хочется иногда, чтобы свет был более приглушенным, для этого можно использовать диммеры, я просто включаю или выключаю свет.
Больше всего значения идет у меня от видеокамер, я в какой-то момент времени обнаружил, что сам размер сохраненного кадра, я сохраняю кадр с камеры каждую одну минуту и саму картинку тоже сохраняю, у меня есть несколько камер и с каждой камеры идет запись значения в базу. В базу записывается размер картинки в байтах, то есть по сути она сохраняется в JPEG и после этого я проверяю размер файла. Для маленькой картинки, если камера поддерживает несколько потоков, то и для большой картинки.
По наблюдению видно, что ночью камеры гораздо сильнее сжимают картинку в jpeg, а при ярком свете детализации выше и соответственно размер файла больше, таким образом по размеру картинки можно легко определить яркость в комнате.
Я это использую для управления яркостью дашборда, который показывает значение датчиков, по этому значение видно как меняется освещенность комнате, когда наступает утро, день, вечер, когда в комнате присутствуют люди, когда открывается шторы, и по значению этих параметров можно планировать какие-то новые автоматизации.
Запись с камеры я прозвожу каждую минуту и в целом получается за месяц очень большой поток, поэтому я рассматриваю вариант о снижении количества записей, но опять же эта информация во-первых нужна оперативно и у меня записывается каждую минуту для того, чтобы я мог выполнять определенный сценарий, но при этом нужно, чтобы в базе сохранялись значения с какой-то более редкой периодичностью, например раз пять минут. Этого в принципе достаточно будет для того, чтобы сделать какой-то анализ, но сильно уменьшить размер базы.
Также из параметров, который очень много сохраняет значение базу, это потребление энергии. У меня настроен счетчик электроэнергии самодельный и он отправляет значение раз в минуту, либо при существенном изменении значении, например, когда включается обогреватель, чайник, плита или еще какие-то приборы, которые очень много потребляет энергии. Например есть приборы, которые постоянно изменяют потребление энергии, например стиральная машина, и она начинает при своей работе очень сильно и часто менять значение потребления энергии и датчик начинает сохранять очень много значений в базу. Поэтому я на нем ограничил минимальной время это 10 секунд. Таким образом конечно я тоже снижаю запись и даже в среднем если посмотреть, то получается где-то один раз в минуту, то есть периоды работы каких-то устройств или днем это чаще может быть, но если изменения немного, то значение меняется не очень часто и в среднем получается, как я сказал один раз в минуту.
Еще я записываю в базу значения самого сервера умного дома. Много раз сталкивался с ситуацией, когда он зависал по непонятной причине, и конечно очень удобно отслеживать изменение всех параметров, это как оперативная память, это параметры места на диске, это параметры температуры и загрузки процессора. У меня используется два сервера один именно как сервер умного дома, другой вспомогательный, на нем сделан медиаплеер, который у меня в качестве системы мультирум работает. Я ранее записывал тоже раз минуту значение сейчас сервер умного дома записываю раз пять минут, также планирую переделать и на сервере мультимедиа.
В целом не могу сказать, что 32 миллиона или 33 миллиона записей это очень много сама база работает очень хорошо она у меня на внешнем хостинге находится и на этом хостинге я также сделал сайт, через который я могу смотреть эти данные. Я использую графики Google Chart и с помощи них я строю необходимые себе дашборды, которые показывают и среднее значение параметров в определенные моменты, то есть допустим по дням и также я могу посмотреть и максимальные, минимальные значения, могу также посмотреть количество записей сделанных за период и потребление энергии, которая меня тоже рассчитывается.
У меня может вывести за весь период работы системы умного дома значение по дням для датчика и это получается в принципе достаточно быстро, причем у меня сделано так что я могу выводить и один график, а могу выводить сразу четыре графика причем с разной конфигурацией. Конечно дизайн этих графиков не очень симпатичный, не очень современный, но я сделал дополнительные кнопки для удобства, чтобы можно было переключать параметры оперативно и это сильно облегчило работу и можно спокойно анализировать большие объемы данных по параметрам.
Недавно я добавил еще дополнительную функцию, она позволяет строить дельты по месяцам и показывать например потребление воды или электроэнергии. Сами графики у меня могут строить как линейные такие и виде баров, что принципе вы иногда бывает удобно и могу оперативно переключаться в режимах и анализировать по-разному.
Сегодня сделал выгрузку из базы количество значений записанных по каждому сенсору, планирую проанализировать и дальше настроить запись базу с определенными интервалами, чтобы конечно существенно снизить. За последние шесть месяцев у меня почти в два или три раза увеличился объем записываемых данных, это конечно удобно и полезно и при автоматизациях уже явно вижу как меняется и поведение и потребление.
Например если я вижу, что счетчик воды у меня постоянно резко увеличивается то я могу понять кто пользуется водой в какое время и конечно там решить как эту проблему обойти. Может быть объяснить, что не надо тратить много воды или еще как-то.
Также если где-то я вижу, что постоянно включен свет и у меня все еще там нет автоматизации я могу заняться и сделать автоматизацию управление светом в этой комнате.
Автоматизация в умном доме должна быть полезной и создавать дополнительный комфорт, но иногда всё идет не так… Причины этого, и как всё настроить смотри на моём канале.
Discuss about post