Sign inSign up

virus/python-automation

By virus

Updated over 5 years ago

Image
0

267

virus/python-automation repository overview

Что это?

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

Что поддерживается?

  • Санкт-Петербург
  • Новосибирск
  • Проверка баланса подключенной симки Мегафон
  • Пересылка СМСок в телеграм

Как работает?

Все скрипты подразумевающую оплату (или же просто работу с СМСками) рассчитаны на то, что у вас есть настроенный gammu, с активированным SQL-интерфейсом. Без этого будет работать только мониторинг задолженности.

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

CARD = '5555444433332222'
CARD_EXP_MONTH = '11'
CARD_EXP_YEAR = '33'
CARD_HOLDER = 'CARDHOLDER NAME'
CARD_CVC = '123'

FKR_SPB_ACC = 'Account'
FKR_SPB_PASSWORD = 'Password'
FKR_SBP_KAD_NUM = 'Кадастровый номер квартиры'

KVARTPLATA_ACCOUNT = '9998887766'
KVARTPLATA_PASSWORD = 'Password'

PES_ACCOUNT_NUMBER = '2221133'

GAMMU_DB_DSN = 'dbname=gammu user=gammu password=gammu host=gammu'

SELENIUM_HOST = 'selenium:4444'

ROLLBAR_ACCESS_TOKEN = None

TELEGRAM_BOT_TOKEN = '627234231:AAsdfHsdqf-sdfsjfFDSDfsdsfgd7fUsADFsLasdawSDA'
TELEGRAM_CHAT_ID = '-234534345245'

STORAGE_UNIT_TINKOFF_TEMPLATE_ID = '235345234'

TINKOFF_PHONE_NUMBER = '+72342323453'

UKSN_ACCOUNT = '034523452'
UKSN_PASSWORD = 'kjAHfkshfkr'
UKSN_COLD_WATER_ID = 'sch_1050013_0'
UKSN_HOT_WATER_ID = 'sch_1050024_0'
UKSN_TINKOFF_TEMPLATE_ID = '345345234'

VODOVOZ_WATER_AMOUNT = 3
VODOVOZ_WATER_NAME = 'Веселый водовоз PREMIUM Семиозерье'
VODOVOZ_RECIPIENT_NAME = 'Иванов Иван Иванович'
VODOVOZ_RECIPIENT_PHONE = '89998887766'
VODOVOZ_RECIPIENT_EMAIL = '[email protected]'
VODOVOZ_RECIPIENT_ADDRESS = 'ул. Остапа Бендера, д. 1, кв. 12'

Рекомендую указать в ROLLBAR_ACCESS_TOKEN настоящий токен для Rollbar, чтобы отслеживать возникающие ошибки.

Есть 4 точки входа:

  1. Вэб-сервер, с которым можно взаимодействовать извне и инициализировать оплату / проверять текущую задолженность / отправлять показания. Этот вэб-сервер у меня добавлен в OpenHAB и последний автоматически выполняет нужные действия. У меня запускается вот такой командой:
docker run --net=host -it -d --name=python-automation \
  --restart=always \
  -v `pwd`/python-automation:/usr/src/app \
  -v `pwd`/openhab/conf/html:/usr/src/app/static \
  --log-opt max-size=10m \
  --log-opt max-file=3 \
  --memory 50m \
  --memory-swap 50m \
  virus/python-automation \
    python3 server.py
  1. Пересылка СМС-сообщений, поступающий на подключенный телефон, в телеграм
docker run --net=host -it -d --name=sms2telegram \
  --restart=always \
  -v `pwd`/python-automation:/usr/src/app \
  --log-opt max-size=10m \
  --log-opt max-file=3 \
  --memory 50m \
  --memory-swap 50m \
  virus/python-automation \
    python3 sms2telegram.py
  1. Проверка баланса Мегафон
docker run --net=host -it -d --name=megafon_balance \
  --restart=always \
  -v `pwd`/python-automation:/usr/src/app \
  --log-opt max-size=10m \
  --log-opt max-file=3 \
  --memory 50m \
  --memory-swap 50m \
  virus/python-automation \
    python3 megafon_balance.py --mqtt_host mqtt.local \
      --mqtt_topic /custom/phone_balance
  1. Мониторинг оплаты ПетроЭлектроСбыта
docker run --net=host -it -d --name=pes-tracker \
  --restart=always \
  -v `pwd`/python-automation:/usr/src/app \
  --log-opt max-size=10m \
  --log-opt max-file=3 \
  --memory 50m \
  --memory-swap 50m \
  virus/python-automation \
    python3 pes.py --mqtt_host mqtt.local \
      --mqtt_success_topic /custom/pay/pes/last_report_date \
      --mqtt_payment_amount_topic /custom/pay/pes/last_payment_amount

Tag summary

Content type

Image

Digest

Size

55.6 MB

Last updated

over 5 years ago

docker pull virus/python-automation