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

Uploaded CPython 3.13Windows x86-64

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

Uploaded CPython 3.13Windows x86

simt_emlite-1.2.5-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.5-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.5-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.5-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for simt_emlite-1.2.5-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 1391ea306a3159fb91313ab3fcec436a941ffdd07f7f726ff44f55def85938ec
MD5 8b7bb21d400b38d8a8f71971a27cba11
BLAKE2b-256 6c841ca01c973282d312c478b2e57c52116bbf404bd170f4e524f5fc81a90622

See more details on using hashes here.

File details

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

File metadata

  • Download URL: simt_emlite-1.2.5-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.5-cp313-cp313-win32.whl
Algorithm Hash digest
SHA256 36f2a0a9dd9e52e5bbf67cf491b7529d872d4e910022bb274b0ebdf74f332464
MD5 451b51d92c7b7b598d8a43d70f3fe709
BLAKE2b-256 46853aa83dd3907315dc9dfa1af72240194a2bb276657f5ecb2ac906e09f8bc9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for simt_emlite-1.2.5-cp313-cp313-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 56ca1c5441548093e4fa82785d87c6b9049670839aecb83b754e9bcbdaca5a04
MD5 49037ad65c37b5d7308ddcd33141440a
BLAKE2b-256 50c37b3c62f189ef580592623d1ed2c31b07d052eac1f95e4cc679a8e92d70cf

See more details on using hashes here.

File details

Details for the file simt_emlite-1.2.5-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.5-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 bd15d9c384e64b91d1a08bbef628a187151d3c967c9a6ba46df65f959e65477a
MD5 2a62aac50e98b2675bec72ad865341ed
BLAKE2b-256 fc20d8fae9977fb7d7ca7545d35e0f097c095fda161e76afd95b185e548e1525

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for simt_emlite-1.2.5-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 54a65b97b7479e51e79d80ec9b1269243198c195ac61651e4412994ff2f8e82c
MD5 e8404e7ffa18a48bbac201a94a1ba48b
BLAKE2b-256 ceca87527c9941fa38600b7946f4cd9d9c14e73c21620e5977904aa5ad49eefc

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