Intergration sonde Mazout Fullup

Bonjour,

Voulant monitorer ma cuve a mazout, j’ai fait l’acquisition d’une sonde sonde de marque Fullup. Fonctionne super bien au niveau de l’application.

Aujourd’hui, je voudrais l’intégrer a Home assistant, mais je trouve très peu d’information pour ce produit.
Je suis tomber sur ce lien.
et j’ai tester le code suivant dans mon fichier sensors.

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 }}"

Malheureusement, je me retrouve avec un paquets d’erreurs et cela fait plus d’une semaine que j’essaye de trouver une solution mais rien y fait.
Peux être que l’un d’entre possède se type de sonde ou n,pourrait m’aiguiller?

merci d’avance

Salut,

A mon avis, sans partager ce paquet d’erreur justement, tu ne risques pas d’avoir beaucoup d’aide. Sauf à trouver quelqu’un qui a la même sonde que toi et qui fait les tests comme toi

J’ai déjà pu nettoyer un peu, d’ailleurs j’ai modifier mon post avec le code actuel.

Maintenant je n’ai plus que cette erreur: UndefinedError: ‹ value_json › is undefined

Hello

apparemment il trouve pas les infos de ton fichier .json

Le truc c’est que je n’ai pas de fichier .json
Si j’ai bien compris le code, le « Value_json » devrait être les infos retourné par l’API de Fullup

Exact, mais c’est plus compliqué que ça, le .success est un élément de la réponse en json.
donc s’il n’en contient pas c’est un souci et ton code est KO
Essaye juste temporairement avec {{ value_json }} à la place du if complet

Alors j’arrive bien à me connecter pour extraire le token. Le sensor.fullup_token est OK.
Mais c’est le sensor.fullup qui est KO. si je remplace le IF de cette partie il me retourne:

{‹ success ›: False, ‹ errors ›: [{‹ message ›: ‹ You have been disconnected, please try to log in again ›, ‹ type ›: ‹ authentication ›}]}

J’ai bien récupérè le tank id et ajouté, mais rien y fait

Ca avance lol

Si je bien tous compris j’arrive à récupérè le token, mais il ne le met pas en cache afin de se connecter a la seconde adresse

voici le lien de l’api FULLUP API Manual - Fullup Public Technical Book

J’ai trouvé il fallait juste attendre les 3600 secondes :sweat_smile:
je vais faire un petit recap pour les prochains

1 « J'aime »

Super le récapitulatif
Même pour le montage voir si je suis capable de le faire seul merci

bonjour. J’utilise la sonde fullup mais via l’application Total. Quelqu’un a intégré cette sonde via le site total? Merci.