How hard would it be to create a web page watch sensor?

I want HA to notify me when EERO has a pending update.
They post the release notes to this page https://support.eero.com/hc/en-us/articles/209636523 so I figure if I watch the page somehow I would know when a new update is pending.

Eventually eero forces the update and it causes a brief outage so it would be nice to know in case I have important work to do and want to update before it decides to do it in the middle of my work effort.

Scrape sensor is your guy. I needed this for a webpage too, but unfortunately it didnt work for me. I am pretty sure it will work for you.

That looks interesting.
I was in the middle of trying to solve this myself when you posted.
I have a script which gets the latest version from the page so I am really close to a script based solution where I can make a sensor from the value hopefully.

I am using the following to grab the version.

 curl https://support.eero.com/hc/en-us/articles/209636523 | grep eeroOS:  | head -1 | sed -e 's/.*\(v[0-9]*[.][0-9]*[.][0-9]*[-][0-9]*\).*/\1/'

Now I am trying to use regex to grab just the version.

could just search for 'erosOS:' and '- Released' using while ignoring crap in between.

The python regex would be:

r'erosOS:\.(.*?)- Released'

The output would be a list of crap between those 2 words. Strip it, then split it and you got your versions (if you need to).

Working if anyone is interested here is how I produced my “EERO Release” sensor.

  - platform: command_line
    name: EERO Version
    command: "/home/homeassistant/.homeassistant/shell_scripts/eero_version_check.sh"
    json_attributes:
      - version
      - released
    value_template: '{{ value_json.version }}'
    scan_interval: 3600

the shell has the following command inside

curl -s https://support.eero.com/hc/en-us/articles/209636523 | grep eeroOS:  | head -1 | sed -e 's/.*\(v[0-9]*[.][0-9]*[.][0-9]*[-][0-9]*\).*\(Released\) \(.* 20[0-9]*\).*/{"version":"\1","released":"\3"}/'

Works like a charm. Sensor displays version and contains data for the released date as an attribute.

image