Skip to main content

No project description provided

Project description

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

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

discoverable_garage_door-0.1.4.tar.gz (11.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

discoverable_garage_door-0.1.4-py3-none-any.whl (13.4 kB view details)

Uploaded Python 3

File details

Details for the file discoverable_garage_door-0.1.4.tar.gz.

File metadata

  • Download URL: discoverable_garage_door-0.1.4.tar.gz
  • Upload date:
  • Size: 11.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.5.1 CPython/3.11.4 Linux/6.1.21-v8+

File hashes

Hashes for discoverable_garage_door-0.1.4.tar.gz
Algorithm Hash digest
SHA256 9c1800e2e29f6b685ea4b8c063f7120e247c0f832b8d5def1df36bafd656f76a
MD5 ccf68718d0656475825ae555bb565c53
BLAKE2b-256 646e35d846db823578855a05b0d106caafb1a4f8fa6b8735af9f064f3aa6fd98

See more details on using hashes here.

File details

Details for the file discoverable_garage_door-0.1.4-py3-none-any.whl.

File metadata

File hashes

Hashes for discoverable_garage_door-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 d265667c80c18244bdd160f7be3ea0a5fe2b45f22c1a02888ec13a23116b91e8
MD5 16e07a24b5346e75c34516ea57d9bf32
BLAKE2b-256 f6658d66743b0376fac41d4141628079780171175dc57726c65eb6fb71e98839

See more details on using hashes here.

Supported by

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