Hello, hoping someone can help with my issue. Garage door opens after MQTT becomes unavailable.
Running HA on one Pi and created a garage door opener on another running Pi Lite.
The logbook shows that the MQTT becomes unavailable and when available again the output goes high and either open/closes the door. Not very often, but is pretty unsettling.
Any insight would be appreciated
The garage Pi Lite config.yml code
mqtt:
host: xxx.xxx.x.xx
port: 1883
ha_discovery:
enabled: yes
user: "mqttuser"
password: "xxxxx"
topic_prefix: home/garage
status_topic: status
status_payload_running: online
status_payload_stopped: offline
status_payload_dead: offline
gpio_modules:
- name: raspberrypi
module: raspberrypi
digital_outputs:
- name: switch23
module: raspberrypi
pin: 23
on_payload: "ON"
off_payload: "OFF"
initial: low
retain: true
digital_inputs:
- name: sensor24
module: raspberrypi
pin: 24 # GPIO
on_payload: "ON"
off_payload: "OFF"
inverted: true
pulldown: true
retain: true
- name: sensor25
module: raspberrypi
pin: 25 # GPIO
on_payload: "ON"
off_payload: "OFF"
inverted: true
pulldown: true
retain: true
Then my configuration.ymal
# MQTT Garage Door -----------------------------------------
switch:
- platform: mqtt
state_topic: "home/garage/output/switch23"
command_topic: "home/garage/output/switch23/set_on_ms"
availability:
- topic: "home/garage/status"
payload_available: "online"
payload_not_available: "offline"
object_id: "Garage Door"
unique_id: "garage_door"
payload_on: 1000
retain: true
icon: "mdi:garage"
binary_sensor:
- platform: mqtt
state_topic: "home/garage/input/sensor24"
availability:
- topic: "home/garage/status"
payload_available: "online"
payload_not_available: "offline"
object_id: "Close Sensor"
unique_id: "close_sensor"
icon: "mdi:garage"
- platform: mqtt
state_topic: "home/garage/input/sensor25"
availability:
- topic: "home/garage/status"
payload_available: "online"
payload_not_available: "offline"
object_id: "Open Sensor"
unique_id: "open_sensor"
icon: "mdi:garage-open"
cover:
- platform: template
covers:
garage_door:
device_class: garage
friendly_name: "Garage Door"
unique_id: "garage_cover"
value_template: "{{ states('sensor.garage_door_position') }}"
open_cover:
- condition: state
entity_id: binary_sensor.close_sensor
state: "off"
- service: switch.turn_on
target:
entity_id: switch.garage_door
close_cover:
- condition: state
entity_id: binary_sensor.close_sensor
state: "on"
- service: switch.turn_on
target:
entity_id: switch.garage_door
stop_cover:
- condition: state
entity_id: sensor.garage_door_position
state: "moving"
- service: switch.turn_on
target:
entity_id: switch.garage_door
icon_template: >-
{% if is_state('sensor.garage_door_position', 'open') %}
mdi:garage-open
{% elif is_state('sensor.garage_door_position', 'moving') %}
mdi:pan-vertical
{% elif is_state('sensor.garage_door_position', 'sensor error') %}
mdi:garage-alert
{% else %}
mdi:garage
{% endif %}
template:
- sensor:
- name: "Garage Door Position"
unique_id: "sensor.garage_door_position"
state: >
{% set open_on = is_state('binary_sensor.open_sensor', 'on') %}
{% set close_on = is_state('binary_sensor.close_sensor', 'on') %}
{% if not open_on and close_on %}
open
{% elif open_on and not close_on %}
closed
{% elif open_on and close_on %}
moving
{% else %}
sensor error
{% endif %}
# MQTT Garage Door End --------------------------------------------