Skip to main content

PetroElectroSbyt API Wrapper

Project description

PESIC - PetroElektroSbyt Integrated Client

Установка

$ pip3 install -U pesic

Использование

from pesic.api import PESClient
import asyncio

username = "88005553535"
password = "ЧемУкогоТоЗанимать"

async def main():
    client = PESClient(username=username, password=password)
    # Получить список групп в личном кабинете
    await client.get_groups()
    # Получить список учетных записей для группы с ID 123456
    await client.get_group_accounts(group_id=123456)
    # Получить детали для учетной записи с ID 654321
    await client.get_account_details(account_id=654321)
    # Получить детали счетчиков для учетной записи с ID 654321
    await client.get_meters_info(account_id=account)
    # Передать показания для однотарифного счетчика 
    data = [{'scale_id': 1, 'scale_value': 9136}]
    # Передать показания для двухтарифного счетчика 
    data = [{'scale_id': 2, 'scale_value': 9136}, {'scale_id': 3, 'scale_value': 2775}]
    await client.set_meters_reading(account_id=654321, readings=data)
    # Закрыть соединение
    await client.close()

loop = asyncio.new_event_loop()
loop.run_until_complete(main())

Отладка

Bash:

export PESIC_LOGLEVEL="DEBUG"

Powershell:

$env:PESIC_LOGLEVEL="DEBUG" 

Предостережение

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

Метод set_meters_reading выполняет несколько проверок:

  • количество новых показаний в обновлении должно совпадать с текущим количеством счетчиков;
  • текущий счетчик должен иметь все переданные scale_id;
  • текущий счетчик должен иметь показания меньше, чем те, что переданы в scale_value для данного scale_id

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pesic-0.3.0.tar.gz (8.5 kB view details)

Uploaded Source

Built Distribution

pesic-0.3.0-py3-none-any.whl (9.1 kB view details)

Uploaded Python 3

File details

Details for the file pesic-0.3.0.tar.gz.

File metadata

  • Download URL: pesic-0.3.0.tar.gz
  • Upload date:
  • Size: 8.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.7

File hashes

Hashes for pesic-0.3.0.tar.gz
Algorithm Hash digest
SHA256 5ef3e7a14ac4f3dfad24f9902a6d9389d9231861787f10650170688ccd35ab3b
MD5 4f3f6ebb9bcaa15b281db72df07dd824
BLAKE2b-256 416fad155b5b93750e17180ece9b51c3132c76fc3b46571840db7074ee069f61

See more details on using hashes here.

File details

Details for the file pesic-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: pesic-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 9.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/4.0.2 CPython/3.11.7

File hashes

Hashes for pesic-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 549fac54163ed533003a04f0417c97b37adcc59f47189e50fffd6d6aa7c9e221
MD5 8d0fbf95a3379cef662cc85ab5758a84
BLAKE2b-256 7d7471f37263b584932158f9aae03d4761fb3bb0792c33f7e260e3da48767965

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page