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

Uploaded Source

Built Distribution

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

Uploaded Python 3

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