Skip to main content

discoverable-garage-door

GitHub Code style: black GitHub last commit (branch)

A python 3 module that takes advantage of Home Assistant's MQTT discovery protocol via ha-mqtt-discoverable to create a Raspberry PI GPIO garage door implementation.

Table of Contents

Requirements

Raspberry PI

discoverable_garage_door is designed to run on a PI Zero, Pi 3B+ or PI 4B it may run on other models.

Debian

discoverable_garage_door is designed to run on Debian Bullseye it may run on other versions.

Python

dicscverable_garage_door runs on Python 3.10 or later.

Installing

installation

pip install discoverable_garage_door - not yet implemented

Usage

python3 -m discoverable_garage_door

Configuration

a logger configuration file (logger.conf) may be placed in the current directory

a yaml-format configuration file may (.config.yaml) may be placed in the current directory or be specified by the 'config' environment variable

Format

Example:

    mqtt_broker:
      host: local-broker.local
      username: homeassistant
      password: password
      discovery_prefix: homeassistant
      state_prefix: hmd
    gpio:
      button_push_duration_ms: 500
      contact_bounce_time_ms: 200
      contact_pullup: true
      doors:
        - button_pin: 18
          closed_contact_pin: 27
          name: main garage door
          opened_contact_pin: 17

mqtt_broker.host - the name or address of the MQTT broker

mqtt_broker.username - the username to use to connect with the MQTT broker

mqtt_broker.password - the password to use to connect with the MQTT broker

mqtt_broker.discovery_prefix - the prefix to use to publish messages to the MQTT broker, hormally homeassistant

mqtt_broer.state_prefix - the prefix to use to subscribe messages to the MQTT broker

gpio.button_push_duration_ms - the length of time in milliseconds that garage door button is virtually pressed, default 500 (ms)

gpio.contact_bounce_time_ms - the length of time to use to debounce the GPIO inputs, normally 200 (ms)

gpio.contact_pullup - whether to use a pullup for the GPIO inputs(true) or whether a pullup will be externally used (false)

gpio.doors - a list of door descriptions

door.name - the name of the garage door

door.button_pin - the number of the pin used for the button (GPIO numbering)

door.closed_contact_pin - the number of the pin used for the closed contact (GPIO numbering)

door.opened_contact_pin - the number of the pin used for the opened contact (GPIO numbering)

Version History

Version 0.1.1 - Complete build config

Version 0.1.2 - Add Lovelace UI exampe

Version 0.1.3 - Rename logger.conf

Version 0.1.4 - Get test bed operating

Uses ha-mqtt-discoverable

Metadata

Release files for discoverable-garage-door 0.1.4

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for discoverable-garage-door 0.1.4
File Size Uploaded Provenance Actions
discoverable_garage_door-0.1.4.tar.gz 11.6 kB Without provenance Details for discoverable_garage_door-0.1.4.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for discoverable-garage-door 0.1.4
File Interpreter ABI Platform Actions
discoverable_garage_door-0.1.4-py3-none-any.whl Python 3 none any Details for discoverable_garage_door-0.1.4-py3-none-any.whl

Total release size: 25.0 kB

Release files / discoverable_garage_door-0.1.4.tar.gz

Download URL discoverable_garage_door-0.1.4.tar.gz
Size 11.6 kB
Tags Source
SHA-256 checksum
How to use checksums
9c1800e2e29f6b685ea4b8c063f7120e247c0f832b8d5def1df36bafd656f76a
BLAKE2b-256 checksum
How to use checksums
646e35d846db823578855a05b0d106caafb1a4f8fa6b8735af9f064f3aa6fd98
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.5.1 CPython/3.11.4 Linux/6.1.21-v8+

Release files / discoverable_garage_door-0.1.4-py3-none-any.whl

Download URL discoverable_garage_door-0.1.4-py3-none-any.whl
Size 13.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d265667c80c18244bdd160f7be3ea0a5fe2b45f22c1a02888ec13a23116b91e8
BLAKE2b-256 checksum
How to use checksums
f6658d66743b0376fac41d4141628079780171175dc57726c65eb6fb71e98839
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.5.1 CPython/3.11.4 Linux/6.1.21-v8+

Security for discoverable-garage-door 0.1.4

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page