Get information from GCE Ecodevices RT2.
Project description
pyecodevices-rt2 - Python GCE Ecodevices RT2
This work is originally developed for use with Home Assistant and the custom component ecodevices_rt2.
Free software: MIT license
Documentation: https://pyecodevices-rt2.readthedocs.io.
Features
Connect to the API (see GCE Ecodevices RT2 API (or PDF)) and get any value:
# 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
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)
Update package with Cookiecutter and the audreyr/cookiecutter-pypackage project template.
1.0.0 (2021-04-08)
First release on PyPI.
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
Built Distribution
Hashes for pyecodevices_rt2-1.3.3-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 04ebfe3bb9b166dc4d6f98323355374920a1858a21071cb6c3e846d81dc3a10c |
|
MD5 | e628f4f58eba5ceac6b242fcecee161c |
|
BLAKE2b-256 | 9cd49c333e5eba983a273ef26591e26d8111c393ad528f9932f8a1aa77065811 |