GitHub

Introduction

This Python module allows control of the TVM 7675 Pro (SIGNATURE) series of MotionMount's from Vogel's Products.

Getting Started

This module can be installed using the following command: pip install python-MotionMount

In your Python code you can then use the module as follows:

import asyncio
import motionmount
ip = "MMF8A55F.local." # Can also be "169.254.13.16" or similar
port = 23 # The best way to get the port number is using zeroconf, but it's likely '23'
async def main():
    mm = MotionMount(ip, port)
    try:
        await mm.connect()
        await mm.go_to_preset(1)
        print(f"Extension: {mm.extension}")
        name = await mm.get_name()
        print(f"The name is: \"{name}\"")
        await mm.go_to_position(50, -50)
    except Exception as e:
        print(f"Something bad happened: {e}")
    finally:
        await asyncio.sleep(1)
        await mm.disconnect()
if __name__ == '__main__':
    asyncio.run(main())

To get the IP address of the MotionMount you can use pyzeroconf or you can use a manual tool like dns-sd in the macOS Terminal or a GUI tool like Discovery (macOS) or Bonjour Browser (Windows)

A simple example using pyzeroconf is included in the examples folder.

If you want to run the examples from a clone of the repository you can use a command similar to: PYTHONPATH=./src/motionmount python examples/simple.py

Changelog

1.0.1: - Fix bug in allowed preset indices

2.0.0: - Include position data in presets

2.1.0: - Add timeout (15 s) to connect()

2.2.0: - Add support for authentication to the MotionMount

2.3.0: - Add new system_status property for pre-parsed aggregated system status

2.3.1: - Handle new style system status

Read the original on github.com ↗