Metadata-Version: 2.1
Name: somweb
Version: 0.3.3
Summary: SOMweb client. Open/close Garage doors produced 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.3.3.tar.gz
Keywords: sommer,SOMweb,garage door,home assistant,home automation,heiigjen
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.8
Classifier: Operating System :: OS Independent
Classifier: Topic :: Home Automation
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.6.0
Description-Content-Type: text/markdown
Requires-Dist: requests
Requires-Dist: aiohttp


# SOMweb Client

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

> ⚠ 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)

# Check that SOMweb device is reachable
client.isReachable()

# 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)
```


