Facebook
From test, 2 Months ago, written in Plain Text.
Embed
Download Paste or View Raw
Hits: 183
  1. sensor:
  2.  
  3.   - platform: rest
  4.     name: FullUp token
  5.     resource: https://api.fullup.be/auth/generate
  6.     payload: !secret fullup_payload #fullup_payload: '{ "email" : "MonCourriel", "password" : "MonMDP", "language" : "fr" }'
  7.     method: POST
  8.     value_template: >
  9.       {% if value_json.success == true %}
  10.         OK
  11.       {% else %}
  12.         KO
  13.       {% endif %}  
  14.     json_attributes:
  15.       - result
  16.     scan_interval: 86400
  17.  
  18.   - platform: command_line
  19.     command: >
  20.       curl
  21.       --header "Authorization: {{ state_attr('sensor.fullup_token', 'result')['type'] }} {{ state_attr('sensor.fullup_token', 'result')['token'] }}"
  22.       --header "Content-Type: application/json"
  23.       "https://api.fullup.be/tanks_public/[TANK ID]" # à obtenir en appelant une fois https://api.fullup.be/loginApi?email=[VOTRE EMAIL]&password;=[VOTRE MDP]
  24.     name: FullUp
  25.     scan_interval: 3600
  26.     value_template: >
  27.       {% if value_json.success == true %}
  28.         OK
  29.       {% else %}
  30.         KO
  31.       {% endif %}
  32.     json_attributes:
  33.     - result
  34.  
  35.   - platform: template
  36.     sensors:
  37.       mazout:
  38.         #entity_id: sensor.fullup, sensor.fullup_token
  39.         friendly_name_template: "{{ state_attr('sensor.fullup', 'result')['tank_name'] }}"
  40.         value_template: "{{ state_attr('sensor.fullup', 'result')['last_minimum_level'] }}"
  41.         availability_template: "{{ not(is_state('sensor.fullup', 'KO')) }}"
  42.         unit_of_measurement: L
  43.         icon_template: >
  44.           {% set val = (states('sensor.mazout') | int) -%}
  45.           {% set quart = (state_attr('sensor.mazout','total') | int / 4) -%}
  46.           {% if val >= (quart*3) -%}
  47.             mdi:gauge-full
  48.           {% elif val >= (quart*2) -%}
  49.             mdi:gauge
  50.           {% elif val >= (quart) -%}
  51.             mdi:gauge-low
  52.           {% else -%}
  53.             mdi:gauge-empty
  54.           {% endif -%}
  55.         attribute_templates:
  56.           date: "{{ state_attr('sensor.fullup', 'result')['last_measure_date'] | default(now()) | as_timestamp() | timestamp_local }}"
  57.           total: "{{ state_attr('sensor.fullup', 'result')['tank_total_volume'] }}"
  58.           #jours_restant: "{{ state_attr('sensor.fullup', 'result')['days_left'] }}"
  59.           token_expire: "{{ state_attr('sensor.fullup_token', 'result')['token_expiration_date'] | as_timestamp() | timestamp_local }}"