Skip to main content

API and CLI for communicating with the Emlite meters via EMOP

Project description

Simtricity Emlite Python APIs and CLI

This repository contains:

  • API to connect to and send EMOP messages to Emlite meters
  • a CLI (emop) for sending messages to the meters

Configure

Configuration steps:

  • create file ~/.simt/emlite.prod.env from Lastpass secret 'emop-cli-env-file (prod)'
  • create file ~/.simt/emlite.qa.env from Lastpass secret 'emop-cli-env-file (qa)'
  • ln -s ~/.simt/emlite.<qa|prod|custom>.env ~/.simt/emlite.env

NOTE:

  • FLY_DNS_SERVER needs the DNS that wireguard uses (on Linux look under resolvectl status for the interface and DNS)

see also https://www.notion.so/Emop-and-mediators-CLI-setup-834d32be5c794add8716399ab186abe8

Use

emop

emop env_show
emop env_set prod

emop --help

emop prepay_balance EML2137555666
emop csq EML2137555666
emop profile_log_1 --timestamp 2024-07-19T00:00 EML2137555666

Python API

You can also use the library directly in your Python scripts. The library offers two main client classes:

  • EmliteMediatorAPI: The core client for standard meter operations (reads, basic writes).
  • EmlitePrepayAPI: Extends the core API with prepay-specific functionality (balance, tokens, tariffs).

Initialization and Logging

The EmliteMediatorAPI constructor allows you to configure the connection and log verbosity.

import logging
from simt_emlite.mediator.api_core import EmliteMediatorAPI

# Initialize the client
# The logging_level parameter controls the verbosity of the internal logger.
# It uses the standard python logging module levels (DEBUG, INFO, WARNING, ERROR).
client = EmliteMediatorAPI(
    mediator_address="localhost:50051",
    logging_level=logging.WARNING  # Set to logging.DEBUG for verbose output
)

# Example Usage
serial = "EML2137555666"
try:
    voltage = client.instantaneous_voltage(serial)
    print(f"Meter {serial} voltage: {voltage}V")
except Exception as e:
    print(f"Error: {e}")

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

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

simt_emlite-1.2.9-cp313-cp313-win_amd64.whl (2.4 MB view details)

Uploaded CPython 3.13Windows x86-64

simt_emlite-1.2.9-cp313-cp313-win32.whl (2.1 MB view details)

Uploaded CPython 3.13Windows x86

simt_emlite-1.2.9-cp313-cp313-musllinux_1_2_x86_64.whl (16.7 MB view details)

Uploaded CPython 3.13musllinux: musl 1.2+ x86-64

simt_emlite-1.2.9-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (17.1 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

simt_emlite-1.2.9-cp313-cp313-macosx_11_0_arm64.whl (2.4 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

File details

Details for the file simt_emlite-1.2.9-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for simt_emlite-1.2.9-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 4bdaf4d364130c30f3be5361ad27c972a489af68b761c9a3e3ea0f801eb0898c
MD5 37eb53d957935fd24450bedc650cde10
BLAKE2b-256 76f1b3a21d4986bd93a879a10a861037c20ee75501463416f19934af88104ce8

See more details on using hashes here.

File details

Details for the file simt_emlite-1.2.9-cp313-cp313-win32.whl.

File metadata

  • Download URL: simt_emlite-1.2.9-cp313-cp313-win32.whl
  • Upload date:
  • Size: 2.1 MB
  • Tags: CPython 3.13, Windows x86
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for simt_emlite-1.2.9-cp313-cp313-win32.whl
Algorithm Hash digest
SHA256 0141d7023f89261141a5e525d13ae73af460e3e3891b7717fcedfab106aaad5d
MD5 f57597ec002d3814179546dbebc7945d
BLAKE2b-256 8b9b57409d548604aeb498ffa81b514d8381ada829ddad0af0fe7c7bd9ade6d7

See more details on using hashes here.

File details

Details for the file simt_emlite-1.2.9-cp313-cp313-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for simt_emlite-1.2.9-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 a40978b92dc5bd00f315991d7ec4ae0692b62a92f50a8639784050290a1bcc03
MD5 28ddcdb9c3859f3877b79cc2cf02437e
BLAKE2b-256 6d1afd5473a274d091db9bbc826592145f96f6a5342fc0da2a71fc3536a0644e

See more details on using hashes here.

File details

Details for the file simt_emlite-1.2.9-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for simt_emlite-1.2.9-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 bac242f5a2e8b96951c84d4588565086a988fd6ffc9a89abd49996e993d0adcb
MD5 26b6755fadbfe05d048ffb0984b6dd50
BLAKE2b-256 0d1bbd28f683e4bc35a1b089d550b287c50b490b36e5f8c7101b7b043c1d7287

See more details on using hashes here.

File details

Details for the file simt_emlite-1.2.9-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for simt_emlite-1.2.9-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b5d16c0f92510b221ffc383641b0a16ff2da1027edaaad156163554ccebf8afc
MD5 1264d29f13cf6c5e7b2924c2c075241f
BLAKE2b-256 f2031cdbda9c447b1a725854177cfcb41bc8a563fb98486a1cbb8c8f9bba6d40

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