Показания счетчиков воды фото: Страница не найдена — ЕРКЦ

Содержание

Показания счетчиков воды начнут считывать по фото

  © Игорь Самохвалов/ПГ

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

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

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

Ведомство обратилось к москвичам с просьбой поучаствовать в эксперименте и отправить фото с показаниями счетчиков на страницу проекта. 


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

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

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

Счетчики на воду: полная инструкция пользователя

https://realty.ria.ru/20190627/1555925607.html

Счетчики на воду: полная инструкция пользователя

Счетчики на воду: полная инструкция пользователя — Недвижимость РИА Новости, 27.06.2019

Счетчики на воду: полная инструкция пользователя

2019-06-27T09:31

2019-06-27T09:31

2019-06-27T09:32

мультимедиа

москва сегодня: мегаполис для жизни

городское хозяйство москвы

комплекс городского хозяйства москвы

жкх

счетчики

инфографика – риа недвижимость

/html/head/meta[@name=’og:title’]/@content

/html/head/meta[@name=’og:description’]/@content

https://cdnn21.img.ria.ru/images/155592/56/1555925655_1:0:1000:562_1920x0_80_0_0_45a256e21bb7d25e7ba4387df7ec68cf.png

Недвижимость РИА Новости

[email protected]

7 495 645-6601

ФГУП МИА «Россия сегодня»

https://xn--c1acbl2abdlkab1og. xn--p1ai/awards/

2019

Недвижимость РИА Новости

[email protected]

7 495 645-6601

ФГУП МИА «Россия сегодня»

https://xn--c1acbl2abdlkab1og.xn--p1ai/awards/

Новости

ru-RU

https://realty.ria.ru/docs/about/copyright.html

https://xn--c1acbl2abdlkab1og.xn--p1ai/

Недвижимость РИА Новости

[email protected]

7 495 645-6601

ФГУП МИА «Россия сегодня»

https://xn--c1acbl2abdlkab1og.xn--p1ai/awards/

https://cdnn21.img.ria.ru/images/155592/56/1555925655_126:0:875:562_1920x0_80_0_0_91db0e58a2470c20aa6ab87f908a38bd.png

Недвижимость РИА Новости

[email protected]

7 495 645-6601

ФГУП МИА «Россия сегодня»

https://xn--c1acbl2abdlkab1og.xn--p1ai/awards/

Недвижимость РИА Новости

[email protected]

7 495 645-6601

ФГУП МИА «Россия сегодня»

https://xn--c1acbl2abdlkab1og.xn--p1ai/awards/

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

Съёмка показаний счетчика на телефон с последующим распознаванием / Хабр

Вступление

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

Возможно, так ведут себя не все котлы, но наш отключается даже при кратковременном перебое с подачей газа и не включается обратно, если подача восстановится. Если кто-то есть дома, то это не проблема, нажал кнопку и котел греет дальше, но если вдруг так сложилось, что мы решили всей семьей поехать в отпуск, а на дворе зима, хорошая такая, чтоб -20°C, то последствия могут быть плачевными.

Решение простое — оставить ключи родственникам/друзьям/соседям, чтобы они могли приехать и включить котел, случись какая-нибудь неприятность. Хорошо, если есть сосед, который будет каждый день заходить и проверять, всё ли в порядке. А если нет? Или он тоже решит уехать куда-нибудь на выходные?

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

Конечно, после простого выкладывания показаний в Интернет я решил не останавливаться на достигнутом и замутил ещё распознавание показаний и графическое представление, об этом читайте в части 2 данного топика.


Часть 1. Снятие показаний со счетчика и выкладывание их в Интернет

Здесь надо оговориться, что счётчики бывают в природе совершенно разные, некоторые из них имеют специальные шины и интерфейсы для автоматизированного съема показаний. Если у Вас такой, то дальше, наверное, можно не читать. Но у меня самый обычный без подобных интерфейсов (по крайней мере, я не нашёл, может, плохо искал), модель GALLUS iV PSC. Поэтому остается один вариант — визуальный съём показаний. В сети предлагают готовые решения, но они стоят немалых денег, а главное, это совсем не спортивно, поэтому будем делать всё сами.

Что нам понадобиться?

Для снятия показаний со счетчика с последующей отправкой этих показаний в интернет нам понадобится любой ненужный android смартфон. Я, например, использовал для этих целей Samsung Galaxy S III (SCH-I535). Да, наверное, не у каждого читателя есть валяющийся без дела с-третий галакси, но нужно понимать, что требования к смартфону не так уж и велики:


  • он должен загружаться
  • должна работать камера
  • должен работать WiFi

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

Имея хобби покупать на ebay разные битые телефоны и собирать из них работающие, я легко нашел у себя в загашнике материнскую плату от sgs3 с неработающим микрофоном (~$10), а также б/у-шную камеру (~$10) и китайскую батарейку (~300р). Также для удобства крепления батарейки к плате использовал фрейм с битым дисплеем.

Сначала думал обойтись только материнской платой и камерой, но оказалось, что даже при подключении к зарядке плата не включается без батарейки, поэтому пришлось ещё добавить фрейм и батарейку.

Но и в этом случае бюджет получился порядка $30, если использовать аппараты попроще sgs3, то можно уложиться и в меньшую сумму.

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

Настройка аппарата

Будем исходить из наихудшего сценария. Предположим, что нет ни дисплея, ни тачскрина, на смартфоне отсутствует root, adb отладка отключена, прошивка неизвестна.

Реанимация

Внимание!

Дальнейшая инструкция подходит для аппарата Samsung Galaxy S III (SCH-I535), если у Вас другой смартфон, то действия могут отличаться.

Предполагается, что Вы хорошо знакомы с такими понятиями как adb, прошивки и пр.

Чтобы привести смартфон в более-менее известное нам состояние для начала прошьем стоковую прошивку VRBMB1 отсюда используя Odin. Не буду подробно описывать, как это делается, в Интернете полно инструкций, как пользоваться Odin-ом.

Odin в нашем случае хорош тем, что с ним легко работать не используя экран смартфона, нужно только включить смартфон в режиме загрузки (Vol Down+Home+Power — подержать несколько секунд, затем Vol Up, подключить по usb к винде и всё, дальше дело Odin-а).

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

Далее шьем CWM recovery и root по инструкции. Если вкратце, то так:

  • Через Odin прошиваем кастомный бутчейн VRALEC.bootchain.tar.md5
  • Через Odin прошиваем CWM recovery
  • Через CWM recovery прошиваем SuperSU_Bootloader_FIXED.zip. В инструкции написано, что zip нужно закинуть на sd-карту, но ввиду отсутствия экрана проще это сделать через sideload:
    Включаем тело зажав Vol Up+Home+Power — держим несколько секунд, потом еще секунд 5 загрузка, попадаем в режим CWM-recovery.
    Проверяем это, набрав в консоли в ubuntu adb devices (тело, само собой должно быть подключено по usb и должен быть установлен adb — sudo apt-get install android-tools-adb):
    [email protected]:~$ adb devices 
    List of devices attached 
    64cb5c59	recovery 
    

    Если видим последнюю строчку, значит все в порядке, жмем на девайсе Vol Down, Vol Down, Power — переходим в режим adb sideload (по крайней мере в версии CWM из инструкции это вторая строчка сверху), остается только набрать в консоли ubuntu:
    [email protected]:~$ adb sideload SuperSU_Bootloader_FIXED.zip 
    sending: 'sideload'  100%  
    

    и root улетает на девайс, после чего не забываем выключать девайс, вытащив из него батарейку.
  • Через Odin прошиваем стоковый бутчейн, соответствующий поставленной до этого стоковой прошивке VRBMB1_Bootchain.tar.md5

Далее нам нужно включить usb-отладку на смартфоне, для этого запускаем смартфон в режим CWM-recovery, проверяем:

[email protected]:~$ adb devices 
List of devices attached 
64cb5c59	recovery 

Монтируем system:

[email protected]:~$ adb shell mount -o rw -t ext4 /dev/block/platform/msm_sdcc. 1/by-name/system /system

Добавляем строчку в /system/build.prop:

[email protected]:~$ adb shell "echo \"persist.service.adb.enable=1\" >> /system/build.prop"

Перезагружаем:

[email protected]:~$ adb reboot

Ждем загрузки, проверяем в терминале статус adb:

[email protected]:~$ adb devices 
List of devices attached 
64cb5c59	device 

Бинго! Отладка включена, давайте посмотрим, что там у нас творится на смартфоне, для этого запускаем

AndroidScreenCast

с помощью Java Web Start и видим:


Это экран активации симкарты Verizon, у меня такой симки нет, поэтому я просто пропускаю активацию, действуя по инструкции:

на экране выбора языка последовательно касаемся на экране левый нижний угол (над кнопкой экстренный вызов), правый нижний угол, левый нижний, правый нижний и громкость+

А именно:

[email protected]:~$ adb shell input tap 10 1150
[email protected]:~$ adb shell input tap 710 1150
[email protected]:~$ adb shell input tap 10 1150
[email protected]:~$ adb shell input tap 710 1150

затем нажимаю на смартфоне кнопку Vol Up, теперь видим:


Ставим галочку и нажимаем ОК:

[email protected]:~$ adb shell input tap 50 600
[email protected]:~$ adb shell input tap 650 600

Свайпаем, чтобы разлочить экран:

[email protected]:~$ adb shell input swipe 100 100 500 100

Теперь нужно поставить какой-нибудь vnc-сервер для Android, например, Android VNC Server. Устанавливаем его на смартфон:

[email protected]:~$ adb install droid+VNC+server+v1.1RC0.apk 
4055 KB/s (2084419 bytes in 0.501s)
	pkg: /data/local/tmp/droid+VNC+server+v1.1RC0.apk
Success

Будим смартфон, так как он скорее всего уснул, пока мы устанавливали vnc-сервер, и свайпаем, чтоб разлочить экран:

[email protected]:~$ adb shell input keyevent 26
[email protected]:~$ adb shell input swipe 100 100 500 100

Запускаем vnc-сервер:

[email protected]:~$ adb shell am start -a android.intent.action.Main -n org.onaips.vnc/.MainActivity

Жмем ОК:

[email protected]:~$ adb shell input tap 50 900

Жмем Start:

[email protected]:~$ adb shell input tap 350 300

Жмем предоставить доступ:

[email protected]:~$ adb shell input tap 600 1000

Отлично, теперь пробрасываем порты через adb:

[email protected]:~$ adb forward tcp:5801 tcp:5801
[email protected]:~$ adb forward tcp:5901 tcp:5901

и заходим на смартфон через браузер или любимый vnc клиент.


Далее работаем как с обычным Android телефоном, только через компьютер, удобно сразу настроить WiFi подключение, тогда можно будет заходить по vnc через WiFi, а не держать телефон всё время подключенным к компьютеру (ведь газовый счётчик не всегда расположен в непосредственной близости от компьютера).

Теперь, когда взаимодействие с девайсом полностью налажено, можно перейти к настройке фотосъемки и публикации данных в Интернет.

Периодическая фотосъемка

Устанавливаем приложение

Tasker

, создаем в нем временной профиль с 00:00 до 23:59 каждые 30 минут выполнять действие — делать фото. Параметры съемки подбираем наиболее подходящие для расположения телефона и счётчика. У меня это макросъемка с обязательной вспышкой.

Вот так, собственно, я расположил свой телефон (вид сверху):

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

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

Выкладываем в Интернет

Для перемещения отснятых изображений счётчика в Интернет я использовал первое попавшееся приложение —

FolderSync Lite

. Оно умеет синхронизировать папку на смартфоне с папкой, например, на Google диске.

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

Часть 2. Распознавание показаний

Итак, после отправки показаний счётчика в Интернет, меня заинтересовала возможность автоматического распознавания показаний. Это позволит:


  • проводить статистический анализ потребления газа
  • автоматически отслеживать перебои с подачей газа (с возможностью предупреждения по e-mail или sms)

В качестве языка разработки был выбран python, для работы с изображениями использовалась библиотека OpenCV.

Вот код основной программы, которая запускается по крону раз в час:

import sys
import os

from models import getImage, sess
from gdrive import getImagesFromGDrive, createImageFromGDriveObject

if __name__ == '__main__':

    # получаем список новых фото с гугл диска
    images, http = getImagesFromGDrive()
    
    # поочередно обрабатываем их в цикле
    for img_info in images:

        # скачиваем изображение
        img = createImageFromGDriveObject (img_info, http)
        file_name = img_info['title']

        # ищем запись в базе
        try:    
            dbimage = getImage(os.path.basename(file_name))
            dbimage.img = img
            dbimage.download_url = img_info["downloadUrl"]
            dbimage.img_link = img_info['webContentLink'].replace('&export=download','')
        except ValueError as e:
            print e
            continue
             
        # распознаем показания
        dbimage.identifyDigits()
        
        # сохраняем данные в базу
        sess. commit()

Здесь используются функции, код которых я выложу ниже:


  • getImagesFromGDrive — функция, возвращающая список ещё не распознанных изображений с Google Диска
  • createImageFromGDriveObject — функция, скачивающая само изображение и преобразующая его в формат OpenCV
  • getImage — функция ищет запись об изображении в базе данных, если таковой нет, то создает её
  • identifyDigits — метод, распознающий показания на данном изображении
  • http — авторизованный клиент для доступа к Google Диску, подробно про доступ к API Диска читаем здесь
  • sess — объект подключения к базе данных, используется библиотека SQL Alchemy

Работа с Google Диском

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

import os

from datetime import tzinfo, timedelta, date
from dateutil.relativedelta import relativedelta

from apiclient. discovery import build

from models import getLastRecognizedImage

def getImagesFromGDrive():
    
    # определяем id папки Google Диска, в которой лежат изображения 
    FOLDER_ID = '0B5mI3ROgk0mJcHJKTm95Ri1mbVU'
    
    # создаем объект авторизованного клиента
    http = getAuthorizedHttp()
    
    # объект сервиса Диска
    drive_service = build('drive', 'v2', http=http)
    
    # для начала удаляем с Диска все изображения старше месяца, они нам уже не интересны
    month_ago = date.today() + relativedelta( months = -1 )
    q = "'%s' in parents and mimeType = 'image/jpeg' and trashed = false and modifiedDate<'%s'" % (FOLDER_ID, month_ago.isoformat()) 
    files = drive_service.files().list(q = q, maxResults=1000).execute()
    for image in files.get('items'): 
        drive_service.files().trash(fileId=image['id']).execute()
    
    # теперь делаем запрос к базе, возвращающий последнее распознанное изображение
    last_image = getLastRecognizedImage()    
     
    # получаем с Диска список изображений, дата изменения которых больше даты съемки последнего распознанного изображения
    page_size = 1000
    result = []
    pt = None
    # так как API Диска не позволяет за раз получить более 1000 изображений, 
    # то скачиваем список постранично по 1000 штук и складываем в один массив
    while True:
        q = "'%s' in parents and trashed = false and mimeType = 'image/jpeg' and modifiedDate>'%s'" % (FOLDER_ID, last_image. check_time.replace(tzinfo=TZ()).isoformat('T'))
        files = drive_service.files().list(q = q, maxResults=page_size, pageToken=pt).execute()
        result.extend(files.get('items'))
        pt = files.get('nextPageToken')
        if not pt:
            break
    
    # переворачиваем список, чтобы обработка шла в порядке времени съемки
    result.reverse()
        
    return result, http

Авторизованный клиент Диска создается следующим образом:

import httplib2

import ConfigParser

from oauth3client.client import OAuth3WebServerFlow
from oauth3client.file import Storage

def getAuthorizedHttp():

    # достаем из файла config.ini записанные там CLIENT_ID и CLIENT_SECRET
    config = ConfigParser.ConfigParser()
    config.read([os.path.dirname(__file__)+'/config.ini'])
    CLIENT_ID = config.get('gdrive','CLIENT_ID')
    CLIENT_SECRET = config.get('gdrive','CLIENT_SECRET')

    # OAuth 2.0 scope that will be authorized.
    # Check https://developers.google. com/drive/scopes for all available scopes.
    OAUTH_SCOPE = 'https://www.googleapis.com/auth/drive'
    
    # Redirect URI for installed apps
    REDIRECT_URI = 'urn:ietf:wg:oauth:2.0:oob'
    
    # в файле client_secrets.json будем хранить токен
    storage = Storage(os.path.dirname(__file__) + '/client_secrets.json')
    credentials = storage.get()
    
    # если в файле ничего нет, то запускаем процедуру авторизации
    if not credentials:
        # Perform OAuth3.0 authorization flow.
        flow = OAuth3WebServerFlow(CLIENT_ID, CLIENT_SECRET, OAUTH_SCOPE, REDIRECT_URI)
        authorize_url = flow.step1_get_authorize_url()
        # выводим в консоль ссылку, по которой надо перейти для авторизации
        print 'Go to the following link in your browser: ' + authorize_url
        # запрашиваем ответ
        code = raw_input('Enter verification code: ').strip()
        credentials = flow.step2_exchange(code)
        # сохраняем токен 
        storage.put(credentials)
    
    # создаем http клиент и авторизуем его 
    http = httplib2. Http()
    credentials.authorize(http)
    return http

Для получения CLIENT_ID и CLIENT_SECRET в

Google Developers Console

нужно создать проект и для этого проекта в разделе

APIs & auth

Credentials

OAuth

нажать

CREATE NEW CLIENT ID

, там выбрать

Installed application

Other

:


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

Функция скачивания изображения предельно проста:

import cv2
import numpy as np

def downloadImageFromGDrive (downloadUrl, http=None):
    if http==None:
        http = getAuthorizedHttp()
    # Скачиваем изображение
    resp, content = http. request(downloadUrl)
    # Создаем объект изображения OpenCV
    img_array = np.asarray(bytearray(content), dtype=np.uint8)
    return cv2.imdecode(img_array, cv2.IMREAD_COLOR)

def createImageFromGDriveObject (img_info, http=None):
    return downloadImageFromGDrive(img_info['downloadUrl'], http)
Поиск показаний на фото

Первое, что необходимо сделать, после того, как мы получили фото, это найти на нём цифры, которые мы будем распознавать. Этим занимается метод

extractDigitsFromImage

:

    def extractDigitsFromImage (self):

        img = self.img

Изначально фото выглядит вот так:


Поэтому сначала мы его поворачиваем, чтобы оно приобрело нужную ориентацию.

        # вращаем на 90 градусов 
        h, w, k = img.shape
        M = cv2.getRotationMatrix2D((w/2,h/2),270,1)
        img = cv2.warpAffine(img,M,(w,h))

        # обрезаем черные поля, появившиеся после вращения
        img = img[0:h, (w-h)/2:h+(w-h)/2]
        h, w, k = img. shape

Теперь рассмотрим кусочек изображения, обведённый красной рамкой. Он достаточно уникален в пределах всего фото, можно использовать его для поиска циферблата. Я положил его в файл

sample.jpg

и написал следующий код для нахождения его координат:

        # загружаем искомый кусочек фото из файла
        sample = cv2.imread(os.path.dirname(__file__)+"/sample.jpg")
        sample_h, sample_w, sample_k = sample.shape
                
        # ищем наилучшее совпадение его с фото
        res = cv2.matchTemplate(img,sample,cv2.TM_CCORR_NORMED)
        min_val, max_val, min_loc, max_loc = cv2.minMaxLoc(res)
        # вычисляем координаты центра наилучшего совпадения
        x_center = max_loc[0] + sample_w/2
        y_center = max_loc[1] + sample_h/2

        # этот небольшой кусок кода обрезает левую часть фото, если найденная точка оказалось слишком справа, 
        # чтобы циферблат оказался примерно по середине фото
        if x_center>w*0. 6:
            img = img[0:h, 0.2*w:w]
            h, w, k = img.shape
            x_center = x_center-0.2*w

Точкой на рисунке обозначены найденные координаты, то, что мы и хотели. Далее запускаем алгоритм поиска границ, предварительно переведя изображение в серые тона. 100 и 200 — значения пороговых значений, подобранные эмпирически.

        # переводим изображение в градации серого
        gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
        # ищем границы алгоритмом Canny
        edges = cv2.Canny(gray, 100, 200)

Теперь запускаем алгоритм поиска линий на полученном изображении с границами. Кроме самого изображения метод HoughLines также принимает в качестве параметров величины шагов поиска по расстоянию и углу поворота и пороговое значение отвечающее за минимальное кол-во точек, которые должны образовать линию. Чем меньше этот порог, тем больше линий найдёт алгоритм.

        # находим прямые линии
        lines = cv2. HoughLines(edges, 1, np.pi/180, threshold=100)

Из всех найденных линий рассматриваем только более-менее горизонтальные и находим две наиболее приближенные к обнаруженному ранее центру (одну сверху, другую снизу).

        # инициализируем необходимые переменные
        rho_below = rho_above = np.sqrt(h*h+w*w)
        line_above = None
        line_below = None
        for line in lines:
            rho,theta = line[0]
            sin = np.sin(theta)
            cos = np.cos(theta)
            
            # выбрасываем не горизонтальные линии
            if (sin<0.7):
                continue
    
            # вычисляем ро для линии параллельной текущей линии, но проходящей через "центральную" точку             
            rho_center = x_center*cos + y_center*sin
            
            # сравниваем с ближайшей линией сверху
            if rho_center>rho and rho_center-rho<rho_above:
                rho_above = rho_center-rho
                line_above = {"rho":rho, "theta":theta, "sin":sin, "cos":cos}
            
            # сравниваем с ближайшей линией снизу
            if rho_center<rho and rho-rho_center<rho_below:
                rho_below = rho-rho_center
                line_below = {"rho":rho, "theta":theta, "sin":sin, "cos":cos}
         
        # проверяем, обе ли линии успешно найдены 
        if line_below==None or line_above==None:
            mylogger. warn("No lines found")       
            return False 
        # проверяем, что найденные линии находятся не очень далеко друг от друга
        if rho_below/rho_above>1.7 or rho_below/rho_above<0.6:
            mylogger.warn("Wrong lines found: %f" % (rho_below/rho_above))
            return False


Поворчиваем изображение так, чтобы найденные линии стали совсем горизонтальными:

        # поворачиваем
        M = cv2.getRotationMatrix2D((0,(line_below["rho"]-line_above["rho"])/2+line_above["rho"]),line_above["theta"]/np.pi*180-90,1)
        img = cv2.warpAffine(img,M,(w,h))

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

        # обрезаем 
        img = img[line_above["rho"]:line_below["rho"], 0:w]
        h, w, k = img.shape

Далее нам нужно найти левый и правый край циферблата, переводим изображение в черно-белое:

        # бинаризируем изображение 
        gray = cv2. cvtColor(img,cv2.COLOR_BGR2GRAY)
        thres = cv2.adaptiveThreshold(gray,255,cv2.ADAPTIVE_THRESH_GAUSSIAN_C, cv2.THRESH_BINARY, 31, 2)

Правый край ищем по той же технологии, что и «центральную» точку, шаблон обведён красной рамкой:

        sample_right = cv2.imread(os.path.dirname(__file__)+"/sample_right.jpg",cv2.IMREAD_GRAYSCALE)

        # определяем наилучшее совпадение с шаблоном
        res = cv2.matchTemplate(thres,sample_right,cv2.TM_CCORR_NORMED)
        min_val, max_val, min_loc, max_loc = cv2.minMaxLoc(res)
        # вычисляем правую границу
        x_right = max_loc[0]-6

Для поиска левой границы применим преобразование закрытия для удаления шума:

        # удаляем шум
        kernel = np.ones((7,7),np.uint8)
        thres = cv2.morphologyEx(thres, cv2.MORPH_CLOSE, kernel)

Далее будем перебирать все пиксели начиная с самого левого, пока не встретиться черный, это и будет левый край:

        # ищем левый край
        x_left=0
        while x_left<w :
            if thres[h/2,x_left]==0:
                break
            x_left+=1

Обрежем изображение по левому и правому краю:

        # обрезаем слева и справа
        img = img[:, x_left:x_right]
        h, w, k = img. shape

Проведём небольшую проверку, что найденное изображение по соотношению сторон соответствует циферблату:

        # проверяем соотношение сторон
        if float(w)/float(h)<6.5 or float(w)/float(h)>9.5:
            mylogger.warn("Image has bad ratio: %f" % (float(w)/float(h)))
            return False
        
        self.digits_img = img
        return True
Разбиение на цифры

Разбиением выделенного предыдущей функцией циферблата на отдельные цифры занимается метод

splitDigits

:

    def splitDigits (self):
    
        # проверяем, если циферблат ещё не выделен, то делаем это
        if None == self.digits_img:
            if not self.extractDigitsFromImage():
                return False
    
        img = self.digits_img
        h, w, k = img.shape

Для начала просто разрежем наш циферблат на 8 равных частей:


Обрабатывать будем только первые 7 частей, так как 8-я цифра постоянно крутится, её бесполезно распознавать.
Каждую часть переводим в ч/б цвет используя метод adaptiveThreshold, параметры подобраны эмпирически:

        # разбиваем циферблат на 8 равных частей и обрабатываем каждую часть
        for i in range(1,8):
            digit = img[0:h, (i-1)*w/8:i*w/8]
            dh, dw, dk = digit.shape
            # переводим в ч/б
            digit_gray = cv2.cvtColor(digit,cv2.COLOR_BGR2GRAY)            
            digit_bin = cv2.adaptiveThreshold(digit_gray,255,cv2.ADAPTIVE_THRESH_GAUSSIAN_C, cv2.THRESH_BINARY, 9, 0)

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

            # удаляем шум
            kernel = np.ones((2,2),np.uint8)
            digit_bin = cv2.morphologyEx(digit_bin, cv2.MORPH_OPEN, kernel)

Запускаем алгоритм поиска контуров

            # ищем контуры
            other, contours, hierarhy = cv2. findContours(digit_bin.copy(),cv2.RETR_TREE,cv2.CHAIN_APPROX_SIMPLE)

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

            # анализируем контуры
            biggest_contour = None
            biggest_contour_area = 0
            for cnt in contours:
                M = cv2.moments(cnt)

                # пропускаем контуры со слишком маленькой площадью
                if cv2.contourArea(cnt)<30:
                    continue
                # пропускаем контуры со слишком маленьким периметром
                if cv2.arcLength(cnt,True)<30:
                    continue

                # находим центр масс контура
                cx = M['m10']/M['m00']
                cy = M['m01']/M['m00']
                
                # пропускаем контур, если центр масс находится где-то с краю 
                if cx/dw<0.3 or cx/dw>0.7:
                    continue
                
                # находим наибольший контур 
                if cv2. contourArea(cnt)>biggest_contour_area:
                    biggest_contour = cnt
                    biggest_contour_area = cv2.contourArea(cnt)
                    biggest_contour_cx = cx
                    biggest_contour_cy = cy
            
            # если не найдено ни одного подходящего контура, то помечаем цифру не распознанной
            if biggest_contour==None:
                digit = self.dbDigit(i, digit_bin)
                digit.markDigitForManualRecognize (use_for_training=False)
                mylogger.warn("Digit %d: no biggest contour found" % i)
                continue    

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

            # убираем всё, что лежит за пределами самого большого контура 
            mask = np.zeros(digit_bin.shape,np.uint8)
            cv2.drawContours(mask,[biggest_contour],0,255,-1)
            digit_bin = cv2.bitwise_and(digit_bin,digit_bin,mask = mask)

Теперь опишем вокруг каждой цифры прямоугольник стандартного размера с центром в центре масс контура:

            # задаем параметры описывающего прямоугольника
            rw = dw/2. 0
            rh = dh/1.4

            # проверяем, чтобы прямоугольник не выходил за пределы изображения
            if biggest_contour_cy-rh/2 < 0:
                biggest_contour_cy = rh/2
            if biggest_contour_cx-rw/2 < 0:
                biggest_contour_cx = rw/2

Обрезаем изображение по прямоугольнику и масштабируем до заданного размера, у меня это digit_base_h = 24, digit_base_w = 16. Результат сохраняем в базу.

            # вырезаем прямоугольник 
            digit_bin = digit_bin[int(biggest_contour_cy-rh/2):int(biggest_contour_cy+rh/2), int(biggest_contour_cx-rw/2):int(biggest_contour_cx+rw/2)]
            
            # изменяем размер на стандартный
            digit_bin = cv2.resize(digit_bin,(digit_base_w, digit_base_h))
            digit_bin = cv2.threshold(digit_bin, 128, 255, cv2.THRESH_BINARY)[1]
            
            # сохраняем в базу
            digit = self.dbDigit(i, digit_bin)
            
        return True

Распознавание цифр

Вот метод

identifyDigits

, который вызывается из основной программы для каждого изображения:

    def identifyDigits(self):

        # если число уже распознано, то ничего не делаем
        if self. result!='':
            return True
            
        # если цифры ещё не выделены
        if len(self.digits)==0:
            # если изображение не задано, то ничего не получится
            if self.img == None:            
                return False
            # выделяем цифры
            if not self.splitDigits():
                return False
            # утверждаем изменения в базу, которые сделаны при выделении цифр
            sess.commit()
    
        # пытаемся распознать каждую цифру
        for digit in self.digits:
            digit.identifyDigit()
        
        # получаем текстовые значения цифр
        str_digits = map(str,self.digits)
        
        # если хотя бы одна цифра не распознана, то показание также не может быть распознано
        if '?' in str_digits:
            return False
        
        # склеиваем все цифры для получения числа
        self.result = ''.join(str_digits)
        return True

Тут все тривиально, кроме метода

identifyDigit

:

    def identifyDigit (self):
    
        # если цифра уже распознана, то ничего не делаем
        if self. result!='?':
            return True
        
        if not KNN.recognize(self):
            # если не удалось распознать цифру, то помечаем её для ручной обработки
            self.markDigitForManualRecognize()
            # если это 7-я цифра, то считаем её равной "0", так как это последняя цифра и не критичная, а часто бывает, что она не распознается
            if self.i==7:
                self.result = 0
                return True
            return False
        else:
            self.use_for_training = True
        
        return True

Метод

identifyDigit

тоже тривиален, распознавание происходит в методе

KNN.recognize

, используется алгоритм поиска ближайших соседей из OpenCV:

    @staticmethod
    def recognize(dbdigit):
        # тренируем, если ещё не тренирован
        if not KNN._trained:
            KNN.train()
            
        # проверяем размер изображения, если не правильный, то не пытаемся распознать
        h,w = dbdigit. body.shape
        if h!=digit_base_h or w!=digit_base_w:
            dbdigit.markDigitForManualRecognize(use_for_training=False)
            mylogger.warn("Digit %d has bad resolution: %d x %d" % (dbdigit.i,h,w))
            return False
            
        # преобразуем двумерное бинарное изображение в одномерный массив
        sample = dbdigit.body.reshape(digit_base_h*digit_base_w).astype(np.float32)
        test_data = np.array([sample])
        
        # запускаем метод определения ближайших соседей, кол-во соседей - 5
        knn = KNN.getKNN()
        ret,result,neighbours,dist = knn.find_nearest(test_data,k=5)

        # фильтруем вероятно неверные результаты
        if result[0,0]!=neighbours[0,0]:
            # результат не равен наиболее похожей цифре
            dbdigit.markDigitForManualRecognize()
            return False
        if neighbours[0,1]!=neighbours[0,0] or neighbours[0,2]!=neighbours[0,0]:
            # три наиболее похожих цифры не равны между собой
            dbdigit. markDigitForManualRecognize()
            return False
        if dist[0,0]>3000000 or dist[0,1]>3500000 or dist[0,2]>4000000:
            # расхождения с тремя наиболее похожими цифрами слишком большие
            dbdigit.markDigitForManualRecognize()
            return False

        # если всё в порядке, то считаем распознавание удачным и сохраняем результат
        dbdigit.result = str(int(ret))
        return True

Тренировка описана в методе

KNN.train

:

    @staticmethod
    def getKNN():
        # метод обеспечивает единстенную инициализацию объекта cv2.KNearest
        if KNN._knn==None:
            KNN._knn = cv2.KNearest()
        return KNN._knn
    @staticmethod
    def train():    
        knn = KNN.getKNN()
        # достаем из базы распознанные цифры для тренировки
        train_digits = sess.query(Digit).filter(Digit.result!='?').filter_by(use_for_training=True).all()
        train_data = []
        responses = []
        for dbdigit in train_digits:    
            h,w = dbdigit. body.shape
            # пропускаем цифры плохого размера
            if h*w != digit_base_h*digit_base_w:
                continue
            # преобразуем в одномерный массив
            sample = dbdigit.body.reshape(digit_base_h*digit_base_w).astype(np.float32)
            train_data.append(sample)
            responses.append(int(dbdigit.result))
        # тренируем KNN
        knn.train(np.array(train_data), np.array(responses))
        KNN._trained = True

Привожу выдержку из файла models.py, если у читателя остались вопросы по работе некоторых использованных, но не описанных функций.

Отсутствующие в статье описания функций и методов
import datetime
from sqlalchemy import Column, Integer, String, Text, Boolean, ForeignKey, DateTime, PickleType
from sqlalchemy.orm import relationship
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker

import base64
import cv2
import numpy as np
import os
import logging
import sys

dbengine = create_engine('sqlite:///' + os. path.dirname(__file__) + '/../db/images.db', echo=False)

Session = sessionmaker(bind=dbengine)
sess = Session()

Base = declarative_base()

# image class
class Image(Base):
    __tablename__ = 'images'
    id = Column(Integer, primary_key=True)
    file_name = Column(String)
    img_link = Column(Text)
    download_url = Column(Text)
    check_time = Column(DateTime)
    result = Column(String(8))
    digits = relationship("Digit", backref="image")
    img = None # source image
    digits_img = None # cropped source image
    
    def __init__(self, file_name):
        self.file_name = file_name   
        self.check_time = datetime.datetime.strptime(file_name, "gaz.%Y-%m-%d.%H.%M.%S.jpg")
        self.result = ""
    
    def __repr__(self):
        return "<Image ('%s','%s','%s')>" % (self.id, self.file_name, self.result)

    def dbDigit(self, i, digit_img):
        digit = sess.query(Digit).filter_by(image_id=self.id).filter_by(i=i).first()
        if not digit:
            digit = Digit(self, i, digit_img)
            sess. add(digit)
        else:
            digit.body = digit_img
        return digit

    ## некоторый код остутствует
    
# digit class
class Digit(Base):
    __tablename__ = 'digits'
    id = Column(Integer, primary_key=True)
    image_id = Column(Integer, ForeignKey("images.id"))
    i = Column(Integer)
    body = Column(PickleType)
    result = Column(String(1))
    use_for_training = Column(Boolean)
    
    def __init__(self, image, i, digit_img):
        self.image_id = image.id
        self.i = i
        self.body = digit_img
        self.markDigitForManualRecognize()
        
    def __repr__(self):
        return "%s" % self.result
        
    def markDigitForManualRecognize (self, use_for_training=False):  
        self.result = '?'
        self.use_for_training = use_for_training        
        
    def getEncodedBody (self):
        enc = cv2.imencode('.png',self.body)[1]
        b64 = base64.b64encode(enc)
        return b64       

    ## некоторый код остутствует

Base.metadata. create_all(bind=dbengine)

# function to get Image object by file_name and img
def getImage(file_name):
    image = sess.query(Image).filter_by(file_name=file_name).first()
    if not image:
        image = Image(file_name)
        sess.add(image)
        # store image object to base
        sess.commit()
    image.digits_img = None
    return image

def getLastRecognizedImage():
    return sess.query(Image).filter(Image.result!='').order_by(Image.check_time.desc()).first()

def dgDigitById(digit_id):
    digit = sess.query(Digit).get(digit_id)
    return digit

Для анализа показаний и ручного распознавания я написал также небольшой web-интерфейс на фреймворке Flask. Приводить код я здесь не буду, кому интересно, тот может посмотреть его, а также весь остальной код на Github.

Интерфейс имеет всего две страницы, одна для просмотра показаний в виде графика, например, за день или за неделю:

Вторая страница для ручного распознавания цифр. После того, как я руками вбил первые 20-30 показаний, робот стал довольно исправно распознавать показания сам. Изредка исключения все-таки встречаются и распознать цифру не удаётся, это чаще всего связано с вращением циферблата:


Тогда приходится вводить пропущенные цифры руками:

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

В планах ещё доработать скрипт, чтобы отправлял e-mail в случае совпадения нескольких последних показаний.

Вот и всё, о чём хотел рассказать, спасибо, если дочитали до конца.

Как снять и отправить показания счетчиков – Юит Сервис в Екатеринбурге

сроки подачи показаний

Показания счетчиков необходимо подавать каждый месяц. Рекомендуемый период — с 23 по 25 число.

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


Счётчики электроэнергии

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

Снятие показаний потребления электроэнергии для счетчиков АВВ

Для доступа к счетчику откройте дверцу щитка. На корпусе счетчика электроэнергии находится кнопка «Scroll». Нажмите ее один раз: в левом нижнем углу дисплея Вы увидите «Т1» — это показания потребления электроэнергии за дневное время — перепишите показания, высветившиеся на дисплее. Нажмите кнопку «Scroll» еще один раз: в левом нижнем углу Вы увидите «Т2» — это показания потребления электроэнергии за ночное время — перепишите показания, высветившиеся на дисплее.

Кнопка «scroll»

Нажать один раз, чтобы на дисплее появилось Т1. Это показания в дневное время. Повторное нажатие переключает на ночной режим

Счетчик находится в белом стальном щитке на стене в коридоре. Для доступа к счетчику откройте дверцу щитка.
На корпусе счетчика электроэнергии находятся кнопки «вверх» и «вниз». Нажмите на любую из них, в правом нижнем углу появится значение 10/25 — это показания потребления электроэнергии за дневное время — перепишите показания. Нажмите кнопку «вверх» или «вниз» еще один раз: в правом нижнем углу Вы увидите «11/25» — это показания потребления электроэнергии за ночное время — перепишите показания. Дисплей счетчика погаснет самостоятельно.

Кнопки «вверх» и «вниз»

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

Снятие показаний потребления электроэнергии для счетчиков «ЭНЕРГОМЕРА»

Для доступа к счетчику откройте дверцу щитка. На корпусе счетчика электроэнергии находится кнопка «КАДР». Нажмите ее один раз: в левом верхнем углу Вы увидите «Т1» — это показания потребления электроэнергии за дневное время, — перепишите показания, высветившиеся на дисплее. Нажмите кнопку «КАДР» еще один раз: в левом верхнем углу Вы увидите «Т2» — это показания потребления электроэнергии за ночное время — перепишите показания, высветившиеся на дисплее.

Кнопка «Кадр»

Нажать один раз, чтобы на дисплее появилось Т1. Это показания в дневное время. Повторное нажатие на «Кадр» переключает на ночной режим

счётчики воды

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

Черные цифры

Записывайте только целые цифры до запятой, окрашенные в черный цвет

счётчик тепла

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

Красная кнопка

Нажмите один раз и перепишите показания, высветившиеся на дисплее. Дисплей счетчика погаснет самостоятельно в течение 3-5 минут.


Показания приборов учета можно передать не выходя из дома

Данные счетчиков примут по бесплатному многоканальному телефону единой службы поддержки клиентов 8 800 250 60 06.

Личный кабинет – удобный дистанционный сервис обслуживания клиентов. Передавать показания лучше ежемесячно, с 15-го и до 17-00 26-ого числа. Показания приборов учета, внесенные через ЕЛК, автоматически принимаются к начислению в следующем расчетном периоде. Важно передать показания индивидуальных приборов учета в указанный период. В иное время показания индивидуальных приборов учета не принимаются.

Для регистрации в Личном кабинете ЕРИЦ ЯНАО клиентам необходимо указать номер нового лицевого счета, который размещается в информационных листах, уточнить его можно также в офисе ЕРИЦ ЯНАО либо по многоканальному телефону 8 800 250-60-06.

Зарегистрировавшись в Личном кабинете, пользователи смогут не только передать показания приборов учета ресурсов, но и оплатить электроэнергию и жилищно-коммунальные услуги online пластиковыми картами платежных систем VISA, VISA Electron, Mastercard, МИР любого банка и без дополнительных комиссий; узнать информацию о состоянии лицевого счета.

Перед использованием сервиса предлагается ознакомиться с руководством пользователя Личного кабинета на стартовой странице сервиса.

Вопросы по расчетным листам у многих лабытнангцев все же остались. Подчеркнем, вопросы по начислениям не имеют «срока давности».

Жителям Лабытнанги предлагается направлять обращения через личный кабинет, можно по электронной почте [email protected] с указанием адреса, приложением фотографии полученной платежки.

Для дистанционного решения вопросов Лабытнанги ЕРИЦ создал аккаунт в социальной сети ВКонтакте — https://vk.com/eric_yanao.

В случаях, если личная консультация специалиста ЕРИЦ все-таки необходима, очередей можно избежать. Представительство ЕРИЦ можно посетить через несколько дней или 2-3 недели, когда спадет основной наплыв посетителей. Приемные часы в Лабытнангском центре по-прежнему продлены. Прием граждан ведется с понедельника по пятницу с 9-00 до 19-00. В субботу — до 14-00, но заверяют, что примут всех, кто еще ожидает своей очереди.

ООО «Томскводоканал»

Показания счетчиков следует передавать до 25 числа каждого месяца, следующего за расчетным периодом.

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

Передача показаний приборов учета по электронной почте

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

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

Пример сообщения:
г. Томск, ул. Ленина, д. 1, кв. 1
л/с 550327
ХВ – 12071506, показания 39
ГВ – 5605508, показания 21
Иванов Иван Иванович, 8-906-ХХХ-ХХХХ

Для чего передавать показания счетчиков горячей воды? Строка ГВС имеется в квитанции за тепло, которую выставляет другая организация.

В квитанциях ООО «Томский расчетный центр» (сбытовой агент ООО «Томскводоканал») строка «горячая вода» появляется только в двух случаях:

1. Для расчета размера оплаты за водоотведение. Так как сумма объема потребленной холодной и горячей воды – это объем стоков. В этом случае в графе «тариф» за горячую воду в счет-квитанции стоит «0». Показания передаются лишь для расчета водоотведения.

2. Для расчета объема холодной воды для нужд горячего водоснабжения. Эта ситуация характерна для тех домов, которые имеют «закрытую» схему горячего водоснабжения, где вода подогревается общедомовым бойлером. В этом случае по квитанции «Томского расчетного центра» потребитель оплачивает объем холодной воды для нужд ГВС по цене холодной воды. А подогрев этой воды потребитель оплачивает по квитанции поставщика услуги: например, АО «Томск РТС». Согласно российскому законодательству в обеих квитанциях (вне зависимости от поставщика) данная услуга должна называться «горячая вода».

Передача показаний приборов учета по телефону


Что будет, если не передать показания счетчиков вовремя?

При отсутствии показаний от 1 до 3 месяцев подряд начисление производится по средним показаниям потребления воды за последние 6 месяцев в соответствии с п. 59 п.п. «б» «Правил предоставления коммунальных услуг собственникам и пользователям помещений в многоквартирных домах и жилых домов» № 354 от 06.05.2011.

Для возобновления расчета по показаниям приборов учета воды необходимо передать текущие показания.

При отсутствии показаний свыше 3 месяцев начисление производится по нормативу в соответствии с п.60 «Правил предоставления коммунальных услуг собственникам и пользователям помещений в многоквартирных домах и жилых домов» № 354 от 06.05.2011.

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

Если же счетчик установлен менее, чем 3 месяца, то при отсутствии показаний начисление производится по нормативу.

Если у счетчика закончился срок поверки или счетчик сломался:

Следует заменить или поверить прибор учета воды. Ознакомиться с подробной информацией об установке и опломбировке счетчиков можно тут.

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

Стоит отметить, если производился демонтаж прибора учета воды, при проведении поверки собственнику необходимо будет повторно пройти процедуру опломбировки счетчика. Если же счетчик проходил поверку без демонтажа, то следует предоставить в ООО «Томский расчетный центр» акт ввода в эксплуатацию от управляющей организации или ТСЖ.

Приборы учета (установка, замена)

Первичная установка счетчика водомера (частный сектор) 

Что сделать

  • 1. Обратиться в Водоканал для получения технических условий
  • 2. Обратиться в любую проектную организацию для изготовления схемы водомерного узла
  • 3. Приобрести прибор учета (водомер) (для колодца-мокроход d-20 мм) и установить на границе раздела с АО «Ростовводоканал»
  • 4. Подать заявку на регистрацию прибора учёта в АО «Ростовводоканал». Обращаем Ваше внимание, что подачу документов на всех этапах можно осуществлять дистанционно — в «Личном кабинете» в разделе «Электронные услуги». Лично всё это можно сделать в любом из центров обслуживания клиентов «Одно Окно». При себе иметь следующий с пакет документов:
    • Документ, удостоверяющий личность (доверенность от собственника при необходимости)
    • Паспорт на прибор учета (оригинал + копия)

Документы

Этапы

Заявление в службу «Одно окно»

Передача заявления инспектору

Выезд представителя для регистрации и пломбировки прибора учета

Сроки

В течение 14 дней с момента получения заявления инспектором

Куда обратиться

В пункты приема населения службы «Одно окно»:

— ул. М. Горького, 293. В пункте приема имеется касса для оплаты. 
— ул. 1-я Баррикадная, 23 (есть касса) 
— ул. Орбитальная, 3 (есть касса)  
— ул. Южная, 3 (г. Батайск) (есть касса).

Приемные дни: вторник, среда, четверг, пятница, суббота — с 8.00 до 17.00 (без перерыва).

В пунктах приема на ул. М. Горького, 293,  ул. 1-я Баррикадная, 23, ул. Орбитальная, 3, ул. Южная, 3 (г. Батайск)  имеются кассы, где абоненты могут произвести оплату услуг  АО «Ростовводоканал» без взимания комиссии.

Результат

Вы получаете на руки акт контрольного обследования прибора учета.

Передать показания водомеров можно

— на сайте АО «Ростовводоканал» www.vodokanalrnd.ru, зарегистрировавшись в Личном кабинете абонента;
— воспользовавшись сервисом на сайте: «Оплатить», «Передать показания», «Узнать задолженность».
— в автоматическом тональном режиме по телефону +7 (863) 309-09-09.

Как снять показания счетчика воды

Зачем читать показания счетчика воды

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

Как считывать показания счетчика

Найдите свой измеритель

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

Считайте показания счетчика воды

Счетчики воды в США обычно измеряют объем в галлонах или кубических футах. Один кубический фут = 7,48 галлона и 100 кубических футов = 748 галлонов. Плата за воду обычно рассчитывается из расчета 100 кубических футов или 1000 галлонов.

Типы счетчиков воды

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

Счетчик прямых показаний

Рисунок 1

В счетчике, показанном на рис. 1, показания берутся из цифр, показанных под словами КУБИЧЕСКИЕ ФУТЫ. Счетчик показывает 81710,03, что является общим количеством кубических футов воды, зарегистрированным с момента установки счетчика. Если счета за коммунальные услуги указаны в единицах измерения 100 кубических футов, они будут читать этот счетчик как просто 817.

.

Рисунок 2

Счетчик, показанный на рис. 2, совершенно новый; следовательно, показание этого счетчика равно 0.00. Маленький синий треугольник (справа от «35») — это индикатор низкого расхода. Этот треугольник будет вращаться, если вода течет через счетчик. Этот индикатор может быть полезен при обнаружении утечек.

Рисунок 3

Счетчик на рисунке 3, также кубический фут, является хорошим примером ситуации, когда последнее число уже «перевернулось». Правильное показание этого счетчика: 2425,92 кубических фута. На большинстве счетчиков последняя цифра перевернется после того, как большая стрелка пройдет 0.6 отметка. Обратите внимание, что размер метра обычно напечатан на циферблате. Счетчик на Рисунке 4 имеет размер 5/8 дюйма, как показано на циферблате.

Рисунок 4

Счетчик на рис. 4 представляет собой устаревший стиль и встречается гораздо реже; однако некоторые из этих счетчиков все еще находятся в эксплуатации. Этот тип счетчика имеет несколько маленьких циферблатов, и показания на нем немного труднее читать, чем на счетчике с прямым считыванием. Циферблаты размечены делениями по 10 и читаются так же, как часы, за исключением того, что стрелка на каждом втором циферблате вращается против часовой стрелки.Чтобы прочитать этот счетчик, начните со шкалы 100 000 и считывайте каждую шкалу вокруг счетчика до шкалы в один фут. Если рука находится между числами, используйте меньшее число. Поэтому набирает в правом регистре 806323.

Использование счетчика воды для поиска утечки

Познакомьтесь со своим счетчиком (старая версия)

 

Если вы живете в частном доме или многоквартирном доме, ваш счетчик воды, скорее всего, будет в подвале. Для мобильных домов счетчики могут быть либо внутри дома (иногда в шкафу, иногда у водонагревателя), либо снаружи в яме в земле. Местонахождение вашего счетчика воды было определено первоначальным владельцем собственности, а не муниципальными властями.

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

Когда у вас нет проточной воды, треугольник или стрелка на счетчике не должны двигаться. Если индикатор вращается, скорее всего, у вас утечка.

Что делать, если мне кажется, что у меня утечка воды?

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

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

Как мне снять показания счетчика?

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

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

Как Управление считывает показания счетчиков?

Циферблат электронного счетчика

 


Циферблат радиосчетчика

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

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

Счетчик и циферблат соединены проводом, который позволяет передавать показания вашего счетчика и идентификационный номер.

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

Чтобы соответствовать правилам, мы принимаем участие в программе получения показаний одного счетчика от счетчика воды, а не от внешнего циферблата. Как только мы получаем одно внутреннее чтение от всех наших клиентов, мы начинаем процесс заново; так что внутренние чтения — это редкий, но непрерывный процесс.Сотрудники, запрашивающие доступ для считывания данных с вашего счетчика, имеют при себе удостоверения личности с фотографией. Не стесняйтесь звонить в наш офис по телефону (814) 765-9609, если вы хотите получить дополнительное подтверждение того, что человек у вашей двери является сотрудником Управления.

Как узнать текущее использование

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

Показания счетчиков воды | Город Нейпервилл

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

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

Ваш счетчик считывается по расписанию

Из-за размеров Нейпервилля не все счетчики воды считываются в один и тот же день. В зависимости от того, где вы живете, ваш счетчик считывается в определенное время месяца. Из-за праздников и выходных точный день считывания показаний счетчика может меняться от месяца к месяцу; однако показания счетчика будут считываться примерно в одно и то же время месяца. Снятие показаний счетчиков воды происходит с 7:00 до 17:00. с понедельника по четверг.

Когда снимают показания счетчика воды?

Узнайте, когда будут сняты показания счетчика воды.

Посмотреть карту

Непредвиденные обстоятельства или периоды ненастной погоды могут привести к задержке графика считывания показаний счетчиков. Зимой из-за чрезмерного холода или большого количества снега показания счетчика могут занять больше времени. Иногда эти задержки приводят к тому, что городские власти рассылают предполагаемые счета за воду в определенные районы, чтобы циклы выставления счетов не отставали от графика значительно. Расчетные счета обозначаются буквой «Е».

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

Считыватели счетчиков идентифицируются по тому, что они носят, ездят и имеют оборудование 

Нэпервилл передает показания счетчиков воды в аренду Службе считывания показаний счетчиков Александра. Сотрудники Александра носят желтые жилеты с надписью «Считыватель счетчиков» поверх синей униформы; носить с собой портативное устройство для считывания показаний счетчика и зонд для считывания показаний счетчика; носить бейдж сотрудника с его изображением; и, вероятно, водить грузовик с логотипом Александра.Новые сотрудники могут водить свой личный автомобиль, а не служебный, в течение испытательного срока.

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

Считыватели счетчиков могут провести около трех минут на вашем дворе

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

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

Помните, что считыватели счетчиков и/или сотрудники компаний будут иметь при себе надлежащее удостоверение личности, если им потребуется получить доступ и провести время на вашей территории.

Считывателям счетчиков нужен доступ к вашему двору

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

Как снять показания счетчика воды

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

Пожалуйста, убедитесь, что вы снимаете показания с основного счетчика воды в доме. Убедитесь, что номер счетчика, указанный в запросе на считывание, совпадает с номером, выбитым на краю счетчика. На ​примерной фотографии ниже​ номер счетчика 82420, а показание 2313.

 

Сообщить показания счетчика воды

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

Для получения дополнительной информации о снятии показаний счетчика воды свяжитесь с нашей службой поддержки клиентов по телефону или заполните форму обратной связи.

Показания счетчика воды должны сообщаться регулярно

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

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

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

Подробнее о расчетных и корректировочных счетах за воду.

«Lukemalla on väliä» (Чтение важно)

Не забывайте следить за счетчиком воды

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

Водомер принадлежит HSY и заменяется новым приблизительно каждые 10 лет. Если вы подозреваете, что счетчик сломан, обратитесь в нашу службу поддержки клиентов.

Счетчик воды должен быть расположен в месте, где его можно легко установить, снять показания, обслужить и заменить. Он должен быть защищен от замерзания, жары и других вредных воздействий. Обратите внимание, что водомер также может сильно «потеть» летом, если помещение водомера не проветривается должным образом.

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

Показания счетчика

Показания счетчика

ФАКТЫ ПОКАЗАНИЙ СЧЕТЧИКОВ


МЕТРЫ — ЧТО ОНИ ДЕЛАЮТ И КАК СЧИТЫВАТЬ ИХ

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

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

Современный счетчик воды показан ниже:

Показания, подобные «одометру», показывают общее объем воды, прошедший через счетчик с момента его первой установки записывается. Большой красный циферблат показывает объемы в (1-10) галлонах (поэтому один полный оборот циферблата означает, что через него прошло 10 галлонов воды). Если вы закроете все краны и т. д., красный циферблат не должен двигаться. Точно так же маленький красный треугольный счетчик (между цифрами 7 и 8 на циферблате выше) будет вращаться, если любая вода проходит через счетчик, и это очень чувствительный. Он будет двигаться медленно даже при небольшой течи капельного типа. Если маленькая пряха двигается вообще, у вас где-то утечка. Если вы получаете более высокие, чем ожидалось, счета за воду, это хороший способ проверить, есть ли у вас прохудившийся унитаз и т.п.

Ниже показан крупный план циферблата:

Показывает общее значение 538 810 . галлоны.

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

Например, если показания предыдущего квартала на указанном выше счетчике было 523 810 галлонов, использованное количество составило бы 538 810 — 523 810 = 15 000 галлонов или «15» в графе «Использование» в счете. Это будет представлять довольно типичное использование.

Электронный кодер Счетчики — цифровой дисплей

В последние годы Управление стандартизировало Neptune E-Coder . метров, часто в сочетании с конфигурациями удаленного/радиосчитывания.

 

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

Циферблат изначально кажется пустым, но может быть активирован/прочитан с помощью , посветив фонариком на циферблат который затем вызовет следующий дисплей:

 

Вместо знакомого вращающегося треугольника, на обычном расходомере для индикации расхода, расходомер E-Coder показывает утечку Значок в виде капающего крана, чтобы показать низкие, относительно непрерывные потоки. в системе, как протекающий унитаз:

 


УСТРОЙСТВА ДЛЯ ДИСТАНЦИОННОГО СЧИТЫВАНИЯ СЧЕТЧИКОВ — СТАРЫЕ ВИНТАЖ

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

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


СЧИТЫВАНИЕ РАДИО — ДОПОЛНИТЕЛЬНАЯ БЕЗОПАСНОСТЬ

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

Более широкое использование электронных заборы для домашних животных могут создать угрозу безопасности для нашего персонала, если семья ротвейлеров ему разрешено свободно бегать по территории, и он «кусается».

Чтобы понять, что это такое как быть счетчиком в этой ситуации, снимайте фильм «Куджо».

Серьезно, есть решение этой проблемы проблема. Мы можем установить радио -считывающее устройство (называемое MIU) непосредственно на счетчике, что позволяет читать на расстоянии. Эти устройства в настоящее время обходятся Управлению в 105 долларов.Мы взимаем плату за единицу, но не взимаем труд по установке. Если у вас есть агрессивный питомец или у вас есть особые потребности в безопасности, этот вариант может иметь смысл. Свяжитесь с офисом по телефону 610-317-3212 для получения дополнительной информации. информацию и запланировать установку.

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


СЧЕТЧИКИ — КАК ЧАСТО СЧИТЫВАЮТ?

Мы считываем показания счетчиков каждые три месяца, обычно в течение первых двух недель января, апреля, июля и октября.Каждый предпринимается попытка получить «фактические» чтения. Если вы получаете больше, чем случайные «примерно» читал, что-то не так. Пожалуйста, свяжитесь с офисом, и мы постараюсь решить проблему.


МЕТРЫ — НАСКОЛЬКО ОНИ ТОЧНЫ?

Очень. Обычно они измеряют потоки с точностью 98-100 %. точность.

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

По этой причине мы меняем счетчики через 20 лет службы.


ПРОГРАММА ЗАМЕНЫ СЧЕТЧИКА

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

Хороший способ узнать, принадлежит ли ваш глюкометр Смитсоновский институт заключается в том, что метры менялись по стилю с годами.Старший устройства имели латунные «колпачки», которые можно было закрыть на лицевой стороне счетчика, как показано на рисунке. ниже:

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


 

ЛСА ДОМ

Три фотографии, которые каждый инспектор должен включить в конце отчета

Это первая фотография, демонстрирующая, что водомер не работает.
 Это ваша исходная фотография.

 


На втором фото видно, что счетчик все еще не работает.

 


Это последнее фото, показывающее, что счетчик воды все еще не работает,
подтверждает, что в доме нет скрытых и необнаруженных утечек воды,
 и что инспектор нигде не оставил краны работающими.

 

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

 

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

 

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

 

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

Как снять показания счетчика воды: 14 шагов (с иллюстрациями)

Об этой статье

В соавторстве:

Лицензированный ландшафтный подрядчик

Эта статья была написана в соавторстве с Майком Гарсия. Майк Гарсия — лицензированный подрядчик по ландшафтному дизайну и основатель Enviroscape LA, фирмы, предоставляющей полный комплекс услуг по ландшафтному дизайну и строительству в Лос-Анджелесе, штат Калифорния.Обладая более чем 30-летним опытом, Майк специализируется на устойчивых ландшафтных практиках. Майк имеет степень декоративного садоводства, лицензии C-27 ландшафтного подрядчика и лицензии D-49 подрядчика по обслуживанию деревьев, а также сертификаты пермакультурного дизайна, калифорнийского натуралиста, международного сертифицированного профессионального подрядчика по прудам и сертификаты по строительству прудов. Он является одним из восьми сертифицированных строителей прудов в мире. Enviroscape LA получил награды за ландшафт и водные объекты от Международной ассоциации профессиональных подрядчиков по прудам (IPPCA), Национальной ассоциации профессионалов по прудам (NAPP) и Калифорнийской ассоциации подрядчиков по ландшафту (CLCA).Майк в прошлом был президентом CLCA и в настоящее время входит в их местный совет директоров. Enviroscape LA был отмечен в журналах PONDS USA Magazine, Pond and Garden Lifestyles Magazine и Los Angeles Times. Майк появлялся в программах «Экстремальный макияж дома», «Вызов ландшафтных дизайнеров» HGTV и в сериале «Почини этот двор» канала A&E. Эта статья была просмотрена 243 177 раз.

Соавторы: 13

Обновлено: 21 февраля 2022 г.

Просмотров: 243 177

Резюме статьиX

Чтобы снять показания счетчика воды, начните со снятия крышки.Если у вас старый аналоговый счетчик, запишите число, отображаемое на его большом круглом циферблате. Затем замените последнюю цифру этого числа на число, к которому стрелка счетчика ближе всего.

Добавить комментарий

Ваш адрес email не будет опубликован.