Edit yaml through lovelace?

Sorry,
I’m not sure I understand, your wife wants to be able to edit when the blinds operate yes ?
Just times and open/closed or more at this time move to x then at this time move to y ? Or is it even at this sun elevation between these azimuth I want this blind to close and similar (but different) for the other blind(s)?
This is doable but fairly screen acreage consuming.
Here is an example of what I use to control my music speakers, but I have similar controls to set light level depending on sun elevation (or declination)
The you just build the cards with the appropriate entities and code up the actions to be dynamic on user input. She will throw you out when you get it finished though.

Finding the correct balance is not easy🤣

That’s a cool solution to the timer. Could be a very useful!

This card would give the control that’s needed.
Well I think the blinds should be timed in groups first. Controlling up/down would be individually.
Nice setup with your speakers.

Will dig into the timer setup more in the weekend and try to figure it out. Haha Maybe first I should create a card that guarantee me not being kicked out.
Thanks everybody! Will update here when I get something that’s gets approved.

In the meanwhile keep ideas rolling. We are many with these wife-obstacle problems🤭

Then you didn’t make it wife-friendly :sweat_smile:

To say at least.

I now made her so far to use the web interface where she can operate everything. She likes it so far. And everything works like it should be. Motion sensors door sensors, she even tries to think with me how we can make life more pleasant.

And to prevent she fucking up everything, i only gave her reading rights and with the custom compact header i hide everything she doesn’t need to have.

:rofl::rofl: and do not tts google speaker when wife has “own-time”… its HA suicide!

1 Like

I made google say sweet things every now and then. Just don’t overdo it and its oke. But yeah, whatever you do, don’t do it in the “wive-time” then you’re just plain FCKD

Sometimes it got me some nice surprises when i got home :wink:

1 Like

Per,
Thinking about this, I thought I’d throw in some things to consider : -

  1. Privacy, if you sleep in one morning you don’t want the blinds opening before you’ve gotten out of bed. I’d suggest open on switching off the light after you get dressed.
  2. Close the binds on room high temp, cuts down on solar gain.
  3. check on rooms where you can be ‘blinded’ (pun intended) by dazzle, I have a room where the sun reflects off a neighbours window onto my TV screen (only for 20mins/day but a different 20min each day, so it needs to be on sun azimuth)
  4. Timers are easy, do you want one of my speaker packages, I’ll post it when I get home
  5. Closing at night should be on a sun elevation, but also overridden at a specific time.
  6. you also need a manual override (toggle) , a button placed on a dresser maybe. For when you need privacy (getting changed when you spill soup everywhere (what else did you think I meant???))

Remember to share your efforts, it will help the next guy

Mutt

1 Like

I’ve done the same with input_boolean and input_datetime, and in addition, hidden/nested my configuration entities with the use of Thomas Loven’s popup-card

Now that would be really nice icing on the cake.
But how do you know which entities you will need when you go to it ?

Here is a sample switch package (just tweek the switch entities and make the other variables uses unique and you can copy this for each switch (or blind in your case).

input_boolean:
  ib_switch_a2_timer_enable:
    name: Timer Enable
    #initial: on
    icon: mdi:timer
  ib_switch_a2_timeslot1_enable:
    name: Time Slot 1 Enable
    #initial: on
    icon: mdi:clock-outline
  ib_switch_a2_timeslot2_enable:
    name: Time Slot 2 Enable
    #initial: on
    icon: mdi:clock-outline

input_number:
  in_switch_a2_timer:
    name: On Timer (mins)
    #initial: 30
    min: 1
    max: 360
    step: 1
    mode: box
    icon: mdi:alarm

input_datetime:
  id_switch_a2_tmeslt1_on:
    name: Time Slot 1 On Time
    has_time: true
    #initial: '09:00:00'
    icon: mdi:clock-start
  id_switch_a2_tmeslt1_off:
    name: Time Slot 1 Off Time
    has_time: true
    #initial: '10:00:00'
    icon: mdi:clock-end
  id_switch_a2_tmeslt2_on:
    name: Time Slot 2 On Time
    has_time: true
    #initial: '18:00:00'
    icon: mdi:clock-start
  id_switch_a2_tmeslt2_off:
    name: Time Slot 2 Off Time
    has_time: true
    #initial: '19:00:00'
    icon: mdi:clock-end
    
automation:
    #name: Switch A2 Off Delay
  - alias: au_switch_a2_offdelay
    trigger:
      - platform: state
        entity_id: switch.switch_aeon_labs_dsc06106_02
        to: 'on'
    condition:
      - condition: state
        entity_id: input_boolean.ib_switch_a2_timer_enable
        state: 'on'
    action:
      - service: script.turn_off
        entity_id: script.sc_switch_a2_timer
      - service: script.sc_switch_a2_timer
    #radio button (toggle) timer to time slot
  - alias: au_switch_a2_radiob_tmr_to_slot
    trigger:
      - platform: state
        entity_id: input_boolean.ib_switch_a2_timer_enable
        to: 'on'
    action:
      - service: input_boolean.turn_off
        entity_id: input_boolean.ib_switch_a2_timeslot1_enable
    #radio button (toggle) time slot to timer
  - alias: au_switch_a2_radiob_slot_to_tmr
    trigger:
      - platform: state
        entity_id: input_boolean.ib_switch_a2_timeslot1_enable
        to: 'on'
    action:
      - service: input_boolean.turn_off
        entity_id: input_boolean.ib_switch_a2_timer_enable
    #turning off timer enable cancels timer
  - alias: au_switch_a2_cancel_tmr
    trigger:
      - platform: state
        entity_id: input_boolean.ib_switch_a2_timer_enable
        to: 'off'
    action:
      - service: script.turn_off
        entity_id: script.sc_switch_a2_timer
    #time slot 1 on
  - alias: au_switch_a2_ontime1
    trigger:
      - platform: template
        value_template: '{{ states("sensor.time") == states("input_datetime.id_switch_a2_tmeslt1_on") [0:5] }}'
    condition:
      - condition: state
        entity_id: input_boolean.ib_switch_a2_timeslot1_enable
        state: 'on'
    action:
      - service: switch.turn_on
        entity_id: switch.switch_aeon_labs_dsc06106_02
    #time slot 1 off
  - alias: au_switch_a2_offtime1
    trigger:
      - platform: template
        value_template: '{{ states("sensor.time") == states("input_datetime.id_switch_a2_tmeslt1_off") [0:5] }}'
    condition:
      - condition: state
        entity_id: input_boolean.ib_switch_a2_timeslot1_enable
        state: 'on'
    action:
      - service: switch.turn_off
        entity_id: switch.switch_aeon_labs_dsc06106_02
    #time slot 2 on
  - alias: au_switch_a2_ontime2
    trigger:
      - platform: template
        value_template: '{{ states("sensor.time") == states("input_datetime.id_switch_a2_tmeslt2_on") [0:5] }}'
    condition:
      - condition: state
        entity_id: input_boolean.ib_switch_a2_timeslot2_enable
        state: 'on'
    action:
      - service: switch.turn_on
        entity_id: switch.switch_aeon_labs_dsc06106_02
    #time slot 2 off
  - alias: au_switch_a2_offtime2
    trigger:
      - platform: template
        value_template: '{{ states("sensor.time") == states("input_datetime.id_switch_a2_tmeslt2_off") [0:5] }}'
    condition:
      - condition: state
        entity_id: input_boolean.ib_switch_a2_timeslot2_enable
        state: 'on'
    action:
      - service: switch.turn_off
        entity_id: switch.switch_aeon_labs_dsc06106_02
    #name: Switch A2 Off Cancels Timer
  - alias: au_switch_a2_offcancelstimer
    trigger:
      - platform: state
        entity_id: switch.switch_aeon_labs_dsc06106_02
        to: 'off'
    action:
      - service: script.turn_off
        entity_id: script.sc_switch_a2_timer

script:
  sc_switch_a2_timer:
    alias: Switch A2 Timer Script
    sequence:
    - delay: '00:{{ states("input_number.in_switch_a2_timer") | int }}:00'
    - service: switch.turn_off
      entity_id: switch.switch_aeon_labs_dsc06106_02

Note: No ‘Initial’ values so that they will retain current settings through reboots if you find settings you like.

And here is the lovelace yaml that goes with it

      - type: entities
        title: Switch A2 - Unallocated
        show_header_toggle: false
        entities:
        - entity: switch.switch_aeon_labs_dsc06106_02
        - entity: input_boolean.ib_switch_a2_timer_enable
        - entity: input_number.in_switch_a2_timer
        - entity: input_boolean.ib_switch_a2_timeslot1_enable
        - entity: input_datetime.id_switch_a2_tmeslt1_on
        - entity: input_datetime.id_switch_a2_tmeslt1_off
        - entity: input_boolean.ib_switch_a2_timeslot2_enable
        - entity: input_datetime.id_switch_a2_tmeslt2_on
        - entity: input_datetime.id_switch_a2_tmeslt2_off

1 Like

Thanks! This is really nice of you! I will take a closer look in the weekend. Took a look at the image-element card and I will try to implement this as well. Pedagogical design is very important I was told by the mrs😡
At least know I got some intelligence into our fans turning on max inflow when temp is lower outside than inside and outflow when temp inside is higher than outside. That was a good thing🤣

Sorry, in this context I’m assuming that you are the student and she is the master ???
What does she do for a living ?

She’s an airline captain and the meaning refers to that the HA design should be self teaching in itself aka no programming. I am doing my best but I have doubt about my capacity to perform to an acceptable standard regarding the requirements. :rofl: I may pull it off but may not live to enjoy it myself :ghost:

Join the club … You will often see a WAF acronym used here … Wife Approval Factor (yet to atain it myself)

‘Self teaching’ usually requires more lables, entities grouped together where they are used together (even if it means repeating entities for other groupings) all this consume screen space … !
Good Luck with that ; - )))))

WAF… I love it🤣

Its always funny to read that we need the WAF here. We men think we wear the pants at home, but the wifes always wear the big pants

Amen to that.

Sounds like the solution is a new wife.

Nah, THAT sounds like a VERY expensive course of action …