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
File details
Details for the file pyecodevices_rt2-1.3.4.tar.gz
.
File metadata
- Download URL: pyecodevices_rt2-1.3.4.tar.gz
- Upload date:
- Size: 22.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.9.14
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4ed00e5c03e68e033ebe20fd9bfc1a6653e4bde2f26411c650f2858f1df6e8c6 |
|
MD5 | e5f96976b969ce8e88af5805dc72cbe6 |
|
BLAKE2b-256 | ef634304d4a88e4cbb3bd65551a5819e01cfb0c0fcf90b8f0b90df6b6985fa66 |
File details
Details for the file pyecodevices_rt2-1.3.4-py2.py3-none-any.whl
.
File metadata
- Download URL: pyecodevices_rt2-1.3.4-py2.py3-none-any.whl
- Upload date:
- Size: 15.8 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.9.14
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1772e0213de7434891606a1690cc0577faa729cf7591b2213650314d8ea3e2b4 |
|
MD5 | 1e83f950cae1772ecec9b6c019982ee5 |
|
BLAKE2b-256 | 80b66c3bfd8c96bb8663ec0773b27111dc8383218bb5f9dee565cff16bba6e0c |