Costco_Fuel_Checker/HomeAssistant
2024-11-09 22:11:33 +00:00
..
fetch_costco_prices.sh Added new version of the function, so there is a choice of grep or sed. Added a Home Assistant sensor setup config. 2024-11-09 22:11:33 +00:00
README.md Added new version of the function, so there is a choice of grep or sed. Added a Home Assistant sensor setup config. 2024-11-09 22:11:33 +00:00

Costco Fuel Price script for a Home Assistant sensor

Home Assistant configuration.yaml

To execute your shell script every 6 hours and expose the extracted fuel prices as sensors in Home Assistant, you'll follow these steps:

  1. Create the Shell Command in Home Assistant Ensure that the shell command integration is enabled in your Home Assistant configuration by adding this to configuration.yaml:
shell_command:
  fetch_costco_fuel_prices: /config/scripts/fetch_costco_prices.sh

Save your script as fetch_costco_prices.sh in the /config/scripts directory or modify the path accordingly.

  1. Add a Command-Line Sensor for Each Variable Use command-line sensors to expose the extracted values. Here's how you can do it in your configuration.yaml file:
sensor:
  - platform: command_line
    name: Costco Premium Diesel
    command: "bash /config/scripts/fetch_costco_prices.sh | jq -r '.premium_diesel'"
    scan_interval: 21600 # Every 6 hours
  - platform: command_line
    name: Costco Premium Unleaded
    command: "bash /config/scripts/fetch_costco_prices.sh | jq -r '.premium_unleaded'"
    scan_interval: 21600 # Every 6 hours
  - platform: command_line
    name: Costco Unleaded Petrol
    command: "bash /config/scripts/fetch_costco_prices.sh | jq -r '.unleaded'"
    scan_interval: 21600 # Every 6 hours

Here, scan_interval: 21600 sets the sensors to update every 6 hours (21600 seconds). The command extracts the respective JSON values from the script output using jq.

  1. Make Sure Dependencies Are Installed For this setup:

curl should already be installed on most systems. Ensure jq is installed (used to parse JSON output). On Debian-based systems, you can install it using:

sudo apt-get install jq
  1. Testing the Configuration Before restarting Home Assistant, validate your configuration:
ha core check

If no errors are shown, restart Home Assistant to apply the new configuration:

ha core restart

This configuration will execute the script every 6 hours to retrieve the latest fuel prices and expose them as sensors in Home Assistant. You can then use these sensors in automations, dashboards, or other components as needed.