Bon, j’ai fait un petit script pour aller lire ces données :
fichier « tarif_reglemente.py » (déposé dans config/scrypts_perso/)]
import requests
import csv
url = "https://www.data.gouv.fr/fr/datasets/r/f7303b3a-93c7-4242-813d-84919034c416"
P_SOUSCRITE = "12"
r = requests.get(url, stream = True)
cr = csv.reader(r.content.decode('utf-8').splitlines(), delimiter=';')
my_list = list(cr)
for row in my_list:
if row[1] == '' and row[2] == P_SOUSCRITE:
print('{"PART_FIXE_TTC": '+row[4].replace(",", "." )+',"PART_VARIABLE_HC_TTC": '+row[6].replace(",", "." )+',"PART_VARIABLE_HP_TTC": '+row[8].replace(",", "." )+'}')
r.close
La valeur de « P_SOUSCRITE » est à modifier en fonction de votre puissance souscrite.
Ensuite, on crée un sensor pour récupérer tout cela :
- platform: command_line
name: TarifReglemente
scan_interval: 86400
json_attributes:
- PART_FIXE_TTC
- PART_VARIABLE_HC_TTC
- PART_VARIABLE_HP_TTC
command: 'python3 /config/scrypts_perso/tarif_reglemente.py'
Et voilà !
Il ne reste plus qu’à créer des sensor sous forme de Template pour pouvoir exploiter ces nouveaux attributs :
- sensor:
- name: tarif_reglemente_part_fixe_ttc
unique_id: tarif_reglemente_part_fixe_ttc
unit_of_measurement: 'EUR/kWh'
state: "{{ state_attr('sensor.tarifreglemente', 'PART_FIXE_TTC') }}"
- sensor:
- name: tarif_reglemente_part_variable_hc_ttc
unique_id: tarif_reglemente_part_variable_hc_ttc
unit_of_measurement: 'EUR/kWh'
state: "{{ state_attr('sensor.tarifreglemente', 'PART_VARIABLE_HC_TTC') }}"
- sensor:
- name: tarif_reglemente_part_variable_hp_ttc
unique_id: tarif_reglemente_part_variable_hp_ttc
unit_of_measurement: 'EUR/kWh'
state: "{{ state_attr('sensor.tarifreglemente', 'PART_VARIABLE_HP_TTC') }}"