↑ К новым записям

11 декабря 2024

Привет. Сегодня утром внезапно отключили электричество. Конечно, вчера об этом предупреждали, но я не придал этому какое-то значение, потому что до этого тоже предупреждали, а по итогу ничего не отключали и не делали. А вот сегодня таки решили вырубить. Ну, вроде вырубили и вырубили, что такого то? Есть же ибп. И тут начинается самое интересное, сейчас расскажу...

ИБП короч проработал 4 часа и почему-то аккумуляторы быстро разрядились, и он вырубился. Странно, вроде нагрузка на него сильно не выросла. Конечно, добавилось пару яндекс станций которые я привез из Волгодонска, мелкая еще бегала постоянно свет включала, но это все мелочи и они не могли так сильно повлиять. В прошлый раз аккумуляторов хватило на 8 часов, это при том, что я гонял насос которым откачивал воду из подвала, а тут чет странь какая-то...

Я когда выходил покурить, решил заглянуть в подвал и попробовать включить ибп, посмотреть что там происходит. Включил. И вот тут начались странности. Напряжение на акумах сначала было нормальным - в среднем 12.4 вольта на аккумулятор. Но в течении пары минут оно упало до 11.7 на аккумулятор и ИБП отключился.

Это странно, потому что в прошлый раз когда я включал ибп после того как он вырубился, напряжение уже в среднем на аккумуяторе было где-то 11.8 вольт, т.е. было видно что они разряжены. А тут как будто бы заряжены нормально, но потом быстро за пару минут разряжаются.

В следующий раз когда выходил покурить, решил захватить с собой мультиметр и замерить напряжение на каждом аккумуляторе отдельно. И внезапно оказалось, что 2 аккумулятора то дохлые. На одном напряжение около 9 вольт, на втором вообще 6. На остальных все в порядке, 12.4 вольта.

9 декабря 2024

Здрааасте. Без лишних предысловий - мы наконец-то переехали, ура!) Правда, не до конца. Вещи так и не успели перевести, в эту пятницу поеду за ними. Взяли с собой пока самое необходимое. Приехали сегодня в 2 утра, выехали вчера вечером. Жутко устали. Не только от поездки, но и от сборов каждый день. Выходные вообще дикие были. Я с 6 утра и до 3х утра на ногах был... Там много всякого можно рассказать, но сил пока нет, может быть потом как-нибудь.

В общем, будем пока потихоньку обживаться и отдыхать, а потом займемся дальше доделкой отделки. На этот раз буду не я один делать, а втроем :)

28 ноября 2024

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

27 ноября 2024

Привет. Этой ночью прошло тестирование моего механизма мониторинга на предмет отрыгивания какого-то датчика. И, он таки работает. В чем я убедился зайдя в HA и посмотрев на график показаний по нему (второй скрин). Так что, тут все отлично. Не понятно правда чего он отвалился. Судя по показаниям заряда батареи что отправляет датчик, она почти как новая. Но, скорее всего сдохла именно она. Замечал такое на акаровских датчиках, что они берут и внезапно помирают как раз таки по батарейке. Поэтому у меня и 2 мониторинга: по уровню заряда батарейки + по тому когда в последний раз датчик отправлял данные.

Пока придется терпеть уведомления каждые 2 часа (мб стоит кнопку mute прикрутить), как на дом приедем - поменяю батарейку.

25 ноября 2024

Сегодня ночью событие по отключению электричества прилетело, и вот так оно выглядит. Странно только одно: время на которое отключали электричество - 4 секунды. А странно тут даже не то, что его отключали на 4 секунды (такое вполне реально если переключали с одной подстанции на другую) а то, что такой маленький промежуток был зафиксирован. У меня опрос счетчика идет толи раз в 10 толи раз в 15 секунд, и вообще странно, что такой маленький интервал смог зарегистрироваться. Но, в теории такое возможно. Если у меня обработка не укладывается в интервал перезапуска задачи на опрос счетчика, то наверное такое может произойти. Будем продолжать наблюдения.

24 ноября 2024

Еще я слегка допилил сервис который снимает показания с электрического счетчика. Помимо показаний он так же снимает всякие параметры сети, типо напряжения, силы тока и т.п.

Мое допиливание заключалось в следующем: раньше данные считывались с счетчика раз в минуту, теперь каждые 10 секунд. Ну и раньше, в случае если данные считать не получалось, то ничего в mqtt не паблишелось. Из-за этого, когда отключали электричество, время отключения можно было понять из того, когда в последний раз отправлялись данные. В целом это вроде бы ок, но на графиках выглядело странно, как будто напряжение зависло и не меняется.

Теперь же, если ни один из параметров не удалось считать, то все параметры зануляются (кроме параметра общего потребления) и отправляются в топик. Т.е. в mqtt будут лететь нули. Ну и сразу будет видно, что электричество по каким-то причинам отключилось.

Написал так же мониторинг напряжения для finedog, теперь если вдруг напряжение станет равно нулю, то он скинет сообщение в телегу. Ну а когда оно восстановится, то опять отправит сообщение. Будет понятно сколько времени не было электричества.

Скринов пока нет, потому что еще не отключали электричество, но думаю скоро это случится, тогда и покажу как это будет выглядеть.

На данный момент пока все. В ближайшие дни думаю сделаю мониторинг ошибок котла, мониторинг всратостата, ну и в сигнализацию наверное добавлю датчик газа. Нужно еще много подумать над сигнализацией, потому что пока у меня нет понимания идеальной сигнализации. Но, надеюсь со временем появится.

23 ноября 2024

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

Так же я слегка допилил отправку информации о том, что был обнаружен человек. Теперь кадр и видео находятся в одном сообщении. Причем, сначала отправляется только кадр, а как становится доступно видео - оно добавляется в сообщение.

Точнее, не добавляется, а отправляется новое сообщение с кадром и видео, а старое удаляется. Все дело в том, что bot api у телеги так себе, и нельзя в уже существующее сообщение добавить новые media. Только заменить то что уже было. И у меня было 2 варианта: либо отправлять сообщение сразу с двумя медиа, причем одно будет болванкой пустой, а потом его заменять на видео, либо проворачивать тему с удалением сообщения.

Выбрал второй вариант, и в целом работает вроде нормально. Так что пока так и оставлю. Тексты я потом еще доработаю, чтобы там было больше полезной информации. А пока так.

22 ноября 2024

Блядь, не все штатно. Щаз глянул в ЕРКЦ, показания за воду и за электрический счетчик улетели на водяной. Ну и на водяном стало +2к кубометров. Благо успел удалить. Надо разбираться((

Разобрался по-быстрому с проблемкой. Короч, там был косяк с загрузкой информации по счетчикам из posgres. Поле с id счетчика в ЕРКЦ у меня nullable, потому что не все счетчики сейчас имеют id, поэтому загрузка шла в тип *int. Ну и пока был только один счетчик, проблем не было. А как их стало два, то почему-то при загрузке в этот тип грузились одинаковые значения. Ну и вышло так, что показания электрического и водяного счетчика отправлялись в один счетчик на стороне ЕРЦК. Не знаю с чем связан этот баг, толи это в моей версии pgx, толи я где-то наебался в scan функции, но замена *int на структуру sql.NullInt32 порешало проблему. И так даже более правильно. Так что вот, еще один баг найден и оперативно исправлен. И теперь вроде все работает штатно.

21 ноября 2024

Привет. Давно не писал, но есть некоторые новости.

Сейчас находимся в Волгодонске, собираем еще вещи. Думаю еще будем какое-то время их собирать, но я думаю, что переезд уже скоро. Возможно даже в конце следующей недели. Думаю дальше будет известно более точно. А теперь к более интересному.

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

Во первых, я знатно порефакторил код. Понаходил некоторых багов и поправил их. Например, один из интересных. Библиотека для mqtt не позволяет вешать несколько консьюмеров на один топик. Но у меня своя обертка, так что порешал эту проблему в ней. Еще из важного по рефакторингу: я начал разбивать единый монолитный сервис на более мелкие, наверное можно даже сказать - микросервисы. На данный момент их четыре штуки. Процесс разбиения еще полностью не окончен, но уже большую часть кода я вынес в отдельные микросервисы.

Написал вот первый сценарий. Правда не тот, что на скрине. Он давно уже был. Реализован на стороне яндекс дома. Но я часть его логики перетащил в свое приложение на гошке. А именно выключение света и прочие штуки.

Сделал я так потому что:

1. Хочу по максимуму логику держать в одном месте, не раскидывать ее.

2. Яндекс иногда тупит и может в некоторых комнатах не выключить свет. Либо сделать это с задержкой. Несколько раз уже на такое натыкался, что когда говорил спокойной ночи, свет везде выключался кроме, например, коридора. И в коридоре свет гас секунд через 5-10. Не очень прикольно

3. Есть штуки которые на данный момент в яндекс никак не прокинуть, например охранную систему (в яндексе тупо нет сущностей для этого)

Поэтому, мой сценарий реализует одну кнопку, по нажатию на которую он активируется. Эта кнопка прокинута в яндекс дом, и собственно вся суть сценария на стороне яндекса - нажать эту кнопку. А дальше вся магия будет происходить уже в моем приложении на гошке.

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

В голове есть еще мысли написать сценарий я ушел, который пока будет просто так же выключать свет во всем доме, и ставить дом на охрану. Но, конечно после того, как я покину область рядом с домом. Но этим займусь чуть попозже, но возможно успею до переезда на дом.

Но это еще не все :) И мы плавно переходим к новому микросервису, который будет зваться Finedog. Он будет заниматься (да в общем-то уже занимается) мониторингом всех устройств в доме. И писать об этом оповещения в специальный чат в телеграмме.

Реализацию бота в телеграмме я уже сделал, и даже набросал некоторый мониторинг. Сейчас сервис следит за zigbee датчиками. Если батарея какого-то датчика почти разряжена, то он начнет присылать уведомления. Так же он просто следит за данными, что отправляют датчики. И если они перестают их публиковать, то он об этом так же сообщит. Бывает иногда, что zigbee сеть рассыпается и приходится ее по новой собирать. Вот тут как раз таки пригодится бот, который об этом оповестит.

На данный момент это все, что он делает. Но в будущем, конечно, будет мониторить абсолютно любой девайс что есть в доме. И если что не так - сообщать об этом.

Следующий сервис - meters. Для него какое-то красивое название я пока не спиздил придумал, может быть позже. Или останется как есть. В нем особо ничего нового нет, я туда просто перенес код по получению данных с счетчиков, и отправки показаний раз в месяц. Единственное новшество - после отправки показаний он должен будет отписаться в моем чате в телеге. Но, поскольку 22ое число только завтра, посмотреть на то, как это работает сможем тоже только завтра. Так что, пока без скринов.

И последний на сегодня - Heimdall. Он будет заниматься всем связанным с охраной. Пока что в него перемещены функции по обработке событий из Frigate. Их обработку я тоже немного перетряс. Добавил больше скипов, пофиксил некоторые баги.

Прикрутил так же отправку фото и видео в спец чат в телеге. Сейчас логика работы следующая:

1. Если событие прошло все проверки и оно годное, то берем один из кадров и отправляем в чат в телеге. Если score у события определения людей выше 0.9, то уведомление так же отправляется через HA сразу на телефон. Это на случай когда прям верняк, что кто-то шарится по двору, чтобы зря себя не беспокоить.

2. Когда событие заканчивается, отправляется видео с этим событием так же в чат в телеге. Выглядит на данный момент как на скрине выше. Неказисто конечно, но пока более чем достаточно.

Не сразу оно было реализовано, по ходу дела наткнулся на некоторые подводные камни. Например, что через ботов можно отправлять файлы максимальным размером в 50 Мб. И второй: оказывается frigate после окончания события не сразу формирует клип по нему, из-за чего приходится иногда чутка поретраить. Но сейчас работает уже достаточно стабильно.

Планы на недалекое будущее: не постить кучу сообщений, а редактировать одно. Т.е. будет так - одно сообщение на один эвент. Если вдруг в процессе события появится кадр с более лучшим ракурсом (более высокий score) то мы заменяем картинку на новую. Так же, frigate умеет отправлять доп атрибуты, когда например обнаружил лицо человека. Такие фотки в охране я думаю более приоритетны чем просто фотка человека, так что, она тоже будет заменять менее приоритетную. Ну и по окончанию события в это же сообщение, вторым файлом, будет добавляться видео. Проблемы с ограничением размера файла в 50 мб думаю можно обойти тем, чтобы бить видео на части и загружать несколько кусков. Но может и не потребуется, пока за сегодня еще ни одно видео не вылезло за лимит в 50 мб (но одно было уже совсем близко).

Фух, вроде все на текущий момент. Может про что-то забыл рассказать, ну да ладно, в следующий раз потом расскажу.

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

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

загрузка…