Control the IPX800V5 and its extensions.
Project description
pypx800v5 - Python GCE IPX800 V5
Control the IPX800 V5, its extensions and objects:
- Thermostat
- Counter
- Tempo
- X-8R
- X-8D
- X-24D
- X-Dimmer
- X-PWM
- X-THL
- X-4VR
- X-4FP
- X-Display (v1 and v2)
IPX800 parameters
- host: ip or hostname (mandatory)
- port: (default:
80
) - api_key: (mandatory)
- request_timeout: timeout for request in seconds (default:
30
) - request_retries_count: retry request if an error occured (default:
5
) - request_retries_delay: delay in seconds before trying request (default:
0.5
) - session: aiohttp.client.ClientSession
Example
import asyncio
from pypx800v5 import *
async def main():
async with IPX800(host='192.168.1.123', api_key='xxx') as ipx:
await ipx.ping()
await ipx.init_config()
relay = IPX800Relay(ipx, 0)
print(await relay.status)
await relay.on()
opencoll = IPX800OpenColl(ipx, 0)
print(await opencoll.status)
await opencoll.on()
input = IPX800DigitalInput(ipx, 2)
print(await input.status)
input = IPX800AnalogInput(ipx, 0)
print(await input.status)
input = IPX800OptoInput(ipx, 0)
print(await input.status)
light = X8R(ipx, 0, 7)
print(await light.status)
await light.on()
pwm = XPWM(ipx, 0, 6)
print(await pwm.status)
print(await pwm.level)
await pwm.set_level(90)
light = XDimmer(ipx, 0, 2)
print(await light.status)
print(await light.level)
await light.on()
input = X24D(ipx, 0, 14)
print(await input.status)
capteur = XTHL(ipx, 0)
print(await capteur.temperature)
print(await capteur.humidity)
print(await capteur.luminosity)
tempo = Tempo(ipx, 0)
print(tempo.name)
print(await tempo.status)
print(await tempo.time)
x010v_output = X010V(ipx, 0, 2)
print(await x010v_output.status)
print(await x010v_output.level)
await x010v_output.on()
xdisplay = XDisplay(ipx, 0)
await xdisplay.refresh_screens()
for screen in xdisplay.screens:
print(f"{screen.id} - {screen.name} - {screen.type}")
print(f"screen status ? {await xdisplay.screen_status}")
print(f"screen locked ? {await xdisplay.screen_lock_status}")
print(f"current screen ? {await xdisplay.current_screen_id}")
await xdisplay.set_screen(0)
print(f"current screen ? {await xdisplay.current_screen_id}")
if __name__ == "__main__":
loop = asyncio.get_event_loop()
loop.run_until_complete(main())
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
pypx800v5-1.3.3.tar.gz
(12.7 kB
view details)
Built Distribution
pypx800v5-1.3.3-py3-none-any.whl
(19.3 kB
view details)
File details
Details for the file pypx800v5-1.3.3.tar.gz
.
File metadata
- Download URL: pypx800v5-1.3.3.tar.gz
- Upload date:
- Size: 12.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a18ef2fd8f1688be3c56716f1b71d9488408eabe030f9cb7c08feb6ae8f86a24 |
|
MD5 | e614e12fa2f9f58279220353c8a596f0 |
|
BLAKE2b-256 | b125e02b84b793ba56364d6825c7fc4281e19d858fa2beefd9683ed6123bed96 |
File details
Details for the file pypx800v5-1.3.3-py3-none-any.whl
.
File metadata
- Download URL: pypx800v5-1.3.3-py3-none-any.whl
- Upload date:
- Size: 19.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | cb1f276182cac4ad4517297927a1ac51f71b7a6dc285125a9a933c45ce2aa066 |
|
MD5 | dfd803c0016303c10519d33219b9d2f2 |
|
BLAKE2b-256 | 2836febe86352564bb895f2ee7a79a08802a32ec7d6e315fee52122bfb64d608 |