###################################
## Lightning is no Joke around here.
# @CCOSTAN
# Original Repo : https://github.com/CCOSTAN/Home-AssistantConfig
# https://github.com/CCOSTAN/Home-AssistantConfig/issues/392
# https://www.vcloudinfo.com/2020/08/adding-a-lightning-sensor-to-home-assistant.html
###################################
input_boolean:
  snooze_lightning:
    name: Snooze Lightning
    initial: off
    icon: mdi:weather-lightning

automation:

  - alias: Snooze Lightning
    id: 1f295bb8-8925-4b22-8f75-9l1ghtn1nga8
    trigger:
      platform: event
      event_type: mobile_app_notification_action
      event_data:
        action: SNOOZE_LIGHTNING
    action:
      - service: input_boolean.turn_on
        entity_id: input_boolean.snooze_lightning

  - alias: 'Lightning Notification'
    id: 6e054688-5e75-48bd-9411-52a3e26264d1
    mode: single
    trigger:
      - platform: state
        entity_id: sensor.blitzortung_lightning_counter

    condition:
      - condition: state
        entity_id: group.family
        state: 'home'
      - condition: numeric_state
        entity_id: sensor.blitzortung_lightning_counter
        above: 0
      - condition: state
        entity_id: input_boolean.snooze_lightning
        state: 'off'

    action:
      - service: script.notify_engine_two_button
        data:
          title: 'Lightning Warning!'
          value1: "Lightning has been detected within {{(states('sensor.blitzortung_lightning_distance') | int / 1.609) | round (1, 'floor')}} Miles of our home.  Be careful if outdoors."
          title1: 'Snooze Alerts until tomorrow'
          action1: 'SNOOZE_LIGHTNING'
          icon1: 'sfsymbols:arrow.up.circle'
          who: "Family"
          group: 'Information'

      - service: script.speech_engine
        data:
          value1: "Lightning has been detected within {{(states('sensor.blitzortung_lightning_distance') | int / 1.609) | round (1, 'floor')}} Miles of our home.  Please make sure everyone is inside the house."
          call_window_check: 1
          call_garage_check: 1
          
      - delay:
              minutes: 60