I’ve got Soma Smart Shades 2 on 6 windows, and half of them are a bit problematic in colder months where they just stop. If I request to open them again, they’ll complete opening on the 2nd try.
I’m trying to come up with an automation to automatically check if they’re open and if not, open them, but I’ve found that sometimes when they’re delayed on closing, they’ll start opening again. What’s the best to create an automation to look if there was a recent OPEN request or action within X amount of time?
The one I created so far was looking for the state change to OPEN, but when the condition is that they’re not at 100% within a few minutes, to go ahead and re-send the open command. And I attempted to create a condition for CLOSED as well, but I found this caused a loop where they kept reopening, so I’ve disabled the closed part of it for now.
Here’s my attempt. I think what I really need is to find a way to trigger it from the request to open them, not the state itself, but I’m not quite sure what would give me that information as a trigger. Any pointers?
alias: Auto - Living Room Shades OPEN check
description: ""
trigger:
- platform: state
entity_id:
- cover.living_room_shades
for:
hours: 0
minutes: 2
seconds: 0
to: open
condition: []
action:
- choose:
- conditions:
- condition: state
entity_id: cover.living_room_shades
state: open
- condition: not
conditions:
- condition: state
entity_id: cover.living_room_shades
attribute: current_position
state: "100"
sequence:
- service: cover.open_cover
data: {}
target:
entity_id: cover.living_room_shades
- conditions:
- condition: state
entity_id: cover.living_room_shades
state: closed
enabled: false
- condition: not
conditions:
- condition: state
entity_id: cover.living_room_shades
state: "0"
enabled: false
sequence:
- service: cover.close_cover
data: {}
target:
entity_id: cover.living_room_shades
enabled: false
mode: single