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 в данный поддеживает только обновление однотарифных и двухтарифных счетчиков электроэнергии. Обновление счетчиков холодной и горячей воды не тестировалось и в данный момент не поддерживается.
Release files for pesic 0.3.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pesic-0.3.0.tar.gz | 8.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pesic-0.3.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 17.5 kB
Release files / pesic-0.3.0.tar.gz
| Download URL | pesic-0.3.0.tar.gz |
|---|---|
| Size | 8.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
5ef3e7a14ac4f3dfad24f9902a6d9389d9231861787f10650170688ccd35ab3b
|
|
BLAKE2b-256 checksum How to use checksums |
416fad155b5b93750e17180ece9b51c3132c76fc3b46571840db7074ee069f61
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/4.0.2 CPython/3.11.7
|
Release files / pesic-0.3.0-py3-none-any.whl
| Download URL | pesic-0.3.0-py3-none-any.whl |
|---|---|
| Size | 9.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
549fac54163ed533003a04f0417c97b37adcc59f47189e50fffd6d6aa7c9e221
|
|
BLAKE2b-256 checksum How to use checksums |
7d7471f37263b584932158f9aae03d4761fb3bb0792c33f7e260e3da48767965
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/4.0.2 CPython/3.11.7
|