Use scrape to create a complex sensor

Hello guys,

I’m using the scrape integration to get info about an available update for my Synology.
The configuration is based ont this URL, which gives the release notes for my particular model:
https://www.synology.com/en-us/releaseNote/DSM?model=DS414j
The scrape configuration I’m using is the following:

- resource: https://www.synology.com/en-us/releaseNote/DSM?model=DS414j
    method: GET
    headers:
      User-Agent: Home Assistant
      Content-Type: application/x-www-form-urlencoded; charset=UTF-8
    scan_interval: 600
    sensor:
      - name: synology_dsm_version_available
        select: "#tab_7_1 > h3:nth-child(1)"
        unique_id: synology_dsm_version_available
        icon: mdi:web
        value_template: >-
          {{ value.split(":")[1] }}

This is giving me, today, a nice sensor containing the available release for my Synology Disk Station.
image

And I could be happy with that, but instead of doing some another sensors for the other parts of the page that I’m interested in, I’d like to have those additional information as attributes of the sensor, like:

date: 2023-02-06
new: Added support for E10G22-T1-Mini with an alternative source of hardware components.
fixed_issues: Fixed an issue where drives added to a RAID Group in a Synology High Availability cluster were not allocated correctly between RAID arrays.

Is it something that is achievable with scrape?

I’m not happy with the selector either, as for next main release (if any) I’ll have to come back and change the #tab_7_1 to something else and by that time, I’ll have forget everything I did.

I think you might want to look at:-