Skip to main content

Client BACnet library for Flexit Nordic series of air handling units.

Project description

Flexit BACnet

This library allows integration with Flexit Nordic series of air handling units via BACnet protocol.

Prerequisites

In order to use that library, you need to know the IP address and Device ID of your unit.

  1. Open Flexit Go app on your mobile.
  2. Use "Find product" button on tha main screen.
  3. Select your device and press "Connect".
  4. Enter installer code (default: 1000) and press "Login".
  5. Open "More" menu -> Installer -> Communication -> BACnet settings.
  6. Note down "IP address" and "Device ID".

You need to have Python version 3.7 or above.

Connecting to a device

import asyncio

# import FlexitBACnet
from flexit_bacnet import FlexitBACnet


async def main():
    # create a FlexitBACnet device instance with the IP address and Device ID
    device = FlexitBACnet('192.168.0.18', 2)

    await device.update()

    # check device name and s/n
    print('Device Name:', device.device_name)
    print('Serial Number:', device.serial_number)


if __name__ == "__main__":
    asyncio.run(main())

Interacting with the device

For list of available states and interactions, please study device.py.

For example, changing ventilation mode can be done as follows:

import asyncio

# import FlexitBACnet
from flexit_bacnet import (
    FlexitBACnet,
    VENTILATION_MODE_HIGH
)


async def main():
    # create a FlexitBACnet device instance with the IP address and Device ID
    device = FlexitBACnet('192.168.0.18', 2)

    await device.update()

    # check current ventilation mode
    print('ventilation mode (before):', device.ventilation_mode)

    # set ventilation mode to High
    await device.set_ventilation_mode(VENTILATION_MODE_HIGH)

    # check current ventilation mode again
    print('ventilation mode (after):', device.ventilation_mode)


if __name__ == "__main__":
    asyncio.run(main())

Which would result in the following output:

ventilation mode (before): 3
ventilation mode (after): 2

Examples

To execute examples without installing the package, set PYTHONPATH to local directory, e.g.:

PYTHONPATH=. python3 examples/current_mode.py 192.168.0.100

Where 192.168.0.100 should be replaced with your unit's IP address.

Finding device IP address

If you don't know the IP address of your unit, you can use the following script to find it:

PYTHONPATH=. python3 examples/discover.py

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

flexit_bacnet-2.2.1.tar.gz (13.4 kB view details)

Uploaded Source

Built Distribution

flexit_bacnet-2.2.1-py3-none-any.whl (13.8 kB view details)

Uploaded Python 3

File details

Details for the file flexit_bacnet-2.2.1.tar.gz.

File metadata

  • Download URL: flexit_bacnet-2.2.1.tar.gz
  • Upload date:
  • Size: 13.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.10.12

File hashes

Hashes for flexit_bacnet-2.2.1.tar.gz
Algorithm Hash digest
SHA256 b59c667e8092199b0c44a12211d9f2712d3d4ef5223563a9f484a32d6f1dc780
MD5 b528e8841f1563a0c867492e4f6fed24
BLAKE2b-256 34f63c03fe046ff69826b2d396e7f1fdd0baabca62a82fd4ccda30d78021a67a

See more details on using hashes here.

File details

Details for the file flexit_bacnet-2.2.1-py3-none-any.whl.

File metadata

File hashes

Hashes for flexit_bacnet-2.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 c8236bb89ae73b0df41825817b73361932d511c7fdb2f583b3ff92492f074f03
MD5 f6c3eefe234c19418305ed076da1df4a
BLAKE2b-256 6926c18c21e9caa668943c31653669096b72e307619dff01dffed50e78cfba0e

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