Metadata-Version: 2.1
Name: somweb
Version: 0.1.0
Summary: SOMweb client. Open/close Garage doors made by SOMMER (base+/pro+/tiga/tiga+/barrier systems)
Home-page: https://github.com/taarskog/pysomweb
Author: Trond Aarskog
Author-email: somweb@heiigjen.com
License: MIT
Download-URL: https://github.com/taarskog/pysomweb/archive/v0.1.0.tar.gz
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: License :: OSI Approved :: MIT License
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.8
Classifier: Operating System :: OS Independent
Requires-Python: >=3.6.0
Description-Content-Type: text/markdown
Requires-Dist: requests
Requires-Dist: re


# SOMweb Client

A client to control control garage door operators by [SOMMER](https://www.sommer.eu) through [SOMweb](https://www.sommer.eu/somweb.html).

> ⚠ It is not enough to have a [supported operator](https://www.sommer.eu/en/somweb.html#kompatibilitaet) to use this package. You also need the SOMWeb device.

## Made for home automation

The package is created as part of an extension to [Home Assistant](https://www.home-assistant.io/). There are no dependencies to Home Assistant so you can use the package directly from python or integrate it with any other home automation system.

## How to use

```py
somwebUDI = 1234567  # This is the SOMweb UDI. You can find it under device information
username = "automation" # Your home automation user as configured in SOMweb
password = "super_secret_password" # Your home automation user password

client = SomwebClient(somwebUDI, username, password)

# Rembember to authenticate before calling any other operation
client.authenticate()

# Get status on all doors connected to SOMweb
doorStatuses = client.getAllDoorStatuses()

# Get status on a specific door
doorStatus = client.getDoorStatus(2)

# Open door (if already open no action will be taken)
result = client.openDoor(2)

# Close door (if already closed no action will be taken)
result = client.closeDoor(2)

# Toggle door position (close an open door or open a closed door)
result = client.toogleDoorPosition(2)
```


