Skip to main content

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


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.4.tar.gz (12.7 kB view details)

Uploaded Source

Built Distribution

pypx800v5-1.3.4-py3-none-any.whl (19.3 kB view details)

Uploaded Python 3

File details

Details for the file pypx800v5-1.3.4.tar.gz.

File metadata

  • Download URL: pypx800v5-1.3.4.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

Hashes for pypx800v5-1.3.4.tar.gz
Algorithm Hash digest
SHA256 4cb2d5b31b7873808601968bcfb283c1a5a1f2ab89a670b92e4420e9f6616d2f
MD5 92f3b7dc242740654dd40fd8ebe78991
BLAKE2b-256 e3be28b1d84b7c2a8e3abf6f5067a90f311948a78443cf9109f67c579e71b20e

See more details on using hashes here.

File details

Details for the file pypx800v5-1.3.4-py3-none-any.whl.

File metadata

  • Download URL: pypx800v5-1.3.4-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

Hashes for pypx800v5-1.3.4-py3-none-any.whl
Algorithm Hash digest
SHA256 4bd4cd278a4dabc561584d82f006814473b61658bbdc8ce78147141991d29f4b
MD5 f8c872bcc70c25c92cca56d4dbf08b7e
BLAKE2b-256 7cd29be3051c94151578f788da7e24e10172177cebea344c4fdf9875b54effbf

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