Skip to main content

Python Iskra devices interface

Project description

PyIskra

PyIskra is a Python package designed to provide interface for Iskra devices using SG and it's RestAPI or ModbusTCP/RTU.

Installation

You can install PyIskra using pip:

pip install pyiskra

Features

  • Object-oriented mapping for energy meters
  • Access to measurements
  • Access to Energy counters

Supported devices

  • Smart Gateway
  • IE38
  • IE14
  • MCXXX
  • iMCXXX
  • MTXXX
  • iMTXXX

Usage

Here's a basic example of how to use PyIskra:

import asyncio
from pyiskra.devices import Device
from pyiskra.adapters import RestAPI


device_ip = "192.168.1.1"
device_auth = {"username": "admin", "password": "iskra"}

async def main():
    # Set device IP address

    # Create adapter
    adapter = RestAPI(ip_address=device_ip, authentication=device_auth)

    # Create device
    device = await Device.create_device(adapter)

    # Initalize device
    await device.init()

    devices = [device]


    if device.is_gateway:
        devices += device.get_child_devices()


    for device in devices:
        # Update device status
        print(f"Updating status for {device.model} {device.serial}")
        await device.update_status()

        if device.supports_measurements:
            for index, phase in enumerate(device.measurements.phases):
                print(f"Phase {index+1} - U: {phase.voltage.value} {phase.voltage.units}, I: {phase.current.value} {phase.current.units} P: {phase.active_power.value} {phase.active_power.units} Q: {phase.reactive_power.value} {phase.reactive_power.units} S: {phase.apparent_power.value} {phase.apparent_power.units} PF: {phase.power_factor.value} {phase.power_factor.units} PA: {phase.power_angle.value} {phase.power_angle.units} THD U: {phase.thd_voltage.value} {phase.thd_voltage.units} THD I: {phase.thd_current.value} {phase.thd_current.units}")

        if device.supports_counters:
            for counter in device.counters.non_resettable :
                print(f"Non-resettable counter - Name: {counter.name}, Value: {counter.value} {counter.units}, Direction: {counter.direction}")


            for counter in device.counters.resettable:
                print(f"Resettable counter - Name: {counter.name}, Value: {counter.value} {counter.units}, Direction: {counter.direction}")

asyncio.run(main())

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

pyiskra-0.1.19.tar.gz (15.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pyiskra-0.1.19-py3-none-any.whl (21.9 kB view details)

Uploaded Python 3

File details

Details for the file pyiskra-0.1.19.tar.gz.

File metadata

  • Download URL: pyiskra-0.1.19.tar.gz
  • Upload date:
  • Size: 15.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.22

File hashes

Hashes for pyiskra-0.1.19.tar.gz
Algorithm Hash digest
SHA256 9741cc143f8ec385b1c7f5cbd88f3dbe2d94412459b83b6fb8b2f566a24d1f92
MD5 f73de094c28fbf521d57c0bcddb92270
BLAKE2b-256 86961446f90545fafee0411f24856fedad7b37a8b1376129ac35c578330843b1

See more details on using hashes here.

File details

Details for the file pyiskra-0.1.19-py3-none-any.whl.

File metadata

  • Download URL: pyiskra-0.1.19-py3-none-any.whl
  • Upload date:
  • Size: 21.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.22

File hashes

Hashes for pyiskra-0.1.19-py3-none-any.whl
Algorithm Hash digest
SHA256 7c856469ea38809ff6eb2b9c754704546004001a97a013f8d0a06b28fb65c84b
MD5 55d5d5090963dd78f373a94e54963835
BLAKE2b-256 4898a2f4bf940a8b9a863dd3a8df5e3b6c101e5c6b10961eca11826017fb95f8

See more details on using hashes here.

Supported by

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