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.6-cp313-cp313-win_amd64.whl (2.4 MB view details)

Uploaded CPython 3.13Windows x86-64

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

Uploaded CPython 3.13Windows x86

simt_emlite-1.2.6-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.6-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.6-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.6-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for simt_emlite-1.2.6-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 57cef443abc1137c960893769823e478e73415be99192c82ada4b1d4c82601f1
MD5 2b5a1ad2e892c9a9593274b4dda7d751
BLAKE2b-256 e57ca7886933218415ea778c8de9706c047d20f23c4d69314ee50f04f39a41bf

See more details on using hashes here.

File details

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

File metadata

  • Download URL: simt_emlite-1.2.6-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.6-cp313-cp313-win32.whl
Algorithm Hash digest
SHA256 7b054c861d9a3706d60676c857e438b9e68d6c396325c1790013837dc283560b
MD5 3adcc66817910f237fce6e4c8ddfeb1f
BLAKE2b-256 7cf105b6f8e9ba60179fbd54fb2fd4bdb01db99e3db067047e84ac9b3746de4c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for simt_emlite-1.2.6-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 746e1f10f9f59b89df3822287c9bd6b8d15000eaaac45f5f8b8f4c2ed5e881cd
MD5 fa36fde0cf5bc2ab85fd40bdd208e19e
BLAKE2b-256 b39e75eed363e585d113d5c91ee717465696ff66d0184fe85eb173abf00af6da

See more details on using hashes here.

File details

Details for the file simt_emlite-1.2.6-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.6-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f81154e991df2e62cc91651981cd291f20553159208f01eeb89d4f772d6c4115
MD5 0aedcde1faee0a533b9da7335e45654d
BLAKE2b-256 d755984eea11a76fe71ae162ddb237f5a8bcfceb8f54f41c36a8f6cb7565044d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for simt_emlite-1.2.6-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 398762f3e0db85134d5fdbbc10ece6713f964ad693dc85b63b3b2bb52711c1e6
MD5 d428a7ee6ccb3fa0f5984c8668eb5d92
BLAKE2b-256 488e8a230405f2b9372cca66221e6022f5f4cdbc7003d9aa9e701e6e1cd3e351

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