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
Release history Release notifications | RSS feed
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.24.tar.gz
(15.5 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
pyiskra-0.1.24-py3-none-any.whl
(22.3 kB
view details)
File details
Details for the file pyiskra-0.1.24.tar.gz.
File metadata
- Download URL: pyiskra-0.1.24.tar.gz
- Upload date:
- Size: 15.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.9.23
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
534aaa0102d2469ed2ae44a047188b905c95fc95f84daffe7622b258229f2a24
|
|
| MD5 |
edd71232521fd2a87a26bf095731e4a5
|
|
| BLAKE2b-256 |
0e0ce1fdb9947ac42174346f4c380750960f340745d39e5e664f718471623ec7
|
File details
Details for the file pyiskra-0.1.24-py3-none-any.whl.
File metadata
- Download URL: pyiskra-0.1.24-py3-none-any.whl
- Upload date:
- Size: 22.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.9.23
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5e429e5e187401c1f8ea79955de69fe2de38379f9e794efb1a620d2697e31d67
|
|
| MD5 |
8ae2f13ba022146c05b65483f2c24699
|
|
| BLAKE2b-256 |
b95ef14620f68599327982549e82ff240896f1c17fc2de147f44117778370083
|