Wow that was exactly it … Wild goose chase for that …
For my edification, why does the all caps work but not the lower case? Is that a product of how the opengarage coding functions specifically?
Wow that was exactly it … Wild goose chase for that …
For my edification, why does the all caps work but not the lower case? Is that a product of how the opengarage coding functions specifically?
I’m having trouble understanding how the mqtt cover device works, but the up, down, stop buttons on the cover entity are payload_open, close and stop? Is it possible to send a payload command as a tap_action?
For example, if I am displaying the status of the garage door as a glance card, is it possible to use a tap_action to send the “up” command?
It is a product of how computers work (except some parts of windows like important things such as command and file names.)
You wouldn’t by chance be able to point me in the direction of how I would utilize this template for two OpenGarage units, would you? I’ve been trying to create a second .yaml
file in the Packages
folder, changing up some of the names, but there are apparently duplicate entity names being created somewhere and I’m not sure where / how. The error I keep seeing in the log is:
This entity ("sensor.garage_vehicle_state") does not have a unique ID, therefore its settings cannot be managed from the UI
That is not an error.
I’d think you would change the MQTT topic for the second unit, use a unique name different from that of the first unit. That, plus changing the names for the second unit in the package yaml file should do it.
The warning you’re seeing is, I think, HA telling you, “This device you’re trying to manage didn’t come from a built-in integration which would usually give each device/entity a unique ID, and allow you to manage certain aspects of it from the UI. As a result, you need to manage it in yaml instead.”
sorry guys, there are a lot of posts =) Can someone help me to set up OpenGarage in HA with video in the same section? I have done it in separate sections, but would like to see the overview, like a button, then I press it and it gives me new screen with video, open/close buttons etc (if its possible). Somethin like in the 6ths post
Based on my experience I can recommend the following ESPHome config that uses the OG hardware and pin layout.
Very fast response and rock solid.
He had the code in several files. I consolidated the files into a single esphome yaml file to suit my needs.
#https://github.com/gabe565/esphome-configs/blob/c3d0aa4e88b63ea05b97cdc2309f7d69b0b36738/opengarage/packages/opengarage.yaml
substitutions:
# For Home Assistant entity_id, hostname, etc.
device_id: garage_door
# Pretty name to show for entities in Home Assistant
device_name: Garage Door
# entity_id of the vehicle in Home Assistant
vehicle_id: car
# Pretty name of the vehicle in Home Assistant
vehicle_name: Car in Garage
# Length of time that the relay should stay active.
# Some garage doors need the relay to stay active for longer.
# Longer values can slow down when button presses respond.
# For example, if you open the door, then quickly try to stop/close it,
relay_click_time: 500ms
# Height at which the door is considered open.
# Should be slightly larger than the distance from the ceiling to the door.
# Must be lower than the car threshold.
# Entered in cm.
door_threshold: '72'
# Height at which the car is considered to be home.
# Should be slightly larger than the distance from the ceiling to the top of the car.
# Must be higher than the door threshold.
# Entered in cm.
car_threshold: '175'
# Length of time time between distance sensor updates.
# Lower values will detect changes more quickly, but could result in increased noise.
distance_update_interval: 500ms
# Length of time to leave the pulse pin active
distance_pulse_time: 20us
# SR04 sensors can be noisy. The median is taken to prevent noisy data.
# Higher values will slow down the distance sensor's responsiveness,
# but will result in more consistent data.
# See https://esphome.io/components/sensor/index.html#median
distance_median_window_size: '31'
# When the first value should be sent. Must be lower than the distance_median_window_size.
distance_median_send_first_at: '5'
# Sound the alarm on open/close
# RTTL format references:
# - https://esphome.io/components/rtttl.html?highlight=rtttl#common-beeps
# - https://en.wikipedia.org/wiki/Ring_Tone_Transfer_Language
open_alarm: 'false'
open_alarm_rtttl: 'two_short:d=4,o=6,b=100:c,p,c'
# open_alarm_rtttl: 'long:d=1,o=6,b=100:c'
# open_alarm_rtttl: 'open_pulse:d=16,o=5,b=100:c,c6,p.,c,c6,p.,c,c6,p.'
# open_alarm_rtttl: 'open_slide:d=128,o=5,b=100:c,d,e,g,4c6.,4p,c,d,e,g,4c6.,4p'
close_alarm: 'false'
close_alarm_rtttl: 'two_short:d=4,o=5,b=100:c,p,c'
# close_alarm_rtttl: 'long:d=1,o=5,b=100:c'
# close_alarm_rtttl: 'close_pulse:d=16,o=5,b=100:c6,c,p.,c6,c,p.,c6,c,p.'
# close_alarm_rtttl: 'close_slide:d=128,o=5,b=100:c6,g,e,d,4c.,4p,c6,g,e,d,4c.,4p'
esphome:
name: opengarage
platform: ESP8266
board: esp01_1m
wifi:
ssid: 'your-ssid'
password: 'yoursupersecretpassword'
manual_ip:
static_ip: x.x.x.x #device ip
gateway: x.x.x.x #gateway ip
subnet: 255.255.255.0
dns1: 8.8.8.8
dns2: 8.8.4.4
# Enable fallback hotspot (captive portal) in case wifi connection fails
ap:
ssid: "OpenGarage Hotspot"
password: "yourfallbackhotspotpassword"
captive_portal:
logger:
level: error
ota:
# password:
binary_sensor:
- platform: status
name: $device_name Status
- platform: gpio
pin:
number: GPIO0
mode: INPUT_PULLUP
id: physical_button
on_press:
- switch.turn_on: relay
- platform: status
name: $device_name Status
- platform: template
name: $vehicle_name
device_class: presence
lambda: |-
if ($car_threshold < id(distance).state) {
return false;
}
if ($door_threshold < id(distance).state) {
return true;
}
return {};
on_state:
- then:
- homeassistant.service:
service: device_tracker.see
data:
dev_id: $vehicle_id
host_name: $vehicle_name
data_template:
location_name: '{{ location_name }}'
variables:
location_name: 'return x ? "home" : "not_home";'
cover:
- platform: template
name: $device_name
id: garage_door_cover
device_class: garage
lambda: 'return id(distance).state < $door_threshold ? COVER_OPEN : COVER_CLOSED;'
open_action:
- if:
condition:
lambda: 'return id(garage_door_cover).position == COVER_CLOSED;'
then:
- if:
condition:
lambda: 'return $open_alarm;'
then:
- rtttl.play:
rtttl: $open_alarm_rtttl
- wait_until:
not: rtttl.is_playing
- switch.turn_on: relay
close_action:
- if:
condition:
lambda: 'return id(garage_door_cover).position == COVER_OPEN;'
then:
- if:
condition:
lambda: 'return $close_alarm;'
then:
- rtttl.play:
rtttl: $close_alarm_rtttl
- wait_until:
not: rtttl.is_playing
- switch.turn_on: relay
sensor:
- platform: ultrasonic
trigger_pin: GPIO12
echo_pin: GPIO14
name: $device_name Distance
id: distance
update_interval: $distance_update_interval
unit_of_measurement: cm
pulse_time: $distance_pulse_time
timeout: 3m
filters:
# Sets the value to the max if the sensor times out
- lambda: 'return isnan(x) ? 3 : x;'
# Take median of the last 5 values
- median:
window_size: $distance_median_window_size
send_first_at: $distance_median_send_first_at
# Convert m to cm
- multiply: 100
- delta: 1
- platform: wifi_signal
name: $device_name RSSI
update_interval: 5min
filters:
- median:
window_size: 5
status_led:
pin:
number: GPIO2
inverted: true
switch:
- platform: gpio
pin: GPIO15
id: relay
restore_mode: ALWAYS_OFF
on_turn_on:
# Only pulse on for $relay_click_time
- delay: $relay_click_time
- switch.turn_off: relay
output:
- platform: esp8266_pwm
pin: GPIO13
id: buzzer_pwm
rtttl:
output: buzzer_pwm
api:
services:
- service: play_rtttl
variables:
song_str: string
then:
- rtttl.play:
rtttl: !lambda 'return song_str;'
EDIT - updated to quote the question directed to the immediate post before this. Not sure why clicking “reply” on that particular post didn’t link properly.
@born2fly Does configuring OG with your recommended ESPHome config help with the timeout issues I get using the latest OG official firmware and configs? e.g. here’s an example of what I regularly see in my logs and it seems like this has gotten worse since OG became a native HA integration.
Logger: homeassistant.components.opengarage
Source: helpers/update_coordinator.py:193
Integration: OpenGarage (documentation, issues)
First occurred: February 1, 2022, 23:00:14 (10 occurrences)
Last logged: 07:10:48
Timeout fetching opengarage data```
Does what help? (There are 264 previous posts in this thread, and we don’t know who you are responding to.)
I had issues with the way HA was interacting with OG, it kept freezing mine every day or two. If the polling stopped, the freezing stopped. I went to MQTT and just had the OG push their states to HA via that.
I recall there were threads using OG hardware but loads ESPHome. Would that be an option?
Probably, its just and ESP chip. Never looked into it myself as the mqtt worked fine.
It works. Whether it is an option depends on what you want to do.
I deployed mine as MQTT to begin with and have not had any issues…
Hi, I’m hoping to make one of these. I see the original plan calls for a NodeMcu V2 and others have used V3. Is it still recommended to use V2 or is the V3 a better choice now?
It has been working flawlessly for me using the ESPHOME config.
As long as the pinouts are identical it should make no difference.