Expert JS React Developers for TUI wanted. Join Ciklum and get a $4000 sign-on bonus!
×Закрыть

Автоматизируем передачу показаний счетчиков в коммунальные службы, не выходя из дома

Підписуйтеся на Telegram-канал «DOU #tech», щоб не пропустити нові технічні статті.

Входящие

  • У меня был установлен счетчик холодной воды «от застройщика», самый простой, показания можно только посмотреть глазами
  • Установлен бойлер, счетчик горячей воды не используется (показания не меняются), но показания надо все равно передавать регулярно (даже если не менялись надо заходить и жать кнопку «передать»...)
  • На звонок в киевводоканал с вопросом «как автоматически передавать показания из квартиры?» был получен ответ «Мы таким не занимаемся...»
  • Автор про паяльник знает только то, что им можно получать сведения от незаинтересованных в выдачи таких сведений граждан и что-то там делать с оловом
  • Счетчик электроэнергии установлен не в квартире и показания передаются без моего участия
  • В квартире все «умное» (даже шторы по расписанию закрываются/открываются) и на счетчики я довольно долго косо смотрел, но как-то руки не доходили
  • Отсутствие желания общаться с коммунальными службами на эту тему отпало в принципе, после звонка с вопросом в киевводоканал
  • Отсутствие желания делать повторяющиеся и абсолютно бесполезные телодвижения по передаче показаний
  • Наличие возможности потратить на эксперимент деньги и время в разумных пределах

Исследование

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

Проблемы с чудо-девайсом:

  • В случае включения «великого русского файрвола» есть угроза потерять все полимеры
  • Найти чудо-устройство на украинском рынке довольно проблематично и цена сильно завышена

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

Стрельнув по нескольким сайтам со счетчиками с вопросом «как автоматизировать передачу показаний», попал на одного очень хорошего продавца, который сразу предложил решение (в выходные по вечерам отвечал человек), а конкретнее:

  • Заменить счетчик на более подготовленный к задаче
  • Поставить накладку на счетчик, она будет опрашивать счетчик и ее можно подключать дальше к чему-то
  • Подключить накладку к сервису smart-mac через девайс

Ну сам smart-mac девайс производитель продает вроде дешевле, но так как продавец активно взялся помогать, то я решил что экономить сотню или около того не буду. Как эти показания затолкать в коммунальную службу продавец не сказал, и вроде как можно, но там «не все так просто»...

Ну штож — «Challenge accepted»...

High level design

Картинка ниже сразу возникла у меня в голове и я начал поэтапно ее имплементировать:

Из особенностей:

  • накладка для передачи работает от батарейки, что хорошо, но должна по кабелям быть подключена к smart-mac девайсу
  • smart-mac девайс требует питание 220 и для передачи показаний на сервис — доступ к wifi и интернет. Можно и по локальной сети на него попасть по wifi, но решение усложняется, так как придется все автоматизацию запускать на локальном сервере, а у него аптайм не стабилен, а хочется сделать и забыть:)
  • веб интерфейс smart-mac сервиса с дашбордами я не осилил: какие-то автогенеренные дашборды, надо что-то читать. Я почти сразу на форуме smart-mac нашел доку по REST API и успокоился
  • для передачи показаний нужен сервер, где можно будет по расписанию что-то запускать, ну мы подумали и я решил что хватит github actions и крона который будет просто собирать проект и ранить юнит тесты

Phase 1: Подготавливаем счетчик для автоматизации

Был интересный нюанс — надо выбрать диаметр 15 или 20, я не знаю как продавец по фото моего старого счетчика увидел 15, но сказал что «на счетчике же написано», где там оно написано я до сих пор не знаю... Ну дальше все просто — покупаем новый счетчик, звоним в киевводоканал и за 400грн происходит замена с постановкой на учет и всеми танцами вокруг водоканала без моего участия. Тут все пошло быстро и оперативно — после звонка, на следующий день пришел мастер, за 20 минут заменил, выдал документы и рассказал когда новый счетчик станет на учет.

Phase 2: Настраиваем smart-mac device

Тут было просто — по ссылке есть таба «Скачать файлы», там pdf с инструкцией. Читаем, выполняем, все работает :)

Примерно такие шаги:

  • кабеля питания 220 сунуть в гнездо 9 и 10
  • подключить к вайфай по инструкции
  • настроить девайс в личном кабинете

Phase 3: Подключаем счетчик к smart-mac девайсу

Тут было больше всего непонятного поэтому описываю что произошло. Накладка на счетчик устанавливается просто и выглядит так:

Два провода коричневый и черный надо затолкать в клеммы 1 и 2 smart-mac девайсу. Вот так:

Игого я на показателе smart-mac «Total Pulse Ch1» (потому как я засунул белый провод накладки в импульсный вход 1) прописываю цифру в импульсах, то есть литрах:

Далее заходим в личный кабинет smart-mac и проверяем что все работает — открываем кран холодной воды и смотрим, что литроимпульсы соответствуют цифрам на счетчике. Как я уже писал выше — в интерфейсе разбираться не было ни желания ни необходимости ... то я просто дернул апишку и получил ответ с нужной циферой и обрадовался.

Phase 4: Автоматизируем передачу показаний

Тут я не буду углубляться в детали — код в репозитории, смотрите, форкайте, автоматизируйте.. Алюминь! :)

Стек технологий следующий:

  • java 11
  • maven
  • selenuim + pageobjects
  • selenuim testcontainer
  • spring boot
  • spring cloud openfeign

В итоге кнопка «передать» не меняющиеся показания горячего счетчика выглядит так:

Phase 5: Запускаем в космос

Далее надо чтобы по расписанию запускалась сборка проекта и чтобы логины и пароли были не в паблике. Ну тут все очень просто:

Summary

  • Потрачено пару вечеров и 3620 гривен
  • Автоматизировано все, что хотелось автоматизировать
  • Накладных расходов нет, кроме сапорта в счет личного времени (что намного интереснее чем лазить за показаниями:)
  • Тестконтейнер с селениумом записывает видео о том как мой код кликает по сайту, в свободное время попробую сделать чтобы эти видео прилетали мне в телеграм или почту
👍НравитсяПонравилось17
В избранноеВ избранном5
Подписаться на тему «автоматизация»
LinkedIn

Похожие статьи

Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Допустимые теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Я автоматизатор ще той, але з часом спецально деякі речі не автоатизую, щоб хоча б «одне місце» від стільця відривати і пройтися по кімнаті ;)
Показання фоткаються на телефон і передаються конс"єржу, а він вже передає далі за ланцюжком.

Я по старинке — хожу в зал

Працює по такій схемі 6 місяців, без передачі в кабінет, (його поки не існує в природі). Дані із дошки — досить зручно. Раз в три місяці потрібно коректувати показники, (контакты дребезжат), як не крути. Іноді відвалюється від домашньої мережі, хоча потім дані поновлюються. Прикольна штука, щоб не лазити кожен місяць у розподільчий вузол. smart-mac device шукав місяців зо два.

передачу в кабинет организовать не сложно)

ну если нету — можно text-to-speech и звонить пока не скажут ключевую фразу) щас это просто и недорого
ну или на email слать прямо в службу
они же как-то принимают показания?

Решение задачи в лоб:
1) Передавать в месяц что израсходовал примерно половинную норму потребления. То есть с отставанием.
2) Если проверят или есть желание раз в году подкорректировать — передать реальные.
3) Если спросят — отмазка что ребёнок бросил воду и лёг спать, вот столько намотало. Но не спросят, всем пофиг.

Лень — двигатель прогресса!
PS. Да, я так делаю. Мне тупо лень идти смотреть на водомер.
PPS. Вот прям только что. Спасибо, что напомнил.

3 месяца тестировали модуль Sigfox на паре счетчиков Apator в нише санузла на Позняках.
Стабильная передача раз в день, заявленое время службы 6 лет, до ближайшей базовой станции 2,5км.
Сняли, так как проверили в пилоте проницаемость и стабильность передачи.
А автор статьи заморочился сильно

Папа, а ты щас с кем разговаривал? ©
Автор делал то, что он умеет делать быстро, без чтения документаций, получения степени магистра в метрологии и разбирательств «кто из нас верблюд» c неработающей украинской бюрократией. На что было потрачено «пару вечеров»...
anekdotovstreet.com/...​kompyuterom-ryadom/79125

Надеюсь автор никого не убьет прямым подволом к водомерному узлу 220В

А ще ставлять камеру і розпізнають покази.

Також має право на життя.

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

Оптику из школы уже забыли?
Ставите косое зеркало под 45 градусов(скоба для крепления гипсокортона или кусок дерева), ставите камеру внизу или вверху.

да, даже в голову не пришло, спасибо! надо было сначала статью написать а потом делать походу)

И это все реализовано за ПАРУ вечеров?! Монстр! Я, наверное, пару вечеров бы потратил только на общий дизайн (a high level design).

Если бы что ценное было. А так — идею скопипастил, реализация «я его слепила из того что было».

В лоб подобная задача в реале решается элементарно: ставится банальнейший накладной светодиодный датчик (оптрон по сути) на вращающийся диск, который считает литры. От переключения летит сигнал, сигналы где-то считаются. Можно микруху счёта прямо на датчик поставить. И по какому-то триггеру запускается скрипт, который передаёт текущие показания. Например, куб воды намотал — передал. Любым способом. Даже без обратной связи.

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

Папа, а ты щас с кем разговаривал? ©

А зачем геркон, если проще сразу датчик хола туда?

Это недостаточно колхозно для бесполезного DIY

Наколхозить — наше все!

s.dou.ua/...​-files/image3_7Ypdo36.png

Urlico.familija = Model.familija
Urlico.otdel = Model.otdel

Вспомнилось с моей работы в 2007.
А так достойная статья.

Хм, задумка конечно интересная, но за 65 евро, дешевле было бы купить счётчик с передачей данных — bt.rozetka.com.ua/81996795/p81996795 55евро + 20 евро установка. Неужели 10 евро разницы стоили того?

а Вы такое делали? меня отпинали все службы — «мы таким не занимаемся» (это они про получение показаний)

Ну, 2 минуты гугления — www.facebook.com/...​al/posts/3927631647256508

«За бажанням мешканців, такі лічильники і системи диспетчеризації можна встановити також у будь-якому будинку, незалежно від року введення в експлуатацію. Але такі лічильники мешканці мають своїми коштами встановити в усіх квартирах будинку одночасно, а не лише в якійсь окремій квартирі. Якщо всі мешканці будинку згодні на встановлення і мають на це кошти, голова ОСББ чи іншої керуючої компанії може розпочати розробку проєктно-кошторисної документації.»

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

Искать уже лень) Но, думаю, это тоже не проблема)

я тоже думал — заплачу и чудо произойдет, пока не начал искать кому заплатить...

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

да, и если приемника нет — давай до свиданья

Из линки на фейсбук видно что передача данных работает только в новых домах, потому что там над этим ломает голову застройщик (и только потому что сейчас требуют ставить новые счетчики с передачей данных), а для старых домов есть условие «встановити в усіх квартирах будинку одночасно, а не лише в якійсь окремій квартирі», а потом еще «голова ОСББ чи іншої керуючої компанії може розпочати розробку проєктно-кошторисної документації» — соответственно старый дом быстрее снесут, чем дело дойдет до установки системы. Потому что со стороны организации как водоканал, облэнерго (и другие) должно быть оборудование, которое будет «читать» показания со счетчиков в доме и передавать себе в главный центр обработки данных, а ради 1 владельца они такое ставить не будут, потому и пишут пункты указанные выше.
Так что статья в тему и очень даже актуальна.

Vasyl Stepulo, В посте, на который вы ссылаетесь, речь идет об общедомовой системе, где все счетчики воды соединены проводами в общую сеть, и потом опрос всех счетчиков — абонентов происходит по протоколу m-bus центральным устройством m-bus мастером. Потом весь пакет данных передается через gsm modem или ethernet канал на сервер или локальный комп. Для отдельно взятой квартиры решение, которое описано в посте обойдется на порядок дороже и неудобнее для пользователя. К тому же, практически это реализовать будет невозможно, потому что почти невозможно найти человека в водоканале, который расскажет как передать данные от одной отдельной квартиры на сервер водоканала, если у них вообще есть свой сервер. Ну и последнее — 1000% — водоканал не будет заниматься вопросами отдельной квартиры. ОСББ — это другое....Поэтому автор статьи нашел уникальное решение — удобное для пользователя, независимое от водоканала и теплосети и бесплатное в эксплуатации! Респект!!!

Але такі лічильники мешканці мають своїми коштами встановити в усіх квартирах будинку одночасно, а не лише в якійсь окремій квартирі. Якщо всі мешканці будинку згодні на встановлення

Перекладаю на людську мову: «Але такі лічильники встановити неможливо, в принципі, ніколи, навіть не мрійте»
За всю історію ОСББ України не було ще ні одного випадку, коли ВСІ мешканці будинку підтримали якесь рішення одноголосно. ЗАВЖДИ знайдеться той, хто проти. Просто через мерзенний характер, або поганий настрій.

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

спасибо, я старался!

Круто. Сама по себе разработка полезная.

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

в новых домах (если я не ошибаюсь, по законам где-то с 2017 года) все так и делается, по хорошему, без проблем)

Не заметил такого. А можно подробнее? Кем и как делается?

если дом сдается после 2017 то там все показания передаются автоматом, по отзывам от моих коллег, мопед не мой

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

так примените проводок, это не сложно

Проводок подключить к консъержу

Можно а телегу слать я щитаю или смску бабушке

підтримую, в моєю новострої показники з теплолічильника передаються автоматично. Проте питання, а за такий девайс не настукають «по шапці» за те, що нібито «втручання в роботу лічильнику» (я розумію що його немає, проте, як на мене, буде важко пояснити це працівнику ЖКХ)

На удивление, сотрудник водоканала который устанавливал счетчик — знал все про него и накладку ¯\_(ツ)_/¯

це не відсталість а банальна економія, бо оновити лічильники у всих + побудувати систему для збору даних буде коштувати дуууже багато грошей, + це ще треба замінити у всіх лічильники, особливо у старому житловому фонді.

А так що ми маємо? Дуже дешеву рабочу силу, яка вибірково збирає дані з електричних лічильників (особисто у мене це десь раз на 3-4-5 місяців). От як би та робоча сила коштувала на порядок дорожче — економічна доцільність автоматичного збору показників була б вища.

А ще ми маємо купу людей, які тупо не платять за послуги — у нас же соціалістичний лад, що б стягнути борги, навіть 10к+ з боржника, або відключити її від послуг — потрібно витратити 100500 грошей у відповідь.

Коротше, це економічно недоцільно. А якщо що — держава покриє.

держава == налогоплательщики

Плюс коррупция. На IT тендерах просто дикий распил средств и откаты. Я даже боюсь представить во сколько обошлась бы такая тотальная «автоматизация».

"

побудувати систему для збору даних

"
Така система вже працює в обленерго і вже досить давно.

никто ж не против)

Круто и похвально! Единственная боль это иногда придется все же саппортить код, особенно часть связанную с нахождением вэбелементов и всякими урлами, но думаю это зависит от того как часто у них на стороне что то будет меняться в этом плане

могу Вас заверить — сайт водоканала стабилен как экскременты мамонта

Тогда взломай его и всё, вряд ли там дыры патчат.

скорее ископаемые)

Подписаться на комментарии