Skip to content

ncecowboy/nwrodeo

Repository files navigation

Pacific NW Rodeo Events - Home Assistant Integration

A Home Assistant custom component that automatically scrapes rodeo event information from multiple websites, filters for Pacific Northwest events (Washington, Oregon, Idaho), and adds them to your Google Calendar via Home Assistant's Google Calendar integration.

Features

  • 🌐 Multi-source scraping: ProRodeo.com, NPRARodeo.com, CCTBullRiding.com
  • 🗺️ Smart filtering: Events in WA/OR/ID + finals/championship events from anywhere
  • 📅 Google Calendar integration: Uses Home Assistant's Google Calendar integration
  • 🔄 Automatic updates: Configurable polling interval
  • 📊 Sensors: Event count and next event sensors
  • ⚙️ Easy configuration: UI-based setup

Requirements

Installation

HACS (Recommended)

  1. Open HACS in Home Assistant
  2. Click on "Integrations"
  3. Click the three dots in the top right corner
  4. Select "Custom repositories"
  5. Add this repository URL: https://github.com/ncecowboy/nwrodeo
  6. Select category "Integration"
  7. Click "Add"
  8. Search for "Pacific NW Rodeo Events" and install
  9. Restart Home Assistant

Manual Installation

  1. Download the custom_components/nwrodeo folder from this repository
  2. Copy it to your Home Assistant's custom_components directory
    • If the custom_components directory doesn't exist, create it in the same directory as your configuration.yaml
  3. Restart Home Assistant

Setup

Prerequisites

  1. Configure Google Calendar integration in Home Assistant first:

    • Follow the official guide
    • Create a dedicated calendar in Google Calendar for rodeo events (recommended)
    • Wait for it to sync to Home Assistant
  2. Add Pacific NW Rodeo Events integration:

    • Go to SettingsDevices & Services
    • Click + Add Integration
    • Search for Pacific NW Rodeo Events
  3. Configure the integration:

    • Google Calendar Entity (optional): Select your calendar (e.g., calendar.rodeo_events)
    • Target States: Choose WA, OR, and/or ID
    • Event Sources: Select which websites to scrape
    • Update Interval: How often to check (hours, default: 24)

Usage

Sensors

The integration provides two sensors:

Event Count Sensor

  • Entity: sensor.pacific_nw_rodeo_events_count
  • State: Number of upcoming rodeo events
  • Attributes:
    • upcoming_events: List of next 5 events with full details
    • total_events: Total count
    • last_update: Last update timestamp

Next Event Sensor

  • Entity: sensor.next_pacific_nw_rodeo_event
  • State: Title of next upcoming event
  • Attributes:
    • title, date, location, city, state
    • description, source, url

Example Lovelace Card

Display upcoming events in a markdown card:

type: markdown
content: |
  ## Upcoming Rodeo Events
  
  {% for event in state_attr('sensor.pacific_nw_rodeo_events_count', 'upcoming_events') %}
  **{{ event.title }}**
  - Date: {{ event.date }}
  - Location: {{ event.city }}, {{ event.state }}
  - [More Info]({{ event.url }})
  ---
  {% endfor %}
title: Pacific NW Rodeos

Example Automation

Get notified when new events are found:

automation:
  - alias: "Notify New Rodeo Events"
    trigger:
      - platform: state
        entity_id: sensor.pacific_nw_rodeo_events_count
    condition:
      - condition: template
        value_template: "{{ trigger.to_state.state | int > trigger.from_state.state | int }}"
    action:
      - service: notify.mobile_app_your_phone
        data:
          title: "New Rodeo Events!"
          message: "{{ trigger.to_state.state }} events now available"

How It Works

  1. The integration scrapes event data from configured websites on a scheduled interval
  2. Events are filtered based on your selected states (WA, OR, ID)
  3. Finals/championship events are included regardless of location
  4. Filtered events are added to your Google Calendar via the calendar.create_event service
  5. Sensors are updated with current event information
  6. You can use sensors in automations and dashboards

Troubleshooting

Integration not showing up

  • Restart Home Assistant after installation
  • Check that custom_components/nwrodeo folder exists
  • Review Home Assistant logs for errors

Events not added to calendar

  • Ensure Google Calendar integration is configured
  • Verify the calendar entity exists and is selected
  • Check Home Assistant logs for calendar service errors

No events found

  • Verify target states are configured correctly
  • Check that event source websites are accessible
  • Enable debug logging to see scraper details

Enable Debug Logging

logger:
  default: info
  logs:
    custom_components.nwrodeo: debug

Support

License

GNU General Public License v3.0

Acknowledgments

Built for tracking Pacific Northwest rodeo events and seamlessly integrating with Home Assistant.

About

Scraping tool that continually reviews for additional rodeo events in the Pacific Northwest of the USA

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages