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

Uploaded Source

Built Distribution

flexit_bacnet-2.2.3-py3-none-any.whl (14.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: flexit_bacnet-2.2.3.tar.gz
  • Upload date:
  • Size: 13.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.6

File hashes

Hashes for flexit_bacnet-2.2.3.tar.gz
Algorithm Hash digest
SHA256 ffb93f53d3bc42ca3767a0868cd76f7f93b71932e8a392966ea0505cdd224d9b
MD5 d8ef8d9817e109e983ff307d93adf234
BLAKE2b-256 2629e99f9584083ffab31db5131c46d9b5b1d8d59b561e3b2ea225cb92ccb0c1

See more details on using hashes here.

File details

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

File metadata

  • Download URL: flexit_bacnet-2.2.3-py3-none-any.whl
  • Upload date:
  • Size: 14.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.6

File hashes

Hashes for flexit_bacnet-2.2.3-py3-none-any.whl
Algorithm Hash digest
SHA256 22bfd54ce4fc81a9ceeea3454bee8328e1d893575b0572c552f4b2d846161da9
MD5 0fa155cdba9881ab2d7fde2ecfcff78f
BLAKE2b-256 b2571342f7ded71ba4823469e158740410583075d510d4a3c051cd1892d19c91

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page