Queria uma maneira de acompanhar a flutuação de fundos de investimento que possuo e acabei tendo que fazer algo do zero já que é algo bastante específico. Não encontrei nenhuma API ou coisa parecida que fosse gratuita, então a solução foi usar a integração scrape. O único site que consegui extrair a informação que eu queria, que é o rendimento nos últimos 12 meses, foi o InfoMoney. Segue o código que utilizei:
scrape:
- resource: https://www.infomoney.com.br/fundos/western-asset-us-index-500-fim/
scan_interval: 3600
sensor:
- name: western-asset-us-index-500-fim
unique_id: western-asset-us-index-500-fim
select: ".funds-single tbody td"
index: 1
value_template: '{{ value.replace(" ", "").replace("%", "").replace(",", ".") }}'
Basta encontrar o link do fundo que quiser acompanhar e substituir, além do nome, claro. O intervalo pode ser até maior do que 1 hora, já que a atualização no site costuma ser diária.
O site possui várias informações interessantes sobre os fundos, então não é difícil adaptar para que o scrape encontre outros valores caso necessário.