AM43 Blinds Motor protocol client implementation written in Python. Before using, please configure the blinds motor with the app on your phone. Credits to Bas Bahlmann for the checksum calculation algorithm.
Warning
Only Linux is supported. Everything was tested on Raspberry Pi 4.
Blinds motor is available to buy here for about $40.
To search for single blind use am43.search method:
import am43 # Library import
blind = am43.search('xx:xx:xx:xx:xx:xx') # Returns single blind
blind.set_position(percentage=30) # Sets blinds positionTo use multiple blinds, simply define the addresses in the am43.search method. It will return a list with a blinds:
blinds = am43.search(
'xx:xx:xx:xx:xx:xx',
'xx:xx:xx:xx:xx:xx',
'xx:xx:xx:xx:xx:xx'
) # Returns multiple blinds instancesYou can stop the blinds using Blind.stop method:
blind.stop() # Stops blindsAlso, you can access the motor properties:
properties = blind.get_properties() # Fetch current data
properties.battery # 95 <int>
properties.position # 100 <int>
properties.light # 23 <int>The light property will be zero if the sensor is not plugged in to the blind motor.
To install the latest version you can use pip by executing that command:
$ pip install am43All the requirements will be installed automatically.
Full list of all dependencies you can find in setup.py file:
bluepy>= 1.3.0munch>= 2.5.0
And you need to have a Bluetooth module on your machine. On Raspberry Pi (>=3) it is already on the board.