pesic

PetroElectroSbyt API Wrapper


License
Apache-2.0
Install
pip install pesic==0.3.0

Documentation

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 Π² Π΄Π°Π½Π½Ρ‹ΠΉ ΠΏΠΎΠ΄Π΄Π΅ΠΆΠΈΠ²Π°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΡ‚Π°Ρ€ΠΈΡ„Π½Ρ‹Ρ… ΠΈ Π΄Π²ΡƒΡ…Ρ‚Π°Ρ€ΠΈΡ„Π½Ρ‹Ρ… счСтчиков элСктроэнСргии. ОбновлСниС счСтчиков Ρ…ΠΎΠ»ΠΎΠ΄Π½ΠΎΠΉ ΠΈ горячСй Π²ΠΎΠ΄Ρ‹ Π½Π΅ Ρ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Π»ΠΎΡΡŒ ΠΈ Π² Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π½Π΅ поддСрТиваСтся.