###################################
## 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

ios:
  push:
    categories:
      - name: Lightning
        identifier: 'LIGHTNING'
        actions:
          - identifier: 'SNOOZE_LIGHTNING'
            title: 'Snooze Alerts until tomorrow'
            activationMode: 'background'
            authenticationRequired: no
            destructive: no

automation:

  - alias: Snooze Lightning
    id: 1f295bb8-8925-4b22-8f75-9l1ghtn1nga8
    trigger:
      platform: event
      event_type: ios.notification_action_fired
      event_data:
        actionName: 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
        data:
          title: 'Lightning Warning!'
          value1: "Lightning has been detected within {{(states('sensor.blitzortung_lightning_distance') | int / 1.69) | round (1, 'floor')}} Miles of our home.  Be careful if outdoors."
          ios_category: "LIGHTNING"
          who: 'family'
          apns_id: 'Alert'

      - service: script.speech_engine
        data:
          value1: "Lightning has been detected within {{(states('sensor.blitzortung_lightning_distance') | int / 1.69) | 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: 20

      - service: script.tweet_engine_image
        data:
          tweet: >
            {{ [
            "{{ states('sensor.blitzortung_lightning_counter') }} lightning strike(s) have been detected within {{(states('sensor.blitzortung_lightning_distance') | int / 1.69) | round (1, 'floor')}} Miles of our home.",
            "{{ states('sensor.blitzortung_lightning_counter') }} lightning strike(s) have been recorded {{(states('sensor.blitzortung_lightning_distance') | int / 1.69) | round (1, 'floor')}} miles by the house.",
            "Yikes! {{ states('sensor.blitzortung_lightning_counter') }} lightning strike(s) were way too close; ({{(states('sensor.blitzortung_lightning_distance') | int / 1.69) | round (1, 'floor')}} miles too close in fact).  Time to get everyone inside."
            ] | random +
            [
            " (https://github.com/CCOSTAN/Home-AssistantConfig/issues/392)",
            " Adding a Lightning Sensor to Home Assistant (https://www.vcloudinfo.com/2020/08/adding-a-lightning-sensor-to-home-assistant.html)",
            ] | random }}
          image: >-
            {{ [
            "/config/www/custom_ui/floorplan/images/youtube/episodes/LightningSensor.png",
            "/config/www/custom_ui/floorplan/images/branding/lightning_1.png",
            "/config/www/custom_ui/floorplan/images/branding/lightning_2.png",
            "/config/www/custom_ui/floorplan/images/branding/lightning_3.png"
            ] | random }}

      - delay:
              minutes: 20