Skip to main content

Get information from GCE Ecodevices RT2.

Project description

pyecodevices-rt2 - Python GCE Ecodevices RT2

https://img.shields.io/pypi/v/pyecodevices_rt2.svg https://img.shields.io/pypi/pyversions/pyecodevices_rt2.svg Documentation Status Updates https://codecov.io/gh/pcourbin/pyecodevices_rt2/branch/main/graph/badge.svg pre-commit Black Project Maintenance BuyMeCoffee
Get information from GCE Ecodevices RT2.

This work is originally developed for use with Home Assistant and the custom component ecodevices_rt2.

Features

# Example with indexes
from pyecodevices_rt2 import EcoDevicesRT2
ecodevices = EcoDevicesRT2('192.168.0.20','80',"mysuperapikey")
ecodevices.get('Index','All') # Get all indexes as JSON
ecodevices.get('Index','All','Index_TI1') # Get specific value
  • Define a simple object such as Counter, DigitalInput, EnOcean Switch or Sensor, Post and Sub-Post, Relay, SupplierIndex, Toroid, VirtualOutput, X4FP (Heaters), XTHL:

# Example with a Relay
from pyecodevices_rt2 import EcoDevicesRT2, Relay
ecodevices = EcoDevicesRT2('192.168.0.20','80',"mysuperapikey")
# Relay number 1
test = Relay(ecodevices, 1)
print("Current status: %r" % test.status)
test.off() # Change relay to off
test.on() # Change relay to on
test.toggle() # Invert relay status
test.status = True # Change relay to on
  • Play with cached variables. You can defined a maximum value (in milliseconds) during which you consider an API value do not need to be updated:

from pyecodevices_rt2 import EcoDevicesRT2

# Create the ecodevices object with a default "cached" value of 1s
ecodevices = EcoDevicesRT2('192.168.0.20','80',"mysuperapikey", cached_ms=1000)

print("# All Indexes")
print(ecodevices.get('Index','All')) # Call the API
print(ecodevices.get('Index','All')) # Do not call the API since the last value was retrieved less than 1s (1000ms) ago
print(ecodevices.get('Index','All',cached_ms=0)) # Force to call the API even if the last value was retrieved less than 1s (1000ms) ago

# For each property in other objects, you can call "get_PROPERTY(cached_ms=XX)"
# Example with Counter 1:
test = Counter(ecodevices, 1)
print("Current value: %d" % test.value) # Call the API
print("Current price: %d" % test.price) # Call the API
print("Current value: %d" % test.value) # Do not call the API since the last value was retrieved less than 1s (1000ms) ago
print("Current price: %d" % test.price) # Do not call the API since the last value was retrieved less than 1s (1000ms) ago
print("Current value: %d" % test.get_value()) # Do not call the API since the last value was retrieved less than 1s (1000ms) ago
print("Current price: %d" % test.get_price()) # Do not call the API since the last value was retrieved less than 1s (1000ms) ago
print("Current value: %d" % test.get_value(cached_ms=0)) # Force to call the API even if the last value was retrieved less than 1s (1000ms) ago
print("Current price: %d" % test.get_price(cached_ms=0)) # Force to call the API even if the last value was retrieved less than 1s (1000ms) ago
print("Current value: %d" % test.get_value(cached_ms=2000)) # Do not call the API if the last value was retrieved less than 2s (2000ms) ago
print("Current price: %d" % test.get_price(cached_ms=2000)) # Do not call the API if the last value was retrieved less than 2s (2000ms) ago

Credits

This work is inspired by the work of Aohzan.
This package was created with Cookiecutter and the audreyr/cookiecutter-pypackage project template.

History

1.3.1 (2022-08-07)

  • Add option with cached_ms<0 to force use the cache, or return None

1.3.0 (2022-08-07)

  • Update Toroid API, using new EcoRT2 version 3.00.02

1.2.1 (2021-05-15)

  • Add “get_all_cached” function to call all resquests to get a cached value.

1.2.0 (2021-05-14)

  • Add “cached” possibilities to reduce the number of call to the API.

  • The cached possibilities can be defined directly to the ecodevices_rt2 object (applicable to each call), or to a specific call on a property.

1.1.0 (2021-04-17)

  • Add classes such as Counter, DigitalInput, EnOcean Switch or Sensor, Post and Sub-Post, Relay, SupplierIndex, Toroid, VirtualOutput, X4FP (Heaters), XTHL for ease of use

  • Add tests to cover majority of code

  • Add full examples in documentation

1.0.1 (2021-04-12)

1.0.0 (2021-04-08)

  • First release on PyPI.

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

pyecodevices_rt2-1.3.3.tar.gz (22.4 kB view details)

Uploaded Source

Built Distribution

pyecodevices_rt2-1.3.3-py2.py3-none-any.whl (15.7 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file pyecodevices_rt2-1.3.3.tar.gz.

File metadata

  • Download URL: pyecodevices_rt2-1.3.3.tar.gz
  • Upload date:
  • Size: 22.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.13

File hashes

Hashes for pyecodevices_rt2-1.3.3.tar.gz
Algorithm Hash digest
SHA256 790d486bb44a9b90f4a5ebb5c755efed6c8f27134bff82b5d49cdda5dd462d86
MD5 f701064331a6d68624cf41944088bfae
BLAKE2b-256 c40bc3f36efb417e6b98f2741dced28666a46415d9567ab7cc7a5a415e6dad4a

See more details on using hashes here.

File details

Details for the file pyecodevices_rt2-1.3.3-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for pyecodevices_rt2-1.3.3-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 04ebfe3bb9b166dc4d6f98323355374920a1858a21071cb6c3e846d81dc3a10c
MD5 e628f4f58eba5ceac6b242fcecee161c
BLAKE2b-256 9cd49c333e5eba983a273ef26591e26d8111c393ad528f9932f8a1aa77065811

See more details on using hashes here.

Supported by

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