sensor: - platform: rest name: FullUp token resource: https://api.fullup.be/auth/generate payload: !secret fullup_payload #fullup_payload: '{ "email" : "MonCourriel", "password" : "MonMDP", "language" : "fr" }' method: POST value_template: > {% if value_json.success == true %} OK {% else %} KO {% endif %} json_attributes: - result scan_interval: 86400 - platform: command_line command: > curl --header "Authorization: {{ state_attr('sensor.fullup_token', 'result')['type'] }} {{ state_attr('sensor.fullup_token', 'result')['token'] }}" --header "Content-Type: application/json" "https://api.fullup.be/tanks_public/[TANK ID]" # à obtenir en appelant une fois https://api.fullup.be/loginApi?email=[VOTRE EMAIL]&password;=[VOTRE MDP] name: FullUp scan_interval: 3600 value_template: > {% if value_json.success == true %} OK {% else %} KO {% endif %} json_attributes: - result - platform: template sensors: mazout: #entity_id: sensor.fullup, sensor.fullup_token friendly_name_template: "{{ state_attr('sensor.fullup', 'result')['tank_name'] }}" value_template: "{{ state_attr('sensor.fullup', 'result')['last_minimum_level'] }}" availability_template: "{{ not(is_state('sensor.fullup', 'KO')) }}" unit_of_measurement: L icon_template: > {% set val = (states('sensor.mazout') | int) -%} {% set quart = (state_attr('sensor.mazout','total') | int / 4) -%} {% if val >= (quart*3) -%} mdi:gauge-full {% elif val >= (quart*2) -%} mdi:gauge {% elif val >= (quart) -%} mdi:gauge-low {% else -%} mdi:gauge-empty {% endif -%} attribute_templates: date: "{{ state_attr('sensor.fullup', 'result')['last_measure_date'] | default(now()) | as_timestamp() | timestamp_local }}" total: "{{ state_attr('sensor.fullup', 'result')['tank_total_volume'] }}" #jours_restant: "{{ state_attr('sensor.fullup', 'result')['days_left'] }}" token_expire: "{{ state_attr('sensor.fullup_token', 'result')['token_expiration_date'] | as_timestamp() | timestamp_local }}"