Skip to main content

Python code for controlling Brematic remote power outlets and potentially other stuff

Project description

pyBrematic

Build Status PyPI version Coverage Status

The topic "smart home" or "home automation" in particular has become increasingly popular throughout the last few years. While many manufacturers are relying on cloud infrastructure, there are some that produce local-only devices, using the 433 MHz ISM band.

The python module "pyBrematic" enables you to control and automate your 433 MHz remote power outlets (and other switches/dimmers) with the Python programming language. All you need for this is a supported 433 MHz network gateway, such as the Intertechno ITGW-433, the Brematic GWY 433 (or CONNAIR 433, which is basically the same as the Brematic one).

With the help of the community we might get other devices working as well.

Installation

This module is available on pypi and hence can be downloaded via pip like this:

pip install pyBrematic

And if you are having issues with installing the package, try to use the --user switch, to install it to your home directory.
PyBrematic has no external dependencies. Only Python versions >= 3.5 are supported.

Example usage

To check out how to use the module, go to the example file. There you'll find an example configuration of how to use the module.

from pyBrematic import Action
from pyBrematic.devices.brennenstuhl import RCS1000N
from pyBrematic.devices.intertechno import ITR3500, calc_system_and_unit_code
from pyBrematic.gateways import BrennenstuhlGateway

# Set your system and unit codes
system_code = "11110"  # DIPs 1-4 are in the 'up' position, 5 is 'down'
unit_code = "10000"  # DIP A is in the 'up' position, B-E are 'down'

# Create a new device with the specified codes
desk_lamp = RCS1000N(system_code, unit_code)

# For Intertechno devices you can also use the following methods to get the code
# via master/slave (letter/number) notation. Allowed values are "A-P" and "1-16".
led_system_code, led_unit_code = calc_system_and_unit_code("A3")
led_strip = ITR3500(led_system_code, led_unit_code)

# Create a new gateway located at the specified IP
gw = BrennenstuhlGateway("192.168.178.9")

# Send the request and pass it the device and the action (on/off)
gw.send_request(desk_lamp, Action.ON)
gw.send_request(desk_lamp, Action.OFF)

Important notice

Since all data packets are sent to the gateways via UDP, it cannot be guaranteed, that all requests will be received by the gateway. For critical purposes you cannot rely on sending the signal once.

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

pyBrematic-1.2.1.tar.gz (17.1 kB view details)

Uploaded Source

Built Distribution

pyBrematic-1.2.1-py3-none-any.whl (33.6 kB view details)

Uploaded Python 3

File details

Details for the file pyBrematic-1.2.1.tar.gz.

File metadata

  • Download URL: pyBrematic-1.2.1.tar.gz
  • Upload date:
  • Size: 17.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.6.1 requests/2.25.1 setuptools/47.1.0 requests-toolbelt/0.9.1 tqdm/4.55.1 CPython/3.7.9

File hashes

Hashes for pyBrematic-1.2.1.tar.gz
Algorithm Hash digest
SHA256 32f0d486f601f6090b6b72153184deefeb69a361d95ddbf2d999c0dcaffdd9ee
MD5 417bafb4bbf7bc131945b67b90e9c218
BLAKE2b-256 4b6f198948700b21f72231f303647530d28b258d4133aa3a457f21bbc1c0bd14

See more details on using hashes here.

File details

Details for the file pyBrematic-1.2.1-py3-none-any.whl.

File metadata

  • Download URL: pyBrematic-1.2.1-py3-none-any.whl
  • Upload date:
  • Size: 33.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.3.0 pkginfo/1.6.1 requests/2.25.1 setuptools/47.1.0 requests-toolbelt/0.9.1 tqdm/4.55.1 CPython/3.7.9

File hashes

Hashes for pyBrematic-1.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 6c486809bd9bdc7abcf745207417884c5939371a32cf52149e5052dcfd6647eb
MD5 05fa89ff4ac5d6f11e6b3ab98052052c
BLAKE2b-256 36fde1d6a2b09c78e8eedd2a14df19a2ce2dd30e429542ec213252adbc1c2ad8

See more details on using hashes here.

Supported by

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