bdunn44 / hass-jellyfish-lighting

A Jellyfish Lighting integration for Home Assistant
MIT License
8 stars 0 forks source link

Calendar/Schedule access #28

Open 6t9camaro opened 4 days ago

6t9camaro commented 4 days ago

Any possibility of adding the ability to add items to the JF Schedule?

Would love the ability to easily add schedule events to the calendar, using Home Assistant and a calendar interface. This would make it much easier to schedule things such as 'Sporting Event" lighting, since there are other Add-ins that provide dates/times for those events. This could also open up the possibility to do things like "October 1-31" randomize all of the JF lighting schemes that have Halloween in their name and add them to the schedule.

usingapc commented 4 days ago

I use the built in calendar function in home assistant for this function. It is significantly easier than messing with the calendar in JF imo.

On Tue, Oct 15, 2024 at 5:29 AM 6t9camaro @.***> wrote:

Any possibility of adding the ability to add items to the JF Schedule?

Would love the ability to easily add schedule events to the calendar, using Home Assistant and a calendar interface. This would make it much easier to schedule things such as 'Sporting Event" lighting, since there are other Add-ins that provide dates/times for those events. This could also open up the possibility to do things like "October 1-31" randomize all of the JF lighting schemes that have Halloween in their name and add them to the schedule.

— Reply to this email directly, view it on GitHub https://github.com/bdunn44/hass-jellyfish-lighting/issues/28, or unsubscribe https://github.com/notifications/unsubscribe-auth/AVQ2DNF3USRTGRQUFWBVL53Z3T4BNAVCNFSM6AAAAABP65UJWCVHI2DSMVQWIX3LMV43ASLTON2WKOZSGU4DQNBXHA3TAOI . You are receiving this because you are subscribed to this thread.Message ID: @.***>

6t9camaro commented 3 days ago

@usingapc Can you explain how? I'm not seeing a way to do this....

usingapc commented 3 days ago

You can add a Local Calendar as an integration. In the calendar I created all day events on days when I want a specific effect to run.

Then I created an Automation that uses If/Then building blocks to check the calendar for an all day event and run the corresponding effects. If no event is in the calendar, it does my normal night effects that I created. Here is the YAML for my Automation to turn them on(I use a separate automation to turn them off):

alias: Front House Night Lights On
description: ""
mode: single
triggers:
  - event: sunset
    offset: "-00:10:00"
    trigger: sun
  - entity_id:
      - light.front_yard_can_lights
    to: "on"
    trigger: state
conditions: []
actions:
  - if:
      - condition: state
        entity_id: calendar.jellyfish_lighting
        state: "off"
    then:
      - data: {}
        target:
          entity_id: input_boolean.jellyfish_lighting_normal_accent_switch
        action: homeassistant.turn_on
  - if:
      - condition: and
        conditions:
          - condition: state
            entity_id: calendar.jellyfish_lighting
            state: "on"
          - condition: state
            entity_id: calendar.jellyfish_lighting
            attribute: message
            state: Easter
    then:
      - data:
          effect: Spring/Easter Two
        target:
          entity_id: light.jellyfish_lighting_all_zones
        action: light.turn_on
    enabled: true
  - if:
      - condition: and
        conditions:
          - condition: state
            entity_id: calendar.jellyfish_lighting
            state: "on"
          - condition: state
            entity_id: calendar.jellyfish_lighting
            attribute: message
            state: MemorialDay
    then:
      - data:
          effect: Holidays/Independence Paint
        target:
          entity_id: light.jellyfish_lighting_all_zones
        action: light.turn_on
    enabled: true
  - if:
      - condition: and
        conditions:
          - condition: state
            entity_id: calendar.jellyfish_lighting
            state: "on"
          - condition: state
            entity_id: calendar.jellyfish_lighting
            attribute: message
            state: IndependenceDay
    then:
      - data:
          effect: Holidays/Independence Paint
        target:
          entity_id: light.jellyfish_lighting_all_zones
        action: light.turn_on
    enabled: true
  - if:
      - condition: and
        conditions:
          - condition: state
            entity_id: calendar.jellyfish_lighting
            state: "on"
          - condition: state
            entity_id: calendar.jellyfish_lighting
            attribute: message
            state: Halloween
    then:
      - data: {}
        target:
          entity_id: script.jellyfish_lighting_halloween
        action: homeassistant.turn_on
    enabled: true
  - if:
      - condition: and
        conditions:
          - condition: state
            entity_id: calendar.jellyfish_lighting
            state: "on"
          - condition: state
            entity_id: calendar.jellyfish_lighting
            attribute: message
            state: Thanksgiving
    then:
      - data:
          effect: Holidays/Thanksgiving
        target:
          entity_id: light.jellyfish_lighting_all_zones
        action: light.turn_on
    enabled: true
  - if:
      - condition: and
        conditions:
          - condition: state
            entity_id: calendar.jellyfish_lighting
            state: "on"
          - condition: state
            entity_id: calendar.jellyfish_lighting
            attribute: message
            state: Christmas1
    then:
      - data: {}
        target:
          entity_id: script.jellyfish_lighting_christmas_scene_1
        action: homeassistant.turn_on
    enabled: true
  - if:
      - condition: and
        conditions:
          - condition: state
            entity_id: calendar.jellyfish_lighting
            state: "on"
          - condition: state
            entity_id: calendar.jellyfish_lighting
            attribute: message
            state: Christmas2
    then:
      - data: {}
        target:
          entity_id: script.jellyfish_lighting_christmas_scene_2
        action: homeassistant.turn_on
    enabled: true
  - if:
      - condition: and
        conditions:
          - condition: state
            entity_id: calendar.jellyfish_lighting
            state: "on"
          - condition: state
            entity_id: calendar.jellyfish_lighting
            attribute: message
            state: Christmas3
    then:
      - data: {}
        target:
          entity_id: script.jellyfish_lighting_christmas_scene_3
        action: homeassistant.turn_on
    enabled: true
  - if:
      - condition: and
        conditions:
          - condition: state
            entity_id: calendar.jellyfish_lighting
            state: "on"
          - condition: state
            entity_id: calendar.jellyfish_lighting
            attribute: message
            state: Christmas4
    then:
      - data: {}
        target:
          entity_id: script.jellyfish_lighting_christmas_scene_4
        action: homeassistant.turn_on
    enabled: true
  - if:
      - condition: and
        conditions:
          - condition: state
            entity_id: calendar.jellyfish_lighting
            state: "on"
          - condition: state
            entity_id: calendar.jellyfish_lighting
            attribute: message
            state: Christmas5
    then:
      - data: {}
        target:
          entity_id: script.jellyfish_lighting_christmas_scene_5
        action: homeassistant.turn_on
    enabled: true
  - if:
      - condition: and
        conditions:
          - condition: state
            entity_id: calendar.jellyfish_lighting
            state: "on"
          - condition: state
            entity_id: calendar.jellyfish_lighting
            attribute: message
            state: Christmas6
    then:
      - data: {}
        target:
          entity_id: script.jellyfish_lighting_christmas_scene_6
        action: homeassistant.turn_on
    enabled: true
  - if:
      - condition: and
        conditions:
          - condition: state
            entity_id: calendar.jellyfish_lighting
            state: "on"
          - condition: state
            entity_id: calendar.jellyfish_lighting
            attribute: message
            state: Christmas7
    then:
      - data: {}
        target:
          entity_id: script.jellyfish_lighting_christmas_scene_7
        action: homeassistant.turn_on
    enabled: true
    else: []
  - if:
      - condition: and
        conditions:
          - condition: state
            entity_id: calendar.jellyfish_lighting
            state: "on"
          - condition: state
            entity_id: calendar.jellyfish_lighting
            attribute: message
            state: Christmas8
    then:
      - data: {}
        target:
          entity_id: script.jellyfish_lighting_christmas_scene_8
        action: homeassistant.turn_on
    enabled: true
    else: []
  - data:
      kelvin: 4032
      brightness_pct: 80
    target:
      entity_id: light.front_yard_can_lights
    action: light.turn_on
  - data:
      brightness_pct: 80
      kelvin: 6050
    target:
      entity_id: light.front_yard
    enabled: false
    action: light.turn_on
6t9camaro commented 3 days ago

Awesome info! Thank you, I'll give it a go this evening!

bdunn44 commented 3 days ago

For what it's worth I do something very similar for my light automatons but instead of the HA calendar I have the events set up in Google calendar because that's what the family uses. There's a nice Google calendar integration that syncs the calendars with HA

6t9camaro commented 3 days ago

Thank you both!