I am not sure how to express it correctly since English is not my mother tongue but bear with me.
I really like the app and I 've followed the beta versions also.
I am also using it quite a lot, but there is one small “issue” (not a bug) for me.
When I come back from work I use my iphone which is attached magnetically to the dashboard of my car. I use a large button in HA to open the garage door. Many times I press the button but there is no immediate way to know if the button was actually pressed since I am not holding the iphone in my hand to be able to feel the haptic reaction.
Is there a way to make the button “flash” upon pressing it so that to quickly know that I don’t need to press it again?
You could try something like that with button-card:
Scroll down to “Changing the feedback color during a click”
Thank you for trying to help. I have tried it.
Although it works on my pc, it doesn’t seem to work in the IOS Companion App. When I press the button on my iPhone I cannot see the effect.
What type of entity is it? You could have it change colour while ‘on’.
For example, if it’s a script, add a delay to the script of a few seconds. Then have the button change colour while the script is ‘on’.
The entity is cover.garage_door
The icon changes color as soon as the relevant sensor detects garage door actually open (It can take up to 10 seconds).
The “problem” is local using the app. As I said in the initial post, when using button entities there in no way (locally) to know that the button was actually pressed (other than the haptic feedback)
Just to check my understanding:
You have your phone in your car with HA ios App open while driving. There is a large button on the lovelace dashboard. (what type? i.e. is it custom:button_card or an entity card?). The button is linked to cover.garage_door. Pressing it opens the garage door.
If all that is correct, why not have a script (or some other entity) which calls the cover_open service. Like:
open_garage_door:
sequence:
- service: cover.open_cover
entity_id: cover.garage_door
- delay:
seconds: 3
That way, you can see the script turn on, you know the script is calling the open_cover service, so you know it worked.
Here is my code:
cards:
- entity: climate.lv_room
name: Thermostat
tap_action:
action: more-info
type: entity-button
- entity: cover.garage_door
tap_action:
action: toggle
type: entity-button
- entity: switch.wifi
name: WiFi
tap_action:
action: toggle
type: entity-button
type: horizontal-stack
cover:
- platform: mqtt
device_class: garage
name: "Garage Door"
command_topic: "garagedoor_ha/1/target/set"
state_topic: "garagedoor_ha/1/current/get"
qos: 0
retain: false
payload_open: "OPEN"
payload_close: "CLOSED"
payload_stop: "STOPPED"
state_open: "OPEN"
state_closed: "CLOSED"
optimistic: false
Ok. I’m not familiar with entity-button type of card and quick google isn’t showing that exact one. Does it allow you to change colour based on state?
If not, try use a different card. All most all of mine are button-card ones as it’s completely customisable in look and function. (https://github.com/custom-cards/button-card).
Basic version of that would be:
cards:
- type: 'custom:button-card'
entity: cover.garage_door (or script.garage_door if cover doesn't work)
tap_action:
action: toggle
state:
- color: red
value: 'on'
icon: 'mdi:garage-open-variant'
- color: blue
value: 'off'
icon: 'mdi:garage-variant'
Thank you for trying to help. The problem is not the changing of color or the changing of the icon. When the garage door actually opens the icon reflects that. Actually the garage door and the relevant sensor operate perfectly. No complain with that.
The problem is before getting to that. There is no way of knowing (except for the haptic response) that the button was pressed (on the iphone). There is no optical confirmation for that (flashing effect).
That’s why I’m suggesting making a script or automation which opens the cover and using that as the button. Again, I don’t know what button-entity card looks like. If it changes colour when an entity is on, use that with an automation or script entity. It may be that the app screen isn’t refreshing quickly enough for a short script to show as on. In that case, use input_boolean and an automation instead. Something like
input_boolean:
garage_door_is_opening:
automation:
- alias: Garage Door Is Opening
trigger:
- platform: state
entity_id: input_boolean.garage_door_is_opening
to: 'on'
condition:
- condition: state
entity_id: cover.garage_door
state: off / closed state??
action:
- service: cover.open_cover
entity_id: cover.garage_door
- alias: Garage Door Has Opened
trigger:
- platform: state
entity_id: cover.garage_door
to: 'on' / open state ??
condition:
- condition: state
entity_id: input_boolean.garage_door_is_opening
state: 'on'
action:
- service: input_boolean.turn_off
entity_id: input_boolean.garage_door_is_opening
cards:
- entity: input_boolean.garage_door_is_opening
tap_action:
action: toggle
type: entity-button
## OR if entity-button doesn't show state/colour based on state
- type: 'custom:button-card'
entity: input_boolean.garage_door_is_opening
tap_action:
action: toggle
state:
- type: 'custom:button-card'
entity: input_boolean.garage_door_is_opening
tap_action:
action: toggle
state:
- value: "on"
color: red
icon: mdi:garage-variant
styles:
card:
- animation: blink 2s ease infinite
- operator: default
color: green
icon: mdi:garage-open-variant
Using this would mean that when you press the button on the app, it would turn on the input_boolean which would trigger the door to open. And the card should change colour/icon/text to show that the input_boolean is on. That way, you would know pressing the button worked.
Also, using the custom:button-card above, would literally have the card blink while the input_boolean is on / garage door is opening.
I see what you mean know. Lots of useful info. Thank you for your idea. That should probably work but I think it is a little too complicated for me (I will give it a try when I have a little free time).
I think a “flashing” pressed button which normally is created by css, should normally be the default behavior of the companion app. Weird though, because it is already implemented when you press buttons of the top menu items.
Another idea: you could have HA send you a push notification when you pressed the button, just change the action to a script execution and have the gate opening and the push notification inside the script.
Overkill man. I already have a push notification to alert me when the garage door is opened. Thanks anyway.
Just to inform everybody watching. Issue solved by IOS14.